2.3 Взаимодействие клиентов и Web-сервисов
Как ранее говорилось, стандарты Web-сервисов состоят из трех основных частей: WSDL, UDDI и SOAP. Их применение показано на рисунке 2.2:

Рисунок
2.2
Взаимодействие
составных частей технологии Web-сервисов
Как
видно из рисунка, кроме сервиса и его
клиента в процессе применения Web-сервисов
участвует каталог. Ранее упоминалось,
что каталог
это некоторое общедоступное хранилище
описаний Web-сервисов. Каталоги
поддерживаются фирмами и организациями,
добровольно взявшими на себя эту функцию.
Наиболее развитыми и общеизвестными
являются каталоги фирм IBM и Microsoft.
Разработчик, желающий сделать свой
сервис общедоступным, составляет
описание своего сервиса на языке WSDL.
Это описание он помещает в каталог
(публикует). Взаимодействие владельца
сервиса с реестром происходит в
соответствии со стандартом UDDI. Клиент,
также используя UDDI, запрашивает в
каталоге поиск Web-сервисов с нужными
ему функциями и получает описания
Web-сервисов, удовлетворяющие параметрам
его запроса. Выбрав подходящий для него
Web-сервис, клиент обращается к нему по
протоколу SOAP. Web-сервис выполняет
запрошенную клиентом функцию и отправляет
результат клиенту, также применяя SOAP.
Стоит отметить, что каталог не является обязательным компонентом применения Web-сервисов: если клиенту известно описание сервиса и его адрес, он может обращаться к сервису без взаимодействия с каталогом; также и публикация в каталоге не является обязательной для сервиса, если он дает знать о себе своим клиентам каким-то иным способом. [4]
При использовании Web-сервиса происходит передача данных его методов по сети с помощью протоколов. Для того чтобы клиентское приложение могло правильно обмениваться информацией с методами Web-сервиса, оно должно выполнить следующие четыре действия:
-
Проверить существование Web-сервиса. Поставщиков Web-сервиса с определенными функциональными возможностями можно найти в каталоге, таком как каталог сервисов UDDI. В этом каталоге имеются URL-адреса веб-сайтов поставщиков служб.
-
Обнаружить Web-сервиса. При наличии URL-адреса поставщика выполняется обнаружение Web-сервиса, чтобы получить конкретные сведения о каждой Web-сервисе, доступной по этому URL-адресу. Информация о каждом Web-сервисе возвращается клиенту в виде описания службы — документа XML, в котором она описана на языке WSDL. Описание Web-сервиса четко определяет способ взаимодействия с ней.
-
Получив описание Web-сервиса, создать прокси-класс, способный взаимодействовать с ее методами на основании точного определения в ее описании.
-
Создать клиентское приложение, вызывающее методы прокси-класса. Методы прокси-класса могут взаимодействовать с методами Web-сервиса через Интернет с помощью стандартных для отрасли протоколов.
Обнаружив существование Web-сервиса с помощью обнаружения Web-сервисов, можно просмотреть информацию об этой службе и реализуемых в ней методах в формате, более наглядном, чем описание службы. [5]
Web-сервисы могут использоваться множеством различных клиентских приложений. Взаимодействовать с Web-сервисом может любое веб-приложение, даже другой Web-сервис. Клиент Web-сервиса — это не обязательно клиентское приложение: на практике многие клиенты являются серверными приложениями, такими как веб-формы и другие Web-сервисы.
СПИСОК ЛИТЕРАТУРЫ
[1] Шилдт, Г. C# 4.0: Полное руководство / Г. Шилдт. – М. : ООО Издательский дом Вильямс, 2011. – 1056 с.
[2] Троелсен ,Э. Язык программирования C# 2010 и платформа .NET 4 5-е издание / Э. Троелсен – М.: ООО Издательский дом Вильямс, 2011. – 1392с
[3] Нейгель, К. C# 4.0 и платформа .NET4 для профессионалов / К. Нейгель [и др.]: ООО Издательский дом Вильямс, 2011. – 1440с.
[4] Шорт С. Разработка XML Web-сервисов средствами Microsoft.NET / С. Шорт [и др.]: OOO БХВ-Петербург, 2003г – 480с.
[5] Библиотека MSDN [Электронный ресурс]. – Электронные данные. – Режим доступа: http://msdn.microsoft.com/.
