Взаимоотношение между UDDI и WSDL

Спецификация UDDI определяет способ публикации и поиска информации о Web-службах. В UDDI имеется две функции: (1) протокол на базе SOAP, определяющих способ общения клиентов UDDI с реестрами, и (2) определенный набор глобально воссоздаваемых реестров.

Регистрация службы состоит из четырех основных типов структуры данных:

Дополнительная информация о типах данных UDDI приведена в соответствующих разделах, указанных в конце данного раздела.

Язык описания Web-служб (WSDL) является стандартной спецификацией на базе XML для описания Web-служб. WSDL задает формат XML для описания сетевых служб в виде набора конечных точек, работающих с сообщениями, содержащими сведения о документе или процедуре.

Описание служб WSDL можно структурировать различными способами. Однако для помощи в публикации и поиске описаний службы WSDL в реестре UDDI документы WSDL состоят из двух основных частей:

При создании Web-службы на основе Javabean и EJB в среде выполнения Apache Axis создается один документ WSDL. Документ WSDL содержит интерфейс службы и документы реализации.

Служебный интерфейс описан в документе WSDL, содержащем элементы типов, импорта, сообщений, portType и привязки. Интерфейс службы содержит определение службы WSDL, используемое для реализации одной или нескольких служб. Это абстрактное определение Web-службы, используемое для описания определенных типов службы. Этот документ также может указывать на другой документ интерфейса службы с помощью элемента import. Инструменты Web-служб в данном продукте создают документ интерфейса службы, содержащий только элементы message и portType, указываемые документов привязки, содержащим только привязки для portType.

Документ реализации службы содержит служебные элементы. Документ реализации службы содержит описание службы, реализующей интерфейс службы. В определении должен быть по крайней мере один элемент импорта со ссылкой на определение интерфейса службы WSDL. Единственное исключение из этого правила составляют монолитные службы WSDL, создаваемые с помощью среды выполнения Axis и содержащие элементов импорта. Документ реализации службы может содержать указатели на несколько документов интерфейса службы.

Поставщик служб является хостом для Web-службы и является доступным с помощью таких протоколов, как SOAP/HTTP и SOAP/JMS. Web- служба описывается документами WSDL и хранится на сервере поставщика или в специальном хранилище. Документы WSDL указываются бизнес-службами UDDI (служебными документами) и tModels (документами привязки). Эти указатели поддерживают поиск Web-служб с помощью клиента служб.

Рисунок 1. Взаимоотношение между UDDI и WSDL.

Иллюстрация взаимоотношения между UDDI и WSDL.

На рисунке 1 показаны взаимоотношения между UDDI и WSDL. Элемент службы WSDL указывает на элемент привязки WSDL. URL документа, содержащего элемент привязки WSDL, публикуется в бизнес-реестре UDDI в качестве tModel. URL документа, содержащего элемент службы WSDL, публикуется в бизнес-реестре в качестве businessService и содержит информацию о bindingTemplate. Дополнительные сведения о типах структуры данных реестра UDDI приведены в соответствующем разделе, указанном в конце этого документа. Учтите, что часть диаграммы, относящаяся к импорту, не обязательна и зависит от среды выполнения. В частности, у монолитных служб WSDL, создаваемых с помощью среды выполнения Axis, нет элементов импорта.

Реализация служб описывает экземпляр службы. Экземпляр определяется с помощью элемента службы WSDL. Элемент службы в документе реализации службы используется для публикации UDDI businessService. При публикации описания службы WSDL интерфейс службы должен быть опубликован в виде tModel перед публикацией службы в виде businessService.

Реализация службы публикуется в реестре UDDI как часть businessService с одним или несколькими элементами bindingTemplate. BusinessService публикуется поставщиком служб. Новая businessService создается для элемента службы, заданного в документе реализации службы. Новый элемент bindingTemplate создается в businessService для каждого элемента port, заданного в элементе service.

Дополнительная информация о взаимоотношении между WSDL и UDDI приведена в разделе uddi.org/bestpractices.html.