Сервис-ориентированная архитектура (Service-Oriented Architecture или SOA) – это парадигма организации и использования распределенных информационных ресурсов, таких как: приложения и данные, находящиеся в сфере ответственности разных владельцев, для достижения желаемых результатов потребителем, которым может быть конечный пользователь или другое приложение.
Сервис-ориентированная архитектура – это компонентная модель, которая связывает различные функциональные модули приложений, называемые сервисами (или службами), посредством четко определенных интерфейсов и соглашений между этими сервисами.
Интерфейсы определяются независимым способом, и не должны зависеть от аппаратной платформы, операционной системы или языка программирования, на котором реализован сервис.
Сервис – ресурс, реализуемый бизнес функцию и обладающий свойствами:
- является повторно используемым;
- определяется несколькими технологически независимыми интерфейсами;
- слабо связан с другими подобными ресурсами и может быть вызван посредством коммуникационных протоколов, обеспечивающих взаимодействие ресурсов между собой.
|
|
Участники взаимодействия в СОА
Принципы взаимодействия:
- Взаимодействие участников выглядит просто: поставщик регистрирует свои сервисы в реестре, а потребитель обращается к реестру с запросами.
- Для использования сервиса необходимо следовать соглашению об интерфейсе для обращения к сервису - интерфейс должен не зависеть от платформы.
- СОА реализует масштабируемость сервисов - возможность добавления сервисов, а также их модернизацию. Поставщик сервиса и его потребитель оказываются несвязанными - они общаются с помощью сообщений.
- Поскольку интерфейс должен не зависеть от платформы, то и технология, используемая для определения сообщений, также должна не зависеть от платформы. Поэтому, как правило, сообщения являются XML-документами, которые соответствуют XML-схеме.
Стратегическая ценность SOA:
1 Сокращение времени реализации проектов, или "времени выхода на рынок".
2 Повышение производительности.
3 Более быстрая и менее дорогая интеграция приложений.
Тактические преимущества SOA:
1 Более простая разработка и внедрение приложений.
2 Использование текущих инвестиций.
3 Уменьшение риска, связанного с внедрением проектов в области автоматизацией услуг и процессов.
4 Возможность непрерывного улучшения предоставляемой услуги.
5 Сокращение числа обращений за технической поддержкой.
6 Повышение показателя возврата инвестиций (ROI).
Web-сервисы
|
|
Web-сервис – автоматизированная система, предоставляющая сервисы обработки и доступа к данным (в формате XML), позволяющая другим автоматизированным системам найти себя, идентифицировать и взаимодействовать по стандартизированным протоколам.
Web-служба – программная система, идентифицируемая строкой URI, чьи общедоступные интерфейсы определены на языке XML.
При использовании СОА Web-служба – единица модульности.
Используемые стандарты:
- XML – расширяемый язык разметки, предназначенный для хранения и передачи структурированных данных.
- SOAP – протокол обмена сообщениями на базе XML.
- WSDL – язык описания внешних интерфейсов на базе XML.
- UDDI – универсальный интерфейс распознавания, описания и интеграции.
SOAP – протокол обмена структурированными сообщениями в распределенной вычислительной среде. Используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур.
UDDI – это каталог Web-служб и сведений о компаниях, предоставляющих Web-службы во всеобщее использование или конкретным компаниям.