WEB-СЕРВИСЫ

Web-сервисы представляют собой выделенные в самостоятельный элемент слабосвязанные сжатые функции, предлагаемые по стандартным протоколам. Здесь характеристика «слабосвязанные» означает, что изменение одной функции не требует изменения других, вызывающих ее функций. Условно говоря, wcb-сервисами называют приложения, которые могут быть опубликованы, обнаружены и запущены с помощью Интернета. Для выполнения своих задач одни wcb-сервисы могут использовать другие wcb-сервисы.

Web-сервисы состоят из трех основных компонентов (рис. П.4.1):

  • 1) сервисного агента, играющего роль поисковой службы между поставщиком и инициатором сервисного запроса;
  • 2) поставщика сервиса, который публикует свои сервисы для сервисного агента;
  • 3) инициатора сервисного запроса, который запрашивает у сервисного агента информацию о том, где найти подходящего поставщика сервисов, а затем связывается с этим поставщиком.
П.4.1. Структура web-сервиса

Рис. П.4.1. Структура web-сервиса

Общепризнанным форматом хранения структурированных данных и обмена данными между программами признан расширяемый язык разметки {extensible Markur Language — XML). Он является фундаментальным конструктивным элементом практически всех остальных уровней, используемых при создании и>е?-сервисов. Вместе эти уровни образуют так называемый стек wc^-сервисов, графическое представление которого приведено на рис. П4.2. Коротко остановимся на характеристике каждого элемента отмеченного стека.

SOAP. Протокол доступа к простым объектам {Simple Object Access Protocol — SOAP) является надстройкой над сетевым протоколом. Он определен независимо от базового протокола и абсолютно независим от среды выполнения. ^ОЛР-сообщение представляет собой XML- документ, состоящий из трех составляющих:

  • 1) конверта, в который вложены остальные элементы (обязательная составляющая);
  • 2) заголовка, который представляет информацию о самом сообщении, адресуемую тем узлам, через которые проходит SOAP-сообщение (необязательная составляющая);
  • 3) тело сообщения, в него могут быть вложены любые элементы, определяющие информацию сообщения, которая адресуется приложению, выполняющему функцию web-сервиса (необязательная составляющая).
П.4.2. Стек web-сервисов

Рис. П.4.2. Стек web-сервисов

WSDL. Язык определения we^-сервисов (Web Services Description Language — WSDL) описывает сетевые сервисы с помощью грамматики XML. В то время как SOAP определяет взаимодействия между инициатором и поставщикомзапроса, WSDL описывает сервисы, предлагаемые поставщиком запросов в «конечной точке». Эти описания могут использоваться как средство создания доступа к сервисам. Будучи восприняты распределенной системой, эти описания дают приложениям возможность взаимодействовать друг с другом в автоматическом режиме. Заметим, что хотя в контексте ^-сервисов WSDL используется для описания того, как создавать ^-запросы, следует учитывать, что этот протокол под держивает и другие типы соединений.

UDDI. Универсальная интеграция поиска описаний (Universal Discovery Description and Integration — UDDI) представляет собой стандарт, разработанный для создания пригодного к поиску каталога предприятий и предоставляемых ими we^-сервисов. Он является чем-то вроде сервисного агента, который помогает инициаторам сервисных запросов находить подходящих поставщиков сервисов. В отношении многих аспектов UDDI проектируется как телефонная книга, в которой предусмотрена поддержка следующих типов данных:

  • желтые страницы: с их помощью можно выполнять поиски предприятий, которые предлагают сервисы для определенной отрасли, категории продуктов или географической территории;
  • белые страницы, тут указывается информация о поставщиках сервисов, включая адрес, контактные данные и известные идентификаторы;
  • зеленые страницы: здесь сконцентрирована техническая информация о ^-сервисах, которая опубликована поставщиком сервисов (например, сведения о том, как взаимодействовать с н^б-сервисом).

Чтобы получить доступ к UDDI-сервисам, каталог UDDI предлагает набор программных интерфейсов API, в виде созданных на основе SOAP web-сервисов. Эти интерфейсы поделены на две логические части: интерфейс API для запросов, интерфейс АР/ для публикаций.

В свою очередь, интерфейс API для запросов включает также две составляющие: первая используется для создания программ, позволяющих осуществлять поиск информации в реестре UDDI, а вторая — для локализации и устранения возможных сбоев.

Основным компонентом UDDI является система описания регистрации предприятий, в которой для описания бизнес-единицы и ее we^-сервисов используется АЖР-файл. Для регистрации и обнаружения we^-сервисов спецификация определяет использующий SOAP протокол программирования. Используя поисковые сервисы UDDI, поставщики самостоятельно регистрируют информацию о web-сервисах, которые они выставляют для использования другими предприятиями. Эта информация может быть добавлена к реестру предприятий UDDI либо через we^-сайт, либо с помощью инструментария, использующего интерфейсы программных сервисов, которые описаны в спецификации программирования/4/Y для UDDI.

Учитывая приведенные описания стандартов SOAP, WSDL и UDDI, схема взаимодействия между компонентами ^-сервисов может быть описана последовательностью следующих шагов (рис. П4.3).

Поставщик wc^-сервиса описывает его в документе WSDL и публикует последний в UDDI у сервисного агента, используя регистрацию с помощью/4/Y для публикаций (созданного на основе SOAP).

Инициатор сервисного запроса использует API интерфейс запроса UDDI к сервисному агенту для поиска соответствующей регистрационной информации о подходящем поставщике сервисов. Если поставщик найден, можно выполнить поиск элемента, указывающего на данный документ WSDL.

П.4.3. Отношения между компонентами web-сервиса

Рис. П.4.3. Отношения между компонентами web-сервиса

SOAP-запрос от инициатора сервисного запроса к поставщику сервисов будет создан в соответствии с этим документом WSDL.

Этот бШР-запрос будет отправлен поставщику сервисов, а полученный ответ будет обработан инициатором сервисного запроса.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >