Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПвИ / Конспект лекций.doc
Скачиваний:
224
Добавлен:
01.06.2015
Размер:
1.05 Mб
Скачать

Лекция 13. Введение в Web-сервисы Обзор Web-сервисов xml

Web-сервис XML — это компонент, реализующий некоторый алгоритм и предоставляющий определенную функциональность различным приложениям, которые получают к ней доступ по стандартным протоколам, таким как HTTP, XML и SOAP. Для обмена данными Web-сервисы используют сообщения в формате XML, что позволяет им взаимодействовать с самыми разными приложениями. Web-сервисы XML применяются для интеграции приложений, написанных на разных языках программирования и работающих на разных платформах. Они пригодны для развертывания и в Интернете, где они облегчают доступ к ресурсам организации, и в интрасетях для интеграции корпоративного ПО.

Важной особенностью модели вычислений, основанной на Web-сервисах XML, является то, что их клиентам не требуется знать язык, на котором написан Web-сервис; достаточно знать адрес Web-сервиса и методы, которые он поддерживает.

Простейший Web-сервис XML состоит из кода, реализующего некоторую функциональность, например расчет суммы налога на прибыль. Такому Web-сервису требуется клиентское приложение, предоставляющее входные данные (размер годовой прибыли, издержек и вычетов). Клиентское приложение способно вызывать метод этого сервиса, передавая ему необходимые данные как аргументы. Вызов вместе с аргументами в формате XML передается Web-сервису через HTTP-канал с использованием протокола SOAP. Возможно использование Web-сервисов XML для интеграции приложений: с помощью такого сервиса можно наделить приложение для формирования платежных ведомостей, написанное на одном языке (скажем, на COBOL), способностью пересылать данные компоненту, написанному на другом языке (допустим, на Visual Basic).

Инфраструктура Web-сервисов xml

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

  • каталоги — являются централизованным хранилищем сведений о опубликованных Web-сервисах XML. Эти каталоги сами могут быть Web-сервисами XML, которые обеспечивают поддержку программного поиска сведений о других Web-сервисах. Спецификации UDDI (Universal Description, Discovery, and Integration) определяют правила публикации сведений о Web-сервисах XML. Схемы XML, связанные с UDDI,определяют данные, которые необходимо опубликовать, чтобы сделать Web-сервис общедоступным: бизнес-информация, описание сервиса, сведения о привязках и спецификация сервиса. Подобный сервис-каталог есть у Microsoft по, адресу http://uddi.microsoft.com;

  • обнаружение — механизм, при помощи которого клиенты находят документы с описанием Web-сервиса XML на языке WSDL; позволяет клиентам узнать о наличии Web-сервиса и определить его адрес;

  • описание — позволяет узнать, как работать с Web-сервисом XML. Это XML-документ, который определяет формат сообщений, «понятный» Web-сервису; может содержать описание схемы сообщений SOAP, применяемых для вызова методов Web-сервиса XML;

  • форматы для передачи данных — для взаимодействия с разнородными системами Web-сервисы XML передают данные в одном из открытых форматов. Открытый формат — это протокол, «понятный» любой системе, поддерживающей принятые в Web стандарты, такие как HTTP и SOAP. Так, HTTP-GET и HTTP-POST являются стандартными Web-протоколами, позволяющими пересылать параметры в виде пар «имя — значение». Протокол HTTP-GET позволяет передавать Web-сервисам параметры в URL-кодировке, то есть в виде пар «имя — значение»; HTTP-GET требует добавлять эти пары к URL Web-сервиса. Протокол HTTP-POST позволяет делать то же самое, но передает параметры в сообщении запроса, не включая их в URL Web-сервиса. Протокол SOAP позволяет приложениям обмениваться структурированной и типизированной информацией через Интернет и состоит из четырех частей. Первая (обязательная) определяет конверт (envelope), в который помещается сообщение. Конверт SOAP — основная единица обмена данными между обработчиками сообщений SOAP. Вторая часть определяет необязательные правила кодирования типов данных, специфичных для приложения. Третья часть определяет правила запроса и отклика при обмене сообщениями между Web-сервисами XML. Четвертая часть, также необязательная, определяет привязки протоколов между SOAP и HTTP.

Чтобы найти Web-сервис XML, клиент вызывает службу UDDI, которая возвращает ему URL документа, позволяющего обнаружить искомый Web-сервис, или документ обнаружения (discovery document). Этот документ представляет собой файл с расширением .disco и содержит ссылку на ресурсы с описанием Web-сервиса XML, необходимые для программного обнаружения Web-сервиса. Получив URL .disco-файла, клиент запрашивает его у сервера, а тот возвращает его клиенту.

Пример содержимого .disco-файла:

XML

<? xml version="1.0" ?>

<disco:discovery xmlns:disco=http://schemas.xmlsoap.org/disco

xmlns:wsdl="http://schemas.xmlsoap.org/disco/wsdl">

<wsdl:contractRef ref="http://www.contoso.com/MyWebService.asmx?WSDL"/>

</disco:discovery>

Клиент использует информацию из документа обнаружения для запроса у сервера описания Web-сервиса XML. Оно представляет собой .wsdl-файл и позволяет клиенту взаимодействовать с Web-сервисом XML.

Соседние файлы в папке ПвИ