SOA — различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
'''Сервис-ориентированная архитектура''' (SOA, англ. service-oriented architecture) — модульный подход к разработке программного обеспечения, основанный на использовании распределённых, слабо связанных (англ. loose coupling) заменяемых компонентов, оснащённых стандартизированными интерфейсами для взаимодействия по стандартизированным протоколам. | '''Сервис-ориентированная архитектура''' (SOA, англ. service-oriented architecture) — модульный подход к разработке программного обеспечения, основанный на использовании распределённых, слабо связанных (англ. loose coupling) заменяемых компонентов, оснащённых стандартизированными интерфейсами для взаимодействия по стандартизированным протоколам. | ||
− | Программные комплексы, разработанные в соответствии с сервис-ориентированной архитектурой, обычно реализуются как набор веб-служб, взаимодействующих по протоколу SOAP, но существуют и другие реализации (например, на базе jini, CORBA, на основе REST). | + | '''Сервис''' — программный компонент, реализующий законченную функцию предоставления или обработки данных. Основным отличием сервиса от обычного компонента является стандартный и платформенно-независимый интерфейс. Клиент, обращающийся к сервису, не обязан ничего знать о подробностях реализации сервиса. Сервисно-ориентированная архитектура позволяет компоновать бизнес-процессы из компонентов, выполняющихся на разных платформах, представлять их в виде сервисов и повторно использовать в новых бизнес-процессах. |
+ | |||
+ | Программные комплексы, разработанные в соответствии с сервис-ориентированной архитектурой, обычно реализуются как набор веб-служб, взаимодействующих по протоколу ''SOAP'', но существуют и другие реализации (например, на базе jini, CORBA, на основе REST). | ||
+ | |||
+ | == Принципы SOA == | ||
+ | * явное отделение бизнес-логики прикладной системы от логики презентации информации; | ||
+ | * реализация бизнес-логики прикладной системы в виде некоторого количества программных модулей (сервисов), которые доступны извне (пользователям и другим модулям), чаще всего в режиме "запрос-ответ", через четко определенные формальные интерфейсы доступа; | ||
+ | * "потребитель услуги", который может быть прикладной системой или другим сервисом, имеет возможность вызвать сервис через интерфейсы, используя соответствующие коммуникационные механизмы. | ||
+ | |||
+ | == Протокол SOAP == | ||
+ | '''SOAP''' (Simple Object Access Protocol) — это простой основанный на XML протокол для описания формата принимаемых и посылаемых сообщений. Он позволяет приложениям обмениваться информацией по транспортным протоколам, таким как HTTP. | ||
+ | |||
+ | == Стандарт UDDI == | ||
+ | '''UDDI''' (Universal Description, Discovery and Integration) — стандарт для создания каталогов доступных сервисов, ссылочная модель сервис–ориентированной [[Архитектура предприятия|архитектуры предприятия]]. Она использует единый подход для описания бизнеса и ИТ и состоит из следующих компонент: | ||
+ | * '''презентационный уровень''' описывает интерфейсы для взаимодействия пользователей с информационной системой (корпоративные и публичные порталы, доступ с мобильных устройств, преобразования информации при взаимодействии с внешними системами и устройствами); | ||
+ | * '''уровень бизнес-сервисов''' описывает модели и управление выполнением бизнес-процессов (с использованием BPEL), а также координацию автоматизированных и "ручных" операций; | ||
+ | * '''интеграционные сервисы''' обеспечивают взаимодействие между приложениями, которое может быть реализовано с помощью средств обмена сообщениями или в рамках единой среды исполнения, такой как сервер приложений J2EE; | ||
+ | * '''сервисы уровня данных''' обеспечивают извлечение и повторное использование данных из СУБД и приложений. Этот уровень позволяет изолировать вышестоящие компоненты архитектуры от изменений в технологиях (например, версии продукта), и обеспечить единый унифицированный подход к выполнению операций с данными; | ||
+ | * '''уровень инфраструктуры''', приложений и СУБД является основой для всей структуры (основные инвестиции в ИТ). | ||
== Стандарты для SOA от OMG == | == Стандарты для SOA от OMG == |
Текущая версия на 15:48, 2 мая 2018
Сервис-ориентированная архитектура (SOA, англ. service-oriented architecture) — модульный подход к разработке программного обеспечения, основанный на использовании распределённых, слабо связанных (англ. loose coupling) заменяемых компонентов, оснащённых стандартизированными интерфейсами для взаимодействия по стандартизированным протоколам.
Сервис — программный компонент, реализующий законченную функцию предоставления или обработки данных. Основным отличием сервиса от обычного компонента является стандартный и платформенно-независимый интерфейс. Клиент, обращающийся к сервису, не обязан ничего знать о подробностях реализации сервиса. Сервисно-ориентированная архитектура позволяет компоновать бизнес-процессы из компонентов, выполняющихся на разных платформах, представлять их в виде сервисов и повторно использовать в новых бизнес-процессах.
Программные комплексы, разработанные в соответствии с сервис-ориентированной архитектурой, обычно реализуются как набор веб-служб, взаимодействующих по протоколу SOAP, но существуют и другие реализации (например, на базе jini, CORBA, на основе REST).
Принципы SOA
- явное отделение бизнес-логики прикладной системы от логики презентации информации;
- реализация бизнес-логики прикладной системы в виде некоторого количества программных модулей (сервисов), которые доступны извне (пользователям и другим модулям), чаще всего в режиме "запрос-ответ", через четко определенные формальные интерфейсы доступа;
- "потребитель услуги", который может быть прикладной системой или другим сервисом, имеет возможность вызвать сервис через интерфейсы, используя соответствующие коммуникационные механизмы.
Протокол SOAP
SOAP (Simple Object Access Protocol) — это простой основанный на XML протокол для описания формата принимаемых и посылаемых сообщений. Он позволяет приложениям обмениваться информацией по транспортным протоколам, таким как HTTP.
Стандарт UDDI
UDDI (Universal Description, Discovery and Integration) — стандарт для создания каталогов доступных сервисов, ссылочная модель сервис–ориентированной архитектуры предприятия. Она использует единый подход для описания бизнеса и ИТ и состоит из следующих компонент:
- презентационный уровень описывает интерфейсы для взаимодействия пользователей с информационной системой (корпоративные и публичные порталы, доступ с мобильных устройств, преобразования информации при взаимодействии с внешними системами и устройствами);
- уровень бизнес-сервисов описывает модели и управление выполнением бизнес-процессов (с использованием BPEL), а также координацию автоматизированных и "ручных" операций;
- интеграционные сервисы обеспечивают взаимодействие между приложениями, которое может быть реализовано с помощью средств обмена сообщениями или в рамках единой среды исполнения, такой как сервер приложений J2EE;
- сервисы уровня данных обеспечивают извлечение и повторное использование данных из СУБД и приложений. Этот уровень позволяет изолировать вышестоящие компоненты архитектуры от изменений в технологиях (например, версии продукта), и обеспечить единый унифицированный подход к выполнению операций с данными;
- уровень инфраструктуры, приложений и СУБД является основой для всей структуры (основные инвестиции в ИТ).