Стандарты Web-служб

Одна из главных особенностей стандартов Internet заключается в том, что они сфокусированы на протоколах, а не на конкретных реализациях. Стандартизация протоколов позволяет самым различным технологиям, применяющимся в Internet, успешно взаимодействовать между собой, а самой сети Internet - оставаться открытой системой, не зависящей ни от одного отдельно взятого разработчика. Важнейшую роль в обеспечении совместимости различных реализаций стандартов играют разработчики программного обеспечения с открытым кодом.

При разработке Web-служб наиболее активно используются следующие стандарты: UDDI (Universal Description, Discovery and Integration, универсальный язык описания, поиска и интеграции), WSDL (Web Services Description Language, язык описания Web-служб), WSIL (Web Services Inspection Language, язык инспектирования Web-служб) и WS-I (Web Services Interoperability, стандарт взаимодействия Web-служб). Взаимосвязь между этими стандартами проиллюстрирована на рис. 2.

UDDI - это открытый и независимый от платформ стандарт публикации описаний Web-служб в глобальных реестрах, поиска Web-служб в этих реестрах и определения способов взаимодействия между службами в сети Internet. Дополнительные сведения о стандарте UDDI приведены на сайте www.uddi.org

Стандарт WSIL построен на основе XML. Он представляет собой модель распределенного поиска информации о службах в точках предложения поставщиков служб. Для организации такого поиска поставщики служб документируют способ поиска предоставляемых ими служб. В документах WSIL хранится информация о том, в каких областях сайта следует искать описания Web-служб. Поскольку в стандарте WSIL применяется механизм распределенного поиска, этот стандарт расширяет возможности UDDI, позволяя находить на сайтах информацию о службах, которых нет в реестре UDDI. Дополнительная информация о взаимодействии этих стандартов приведена в разделе Взаимосвязь UDDI и WSIL.  Дополнительные сведения о стандарте WSIL можно найти на странице www.ibm.com/developerworks/webservices/library/ws-wsilspec.html.

Язык WSDL применяется для описания интерфейсов и экземпляров Web-служб на основе XML. Это расширяемый язык, позволяющий описывать службы как конечные точки обработки сообщений. Эти конечные точки не зависят от конкретных форматов сообщений и сетевых протоколов, применяемых для передачи данных. Документы WSDL позволяют разработчикам публиковать информацию о своих службах по протоколам UDDI и WSIL, а также путем массовой адресов служб в документы WSDL по электронной почте или через Internet. В этой документации языку WSDL посвящен отдельный раздел. Дополнительные сведения о языке WSDL можно найти на сайте www.w3.org/TR/wsdl.

SOAP - это основанный на XML стандарт передачи сообщений по протоколу HTTP и другим протоколам сети Internet. Это очень простой протокол, применяемый для организации обмена данными в децентрализованной распределенной среде. Он основан на XML и состоит из трех частей: Протокол SOAP позволяет организовать привязку обнаруженных Web-служб и работу с ними путем определения путей для маршрутизации сообщений. Протокол SOAP может применяться для передачи запросов UDDI при поиске Web-служб. Дополнительные сведения о SOAP 1.1 (протокол SOAP 1.2 не поддерживается инструментами для работы с Web-службами) можно найти на сайте www.w3.org/TR/SOAP.

Рисунок 2. Взаимосвязь между SOAP, UDDI, WSIL и WSDL.

Рисунок 2 иллюстрирует взаимосвязь между SOAP, UDDI, WSIL
и WSDL.

Службы хранятся в поставщике служб, который обеспечивает доступ к ним по протоколам SOAP/HTTP и SOAP/JMS. Документы WSDL с описанием Web-служб хранятся на сервере поставщика служб или в специальном реестре. Ссылки на документы WSDL могут храниться как в реестре UDDI, так и в документах WSIL. Эти ссылки указывают на файлы WSDL с описаниями Web-служб.

В документах WS-I Simple SOAP Binding Profile и WS-I Attachments Profile изложены основные требования, предъявляемые к документам WSDL и потокам данных SOAP/HTTP для соответствия спецификациям WS-I. Средства проверки Web-служб на соответствие стандарту WS-I в настоящее время поддерживают профайлы WS-I Simple SOAP Binding Profile 1.0 и Attachment Profile 1.0. Для просмотра спецификаций откройте главную страницу сайта WS-I, перейдите в раздел Resources и выберите пункт Documentation: http://www.ws-i.org.

Кроме того, средства разработки Rational® Developer поддерживают несколько новых стандартов Web-служб, а именно:
JAX-RPC
JAX-RPC означает Java™ API для RPC на базе XML, также называется JSR 101. Это спецификация, описывающая API Java и соглашения для компоновки Web-служб и клиентов Web-служб, использующих удаленные вызовы процедур (RPC) и XML. Спецификация представляет собой стандарт привязки Java к WSDL и WSDL к Java и содержит базовые API для разработки и развертывания Web-служб и их клиентов на платформе Java. Дополнительные сведения приведены в официальных спецификациях.
JSR-109 и JSR-921
В стандартах JSR-109 и JSR-921 (реализация Web-служб J2EE) определены модель программирования и архитектура выполнения Web-служб в среде J2EE, и в частности контейнеры Web, EJB и Client Application. При разработке этих стандартов в первую очередь ставилась цель обеспечить совместимость различных реализаций данной среды. Дополнительные сведения можно найти в официальных описаниях стандартов:
WS-S
Эти инструменты поддерживают стандарт OASIS Web Services Security 1.0. Дополнительные сведения о компонентах этого стандарта приведены в следующих документах:

Инструменты для работы с Web-службами поддерживают следующие спецификации:

Технология или спецификация Поддерживаемая версия
Транспортные протоколы
HTTP/HTTPS 1.0 и 1.1
JMS  
Сообщения
Спецификация SOAP 1.1
Вложения SOAP  
Описание
UDDI 2.0
WSDL 1.1
WSIL 1.0
Защита
WS-Security OASIS Standard 1.0
Взаимодействие
WS-I Basic Profile 1.1.2
WS-I Simple SOAP Binding Profile 1.0.3
WS-I Attachments Profile 1.0
Прочие стандарты  
JAX-RPC 1.0 для J2EE 1.3, 1.1 для J2EE 1.4
JSR 109 J2EE 1.3
JSR 921 J2EE 1.4