Веб-службы - Архитектура
Есть два способа просмотреть архитектуру веб-сервиса:
- Первый - изучить индивидуальные роли каждого участника веб-службы.
- Второй - изучить формирующийся стек протоколов веб-сервисов.
Роли веб-сервисов
В архитектуре веб-сервисов есть три основные роли:
Поставщик услуг
Это провайдер веб-службы. Поставщик услуг реализует услугу и делает ее доступной в Интернете.
Запрос на обслуживание
Это любой потребитель веб-службы. Запрашивающая сторона использует существующую веб-службу, открывая сетевое соединение и отправляя XML-запрос.
Реестр услуг
Это логически централизованный каталог услуг. Реестр представляет собой центральное место, где разработчики могут публиковать новые службы или находить существующие. Таким образом, он служит централизованной расчетной палатой для компаний и их услуг.
Стек протоколов веб-служб
Второй вариант просмотра архитектуры веб-сервисов - это изучить формирующийся стек протоколов веб-сервисов. Стек все еще развивается, но в настоящее время состоит из четырех основных слоев.
Сервисный транспорт
Этот уровень отвечает за транспортировку сообщений между приложениями. В настоящее время этот уровень включает протокол передачи гипертекста (HTTP), простой протокол передачи почты (SMTP), протокол передачи файлов (FTP) и более новые протоколы, такие как протокол расширяемого обмена блоками (BEEP).
Обмен сообщениями XML
Этот уровень отвечает за кодирование сообщений в общем формате XML, чтобы сообщения можно было понять с любой стороны. В настоящее время этот уровень включает XML-RPC и SOAP.
Описание услуг
Этот уровень отвечает за описание открытого интерфейса конкретной веб-службы. В настоящее время описание службы обрабатывается с помощью языка описания веб-службы (WSDL).
Обнаружение услуг
Этот уровень отвечает за централизацию служб в общем реестре и обеспечивает простую функциональность публикации / поиска. В настоящее время обнаружение служб осуществляется через универсальное описание, обнаружение и интеграцию (UDDI).
По мере развития веб-сервисов могут быть добавлены дополнительные уровни и к каждому уровню могут быть добавлены дополнительные технологии.
В следующей главе объясняются компоненты веб-сервисов.
Несколько слов о служебном транспорте
Нижняя часть стека протоколов веб-служб - это транспортная служба. Этот уровень отвечает за фактическую передачу сообщений XML между двумя компьютерами.
Протокол передачи гипертекста (HTTP)
В настоящее время HTTP - самый популярный вариант для служебного транспорта. HTTP прост, стабилен и широко используется. Более того, большинство брандмауэров разрешают HTTP-трафик. Это позволяет сообщениям XMLRPC или SOAP маскироваться под сообщения HTTP. Это хорошо, если вы хотите интегрировать удаленные приложения, но это вызывает ряд проблем с безопасностью, в том числе ряд проблем с безопасностью.
Блокирует расширяемый протокол обмена (BEEP)
Это многообещающая альтернатива HTTP. BEEP - это новая структура инженерной группы Интернета (IETF) для создания новых протоколов. BEEP наложен непосредственно на TCP и включает ряд встроенных функций, включая протокол начального установления связи, аутентификацию, безопасность и обработку ошибок. Используя BEEP, можно создавать новые протоколы для множества приложений, включая обмен мгновенными сообщениями, передачу файлов, распространение контента и управление сетью.
SOAP не привязан к какому-либо конкретному транспортному протоколу. Фактически, вы можете использовать SOAP через HTTP, SMTP или FTP. Поэтому одна многообещающая идея - использовать SOAP вместо BEEP.