12. Принципы взаимодействия веб-сервисов в рамках сервисно-ориентированной архитектуры
Итак, технологический фундамент веб-сервисов образуется следующими технологиями:
eXtensible Markup Language (XML);
Simple Object Access Protocol (SOAP);
Universal Description, Discovery and Integration (UDDI);
Web Services Description Language (WSDL).
Данные технологии обеспечивают реализацию базовых свойств веб-сервиса, описанных в его определении. Они же лежат в основе взаимодействия веб-сервисов в рамках сервисно-ориентированной архитектуры (см. Рис.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.
- Техническая организация распределенных систем Современные технологи разработки распределенных систем План
- Раздел.1. Техническая организация распределенных систем
- 1. Понятие рис как совокупности автономных процессоров и систем
- 2. Концепции аппаратных решений
- 3. Концепции программных решений
- 5. Службы промежуточного уровня
- 6. Промежуточный уровень и открытость.
- 7. Выводы
- Раздел 2. Современные технологи разработки распределенных систем
- 1. Технология Web-сервисов Определение веб-сервиса
- 1.1 Основы Web-сервисов
- 2. Следующее поколение Сети
- 3. Преимущества и недостатки веб-сервисов.
- 4. Rpc-ориентированные взаимодействия
- 5. Документно-ориентированные взаимодействия
- 6. Технология веб-сервисов
- 7. Пример использования
- 8. Определение сервисно-ориентированной архитектуры
- 9. Требования к soa
- 10. Различия soa и веб-сервисов
- Преимущества soa
- 11. Стек технологий веб-сервисов
- 12. Принципы взаимодействия веб-сервисов в рамках сервисно-ориентированной архитектуры