|
Технология Клиент-Сервер 2004'2
|
|
Universal Description, Discovery and Integration (UDDI)
Автор: Александр Цимбал
UDDI, продукт разработки компаний Ariba, IBM, Intel, Microsoft и SAP, является набором спецификаций, позволяющих компаниям публиковать информацию о себе, своих Web-службах и интерфейсах с целью организации связи с этими службами. Вопросами стандартизации UDDI (Universal Description, Discovery and Integration) как комплекса технологий занимается комитет в составе консорциума OASIS. Материалы, относящиеся к спецификациям, можно найти на сайте www.uddi.org. Основными являются следующие две спецификации:
- Собственно спецификация UDDI – в настоящий момент версия 3.0, которая состоит из нескольких документов, включая набор XML Schema для различных аспектов UDDI, WSDL-описания.
- Спецификация Schema Centric XML Canonicalization, Version 1.0. Назначение этой спецификации – предоставить некие подходы, обеспечивающие более универсальную трактовку XML-документов по сравнению с тем, что сейчас существует на практике. Отличия связаны с использованием как DTD, так и XML Schema, различным толкованием префиксов для пространств имен, наличием необязательных элементов и др.
Общий размер документов достаточно велик, и здесь мы рассмотрим только концептуальные основы UDDI. Связано это с тем, что использовать UDDI API прикладному программисту, а тем более Java-программисту, приходится достаточно редко, так как существуют API более высокого уровня, которые существенно упрощают работу.
Роль UDDI в Web-сервисах
Любая распределенная система должна обеспечивать универсальные (в рамках этой системы) средства поиска ресурсов и доступа к ним. Web-сервисы просто обязаны обеспечивать очень развитые соответствующие средства, как из-за глобального характера WWW и огромного (потенциально) количества доступных ресурсов, так и потому, что Web-сервисы не занимаются вопросами реализаций серверных приложений, а только вопросами поиска и обеспечения связи.
Разумеется, различные технологии (та же CORBA, например) предлагают свои собственные решения. Можно условно разделить предлагаемые в распределенной системе подходы на две группы:
- Поиск ресурса по «ключу», в качестве которого обычно используется уникальное имя. Этот подход характерен для так называемых Служб Имен. Главной особенностью, достоинством и одновременно недостатком такого подхода является то, что клиент, который желает получить доступ к ресурсу, должен знать это уникальное имя (его выбирает автор серверного приложения, точнее, тот, кто публикует доступную функциональность в интересах будущих клиентов). По такому принципу организована та информация в телефонных справочниках, которая во многих странах печатается на белой бумаге.
- Поиск ресурса с помощью запроса, который позволяет явно задать те или параметры из множества параметров, описывающих данный ресурс. Это похоже на выборку набора записей из SQL-БД с помощью оператора SELECT. В телефонных справочниках информация такого плана печатается на желтых страницах. Подразумевается, что тот, кто ответствен за публикацию ресурса, создает для него некий метатип (аналог структуры таблицы в реляционных базах данных), а конкретный ресурс аналогичен отдельной записи в этой таблице.
Основой системы обеспечения доступа к информации (при любом из описанных выше подходов) являются базы данных (БД), используемые на этапе функционирования приложений, в которых и хранится соответствующая информация. Очень часто такие БД называются репозитариями. Вид хранимых в репозитариях данных зависит от того, к каким ресурсам предоставляется доступ. Например, для CORBA таким ресурсом являются объектные ссылки. Нетрудно понять, что для Web-сервисов в репозитариях должна находиться информация, аналогичная той, которая присутствует в WSDL-описаниях Web-сервисов (в той части, которая касается чисто технических аспектов).
Поскольку UDDI позволяет получить доступ к информации с использованием обоих основных подходов, то помимо «WSDL-информации» в репозитарий можно поместить и некоторые дополнительные данные – например, область применения Web-сервиса, автора реализации, название компании и т.д.
Структуру и правила использования UDDI будет достаточно просто понять тем читателям, которые знакомы с принципами организации и функционирования Репозитариев Интерфейсов (Interface Repository) и Трэйдинг-Сервиса в CORBA.
Основные принципы таковы:
- Репозитарии UDDI доступны с использованием средств Web-сервисов, а их реализации являются серверами Web-сервисов.
- Поскольку информация, хранящаяся в Репозитариях, описывает различные аспекты прикладных Web-сервисов, то для работы с этой информацией используются различные интерфейсы, т.е. мета-типы. Например, можно различить бизнес-информацию (область применения, назначение, владелец, правила использования) и информацию «технического» уровня – например, конкретный адрес реализации Web-сервиса, используемый транспортный протокол и т.д..
- Основой сервера, реализующего функциональность UDDI, являются логические «объекты», которые можно трактовать как «экземпляры» различных мета-типов. На практике – это реализации Web-сервисов, созданные для работы с информацией того или иного вида – например, с бизнес-информацией.
- Вся информация представлена в виде XML-документов.
UDDI предназначен для решения следующих основных задач:
- Обеспечение поиска реализаций Web-сервисов по определениям их интерфейсов;
- Обеспечение поиска поставщиков Web-сервисов с использованием различных схем их классификации и идентификации;
- Определение параметров данного Web-сервиса, например, используемого им транспортного протокола;
- Обеспечение поиска Web-сервисов в стиле Службы Имен, т.е. по уникальным именам;
- Оптимизация доступа к информации в реестрах, включая ее кеширование и обновление.
....
Заключение
UDDI является одним из важнейших элементов технологии Web-сервисов, принимая во внимание их глобальный характер. Структура его API позволяет предоставить потенциальным пользователям сервиса удобный доступ как с точки зрения получения описания сервиса (и связанных с ним сервисов), так и для получения конкретных «координат» и описаний, позволяющих как человеку, так и программе обратиться к нужной функциональности.
"С полным содержанием данной статьи можно ознакомиться в печатной версии журнала"
Copyright © 1994-2016 ООО "К-Пресс"