Введение в сервис-ориентированную архитектуру
SOAP — простой протокол обмена структурированными сообщениями, сейчас используется как протокол обмена произвольными XML-сообщениями в распределенной среде совместно с любым протоколом прикладного уровня, но чаще всего с HTTP, FTP, HTTPS. Каталог сервисов служит для публикации и ведения списка сервисов, доступных для потребителей. Он содержит физическое месторасположение сервисов, версии… Читать ещё >
Введение в сервис-ориентированную архитектуру (реферат, курсовая, диплом, контрольная)
Поскольку взаимодействие ИС через СМЭВ реализовано посредством веб-сервисов, необходимо пояснить, как устроены системы подобного рода, и ввести соответствующую терминологию.
Сервис-ориентированная архитектура (Service-oriented architecture, SOA) — модульный подход к разработке программного обеспечения, основанный на использовании сервисов, оснащенных стандартизированными интерфейсами для взаимодействия по стандартизированным протоколам. Приложения, взаимодействующие с сервисами такой системы, не знают, как именно реализованы обслуживающие их сервисы, а сервисам безразлично, какие приложения к ним обращаются.
Базовым понятием сервис-ориентированной архитектуры является сервис. Веб-сервисы — это программные компоненты, взаимодействие с которыми осуществляется по Интернету с использованием открытых протоколов [8].
Веб-сервис предоставляет услуги другим приложениям, а не обслуживает конечных пользователей, поэтому у него отсутствует пользовательский интерфейс. Для работы с клиентами веб-сервиса (приложениями) используется программный интерфейс, описанный в формате, пригодном для компьютерной обработки, и определяющий функциональность вебсервиса (предоставляет список операций и их параметров). Отправка, обработка и получение сообщений обеспечивается конкретной реализацией интерфейса веб-сервиса. Веб-сервис обладает кроссплатформенностью, независимостью от способов обращения к нему. Также клиент веб-сервиса не может видеть способа его реализации.
Взаимодействие с веб-сервисами осуществляется при помощи сообщений, передаваемых с использованием открытых протоколов, чаще всего протокола HTTP.
На рис. 4.1 приводится упрощенная базовая архитектура SOA, которая состоит из провайдера сервисов, сервиса и (необязательного) каталога сервисов. Для обмена информацией используется механизм обмена сообщениями типа «приложение к приложению» [30].
Рис. 4.1. Базовая архитектура SOA.
Данная модель работает так: провайдер создает сервис, принимает решение об открытии сервиса и публикует этот сервис, отправляя информацию о нем в каталог сервисов. Потребитель сервиса ищет нужный ему сервис в каталоге, находит, и обращается установленным образом к провайдеру с запросом по данному сервису.
Провайдер сервиса предоставляет сервисы, контракт по активизации которых и месторасположение опубликованы.
Потребитель сервиса потребляет сервисы, соответствующие его бизнес-потребностям и обнаруженные в каталоге сервисов.
Каталог сервисов служит для публикации и ведения списка сервисов, доступных для потребителей. Он содержит физическое месторасположение сервисов, версии и их срок действия, а также документацию по сервисам.
Практически все стандарты веб-сервисов основаны на технологии XML (XML — extensible Markup Language — язык разметки данных). Это универсальный, не зависящий от платформы язык разметки, который можно использовать для представления иерархических данных и унификации передаваемой информации. Он предназначен для хранения структурированных данных, обмена информацией между программами, а также для создания на его основе специализированных производных языков.
В системе ЭП России для передачи электронных сообщений в едином формате XML используется протокол SOAP поверх HTTP.
SOAP — простой протокол обмена структурированными сообщениями, сейчас используется как протокол обмена произвольными XML-сообщениями в распределенной среде совместно с любым протоколом прикладного уровня, но чаще всего с HTTP, FTP, HTTPS.
Соединять провайдеров и потребителей сервисов в рамках SOA системы должна Enterprise Service Bus (сервисная шина предприятия), которая обычно включает в себя промежуточное программное обеспечение, связывающее приложения по различным протоколам взаимодействия. Подключение сервисов организовано таким образом, чтобы взаимодействие приложений осуществлялось через единую точку, обеспечивающую передачу данных и их преобразование, а также сохранность обращений. При такой архитектуре подключенные к шине приложения работают независимо друг от друга, а для всей системы в целом обеспечивается легкость масштабирования и переноса.
Конкретные реализации ESB содержат в себе адаптеры для соединения с другим программным обеспечением.