Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпорченя_ВСиСТ лаб 4.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
415 Кб
Скачать
☆

1.4.3.2.4 Веб-сервисы

Большинство людей знакомо с доступом во всемирную паутину через веб-браузеры, которые обеспечивают ориентируемый на пользователя интерфейс к информации (веб-страницам) и к ориентированным на человека сервисам типа сетевых аукционов и розничных продаж (интернет-магазинам). Когда пользователь запрашивает веб-страницу, запрос обрабатывается удаленным веб-сервером, который возвращает информацию на языке разметки гипертекста (HTML). Это позволяет браузеру представить ее используя соответствующие шрифты, цвета и изображения, все то, что делает восприятие человеком этой информации более простым и удобным.

Веб-сервисы (или веб-службы) – это распределенные программные компоненты, идентифицируемые своим сетевым адресом, интерфейс которых описан на специальном «диалекте» языка XML (eXtensible Markup Language), а именно WSDL (Web Service Description Language). Другие программные системы могут взаимодействовать с веб-сервисами согласно этому описанию посредством сообщений, основанных на другом «диалекте» XML - SOAP, и передаваемых с помощью интернет-протоколов (обзор технологий веб-сервисов можно найти, например, в [5]). В интернет-магазинах, например, веб-сервисы, которые могут быть реализованы на географически далеко удаленных друг от друга серверах, могут обеспечивать ведение счетов, контроль наличия товаров на складе, составление «корзины» покупателя и службу авторизации кредитной карты. Каждая из этих функций может быть многократно вызвана в ходе одной покупки.

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

Ключевыми спецификациями, используемыми веб-сервисами являются:

XML - язык разметки для того, чтобы обмениваться структурированными данными; SOAP – основанный на XML протокол для спецификации содержания сообщений, служебной «обертывающей» информации («конверт сообщения») и информации ,

необходимой для правильной обработки сообщений;

WSDL (Web Services Description Language - язык описания веб-сервис) –

основанный на XML, используемый для описания атрибутов, интерфейсов и других свойств веб-сервис. Документ WSDL используется потенциальным клиентом, чтобы узнать о сервисе и способах обращения к нему.

Хотя веб-сервисы, вообще говоря, могут использовать разные транспортные протоколы, и даже могут предлагать клиентам выбор, самым распространенным является SOAP поверх протоколов HTTP или HTTPS. Это важно поскольку использование HTTP и HTTPS обычно не вызывает проблем с обходом систем сетевой защиты в организациях, которые разрешают двунаправленный трафик HTTP.

1.4.3.2.5 Веб-сервисы и soa

SOA и веб-сервисы являются «ортогональными» понятиями: сервисная ориентация – это архитектурный стиль, а веб-сервисы - технология выполнения. Они, конечно, могут использоваться совместно – как это часто и случается, но они взаимно независимы.

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

Аналогично, веб-сервисы хорошо подходят в качестве строительных блоков SOA-среды, но в их определении нет ничего, что обязательно требует воплощение принципов SOA. Хотя отсутствие состояний зачастую рассматривается как ключевая характеристика веб-сервис, нет никаких технических причин, по которым они обязательно должны быть без состояний – это определяется выбором разработчика и архитектурным стилем среды, в которой сервис должен работать.