logo search
Митряев лекции / РИС гр

12. Принципы взаимодействия веб-сервисов в рамках сервисно-ориентированной архитектуры

Итак, технологический фундамент веб-сервисов образуется следующими технологиями:

Данные технологии обеспечивают реализацию базовых свойств веб-сервиса, описанных в его определении. Они же лежат в основе взаимодействия веб-сервисов в рамках сервисно-ориентированной архитектуры (см. Рис.2).

Рис. 5: Взаимодействие между компонентами сервисно-ориентированной архитектуры

Различают следующие три основных архитектурных компонента сервисно-ориентированной архитектуры:

Каждый компонент может играть либо лишь одну роль (быть, например, только пользователем сервиса) либо одновременно сразу несколько ролей (например, быть провайдером одних сервисов и пользователем других).

Заметим, что в данном описании компонентов сервисно-ориентированной архитектуры и взаимодействия между ними следует различать термины "сервис" и "веб-сервис". Под сервисом понимается бизнес-функция, под веб-сервисом - программная реализация бизнес-функции (сервиса).

В ходе взаимодействия друг с другом компоненты сервисно-ориентированной архитектуры выполняют следующие основные операции:

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

поиск: пользователь сервиса должен иметь возможность найти в реестре сервисов необходимый сервис, удовлетворяющий заданным критериям;

связывание и вызов: после получения описания сервиса, пользователь сервиса должен иметь возможность вызвать и использовать сервис в соответствии с описанием сервиса.

Рассматривая взаимодействие компонентов сервисно-ориентированной архитектуры необходимо отметить наличие (и различие) следующих двух артефактов:

описание сервиса: определяет формат запроса и отклика при взаимодействии пользователя сервиса и провайдера сервиса, а также требуемое качество сервиса;

сервис: собственно сервис, который может быть вызван и использован пользователем сервиса в соответствии с опубликованным интерфейсом сервиса.

С целью выработки и популяризации стандартов, описывающих взаимодействие веб-сервисов в рамках СОА, создано международное объединение около 150 ведущих компаний, называющееся WS-I (Web Services Interoperability Organization). Важным результатом работы данного объединения стало создание и утверждение в 2003 году так называемого WS-I Basic Profile 1.0 - пакета базовых спецификаций веб-сервисов, взаимоувязанных с целью обеспечения широких возможностей взаимодействия веб-сервисов.

В настоящее время в данный профиль входят следующие спецификации технологий:

SOAP 1.1;

WSDL 1.1;

UDDI 2.0;

XML 1.0;

XML Schema Part 1: Structures;

XML Schema Part 2: Datatypes;

RFC2246: The Transport Layer Security Protocol 1.0;

RFC2459: Internet X.509 Public Key Infrastructure Certificate and CRL Profile;

RFC2616: HyperText Transfer Protocol 1.1;

RFC2818: HTTP over TLS;

RFC2965: HTTP State Management Mechanism;

Secure Sockets Layer Protocol 3.0.

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

Для создания Web-сервисов могут использоваться такие инструменты, как Open Net (компании Sun), .NET (Microsoft) и Web Services (IBM). Существуют также инструменты с открытыми кодами (open source frameworks), например, проект Mono Project

(www.go-mono.com), который предоставляет систему компиляции, выполнения кода и библиотек для работы одних и тех же Web-сервисов на всех платформах, включая Unix.