Что такое SOA?





Что такое SOA?

Ответы (2)

RSS
+
0
Пока нет единственно-правильного определения SOA. Тем не менее, в чем схожи стремления большинства разработчиков и экспертов рынка - это прежде всего архитектура, направленная на сближение бизнес-задач и технологических инструментов, позволяющих их решать - т.е. объединение бизнес-логики и процессов данных.

Согласно Gartner - СОА - это "стиль построения многоуровневого вычисления, позволяющего организациям транслировать, используя разные приложения и типы соединений, как данные, так и бизнес-логику".

Описывая упрощенно, бизнес-процессы, кодируемые в системах, разбиваются на самодостаточные (соблюдая принципы гранулярности) и самоописываемые (представленные на уровне данных, и на уровне графического представления) сервисы. Комбинация и композиция сервисов позволяет снизить время и усилия на создание и оптимизацию "поведения" бизнес-процессов.

Стандарты описания сервисов - это открытые стандарты - XML, J2EE. Доступные сервисы (точнее их код) хранятся в специальном репозитории (repository) и регистрируется для обнаружения в регистре (registry) - существует модель совмещения repository-registry - по крайней мере у SAP на базе NetWeaver, когда IBM предоставляет отдельные компоненты в рамках WebSphere.

При необходимости, потребитель сервиса осуществляет поиск в регистре описание необходимого сервиса, при помощи WSDL (языка описания сервиса) - находя его через интерфейс нахождения и описания UDDI. Сервисы передаются по ИТ-ландшафту через протокол SOAP.

СОА - по сути, продолжение архитектуры распределенного вычисления (distributed computing), представленной архитектурами RosetteNet, DCOM, CORBA, но учитывающая недостатки этих "парадигм" - н-р., синхронность / асинхронность доступа. Учитывая также развитие вычислительных систем и средств визуализации / виртуализации, у СОА есть шанс стать стандартом при композиции архитектурного ландшафта.
avatar

e-nton

  • 2 августа 2009, 07:10
+
0
Се?рвисно-ориенти?рованная архитекту?ра (англ. SOA, service-oriented architecture) — подход к разработке программного обеспечения, основанный на использовании сервисов (служб) со стандартизированными интерфейсами.

Подробнее в википедии:
http://ru.wikipedia.org/wiki/Сервисно-ориентированная_архитектура
avatar

roma157

  • 31 июля 2009, 13:55

Только зарегистрированные и авторизованные пользователи могут отвечать.