Сервис-ориентированная архитектура

 

 

 

SOA (service-oriented architecture, сервис-ориентированной архитектура, СОА)– это программная архитектура, в которой функциональность сгруппирована вокруг бизнес-процессов и представлена в виде интероперабельных (независимых от конкретных платформ) сервисов.

SOA - подход к созданию корпоративных информационных систем на основе композиции автономных ассоциированых с бизнес-функциями ИТ-сервисов.

25.10.2008 53% крупных компаний уже используют SOA или запустили проекты на ее основе. Еще 37% планирует начать такие работы в течение ближайших одного-двух лет, и только 10% пока не видит в этом необходимости (по данным AMR Research).

05.11.2008  53% крупных компаний уже используют в своей практике SOA, 20% — находятся в процессе перехода и столько же планируют внедрение SOA в течение 2009 года (по данным Gartner).

 

 

 

SOA и ESB

 

Предшественником  SOA была технология Enterprise Service Bus (ESB), которая предоставляла собой унифицированный механизм взаимодействия приложений.

Дополненная рядом других технологий, ESB позволила сформировать единую интеграционную платформу. ESB имеет отношение  к решению локальных задач отделов автоматизации.

Информационные системы традиционной архитектуры ESB построенны из набора разнородных программных компонентов, объединяют унаследованные монолитные приложения с нестандартизованными интерфейсами, консервативны по своей внутренней конструкции и не могут меняться быстро.

SOA - технология и новый архитектурный стиль, парадигма новых, современных, гибких и адаптивных информационных систем.

Информационная система должна меняться столь же быстро, насколько быстро меняются требования бизнеса и бизнес-процессы компании.

SOA позволяет добиться высокой степени адаптивности информационной системы к быстро меняющимся требованиям и относится к решению бизнес-задач.

SOA подразумевает возможность быстрой реализации конкретных ИТ-проектов на базе широкого применения уже используемых в организациях технологий и продуктов, а также внешних готовых сервисов в интересах достижения быстрого эффекта с точки зрения бизнеса.

Переход от EAI к SOA может происходить:

  • системно (принятие процессорного подхода, и переход к управлению бизнес-процессами (Business Process Management, BPM);

  • утилитарно (постепенное связывание приложений посредством сообщений и без раздумья о процессном подходе.

 

 

 

SOA-сервисы

 

Томас Зибер (Thomas Sieber, исполнительный вице-президент Fujitsu Siemens Computers): В дальнейшем будет востребован именно сервисно-ориентированный подход.

Качественный переход к SOA произошел с возможностью создания поверх этого интеграционного слоя новых прикладных решений (собственно, композитных приложений) с использованием уже существующего функционала. При этом сами базовые приложения могут рассматриваться в виде наборов более низкоуровневых функциональных компонентов.

В терминологии SOA такие компоненты стали называться сервисами.

 

Качественное отличие  SOA-сервисов от ранее применявшихся в ИТ программных компонентов (объектов) заключается в двух аспектах:

  • сервисы могут быть реализованы в виде достаточно сложных программных комплексов и отражать не способ их программной реализации, а лишь способ использования.

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

SOA  можно определить как возможность наращивания прикладного функционала корпоративных систем с помощью создания новых композитных бэк-офисных приложений на базе готовых сервисов с использованием унифицированных интеграционных платформ.

SOA в технологическом плане ассоциируется с решением задач интеграции приложений и управления бизнес-процессами в распределенных гетерогенных средах.

Новизна SOA - не разработка ИТ-сервисов, как таковых, а реализация возможности создания и модернизации на их основе (в том числе в рамках реализации модели SaaS (софт как сервис))  новых бизнес-процессов.

Back office (бэк-офис) - отдел обработки документации.

 

 

 

Области использования SOA

 

 

SOA является отражением общей тенденции к усилению взаимосвязи ИТ и бизнеса.

 

Информационные системы традиционной архитектуры построенны из набора разнородных программных компонентов, объединяют унаследованные монолитные приложения с нестандартизованными интерфейсами. Такие системы консервативны по своей внутренней конструкции и не могут меняться быстро.

SOA — технология и новый архитектурный стиль, парадигма новых, современных, гибких и адаптивных информационных систем.

 

Ключевой фактор успеха SOA - постепенность реализации сервисов в четком соответствии с потребностями бизнеса.

SOA наиболее востребована на предприятиях с процессно-ориентированной моделью функционирования, там, где нужна высокая гибкость и скорость реакции бизнеса на внешние изменения.

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

SOA очень хорошо подходит для реализации ИТ-систем социального назначения, но интерес к этому подходу со стороны государственных структур мал, из-за низкой конкуренции в данной сфере.

подразумевает наличие у компании долгосрочной стратегии бизнес-развития и достаточно высокой стабильности выделяемых ИТ-сервисов. Именно по этой причине SOA пока не находит должного применения в малом и среднем бизнесе.

 

 

 

 

SOA 2.0

 

 

Глеб Ладыженский (директор по технологиям Oracle СНГ): Внедрение передовых технологических решений и стандартов само по себе не дает значимых преимуществ в архитектуре информационных систем, не оказывает влияния на бизнес.

Глеб Ладыженский: Только формирование бизнес-сервисов и бизнес-событий, а затем их целевая увязка для решений задач бизнеса позволяет добиться стратегических преимуществ для компании. SOA приближает интеграцию информационных технологий и бизнеса. Однако только SOA для этого недостаточно.

SOA органически дополняет EDA (архитектура, управляемая событиями; Event-Driven Architecture).

Идея EDA в том, чтобы «накинуть» на всю программную инфраструктуру организации «сеть» программно-аппаратных датчиков и агентов, следящих за событиями во всех аппаратных и программных компонентах, отслеживающих значимые для бизнеса события и передающих в центр принятия решений ассоциированные с этими событиями сигналы.

Такая «сеть» позволяет технологически управлять бизнесом, имея четкую картину всего, что происходит в данный момент на предприятии.

 Этот архитектурный стиль открывает путь к популярной концепции предприятия, управляемого в реальном масштабе времени (Real Time Enterprise, RTE).

 

SOA 2.0 (сервис-ориентированная архитектура, управляемая событиями) - объединение концепций SOA и EDA.

SOA 2.0 позволяет добиться поставленных целей только в том случае, если:

  • в информационной системе компании будут структурированы и оформлены программные компоненты, реализующие сервисы, важные для бизнеса;

  • информационная система будет насыщена программными датчиками, формирующими значимые для бизнеса события;

  • оперативное принятие управленческих решений будет автоматизировано по схеме, в которой реакция на бизнес-событие вызывает старт бизнес-процесса, инициирующий запрос на бизнес-сервисы.

 

 

Основные поставщики SOA-решений

 

 

Дмитрий Калаев (зам. ген. директора Naumen): SOA сегодня уже является нормой для современных приложений, выпускаемых ведущими поставщиками программного обеспечения. SOA позволяет решить две основные задачи: упростить обмен информацией между различными системами и задействовать несколько информационных систем в одном бизнес-процессе.

Фактически сегодня SOA в технологическом плане больше ассоциируется с интеграционными платформами различных вендоров, а также с такими технологиями, как Web 2.0, управление бизнес-процессами  (Business Process Management,  BPM)  и интеграция корпоративных приложений  (Enterprise Application Integration –  EAI).

Опрос корпоративных заказчиков (США, конец 2007 г.), выявил следующую расстановку сил на рынке SOA-решений:

 

1

Microsoft

IBM

SAP

Oracle

большая четверка, которая не только предлагает широкий набор технологий и продуктов, но активно продвигает на рынок идеи SOA, используя свое влияние на ИТ-сообщество

2

BEA

Progress Software

Software AG

TIBCO

крупные поставщики интеграционных средств, которые также имеют внушительные наборы решений, но все же уступают по уровню присутствия на рынке «большой четверке»

3

Cape Clear

Amberpoint

нишевые поставщики, изначально нацеленных на концепцию СОА и предлагающих специализированные продукты, которые отсутствуют в пакетах глобальных поставщиков

 

28.10.2008  Прогноз на 2009 год  ведущего мирового SOA-консультанта Дэвида Линтикума:

  • растущая популярность cloud computing подтолкнет многие компании к SOA;

  • в области SOA будет появляться все больше мелких проектов;

  • больше внимания станет уделяться внутрикорпоративным SOA-технологиям, максимально расширяемым и защищенным middleware-технологиям;

  • концепция SOA начнет объединяться с другими концепциями (cloud computing, EDA и др.).

Middleware (межплатформенное ПО) - связующее ПО, работающее поверх ОС и обеспечивающее  прозрачную работу приложений в неоднородной сетевой среде.

04.11.2008  Ивонн Дженовезе (ведущий аналитик Gartner): К 2010 году более 80% новых критически важных приложений и бизнес-процессов в том или ином виде будут функционировать под знаком SOA.

 

 

Как отмечают аналитики, двумя основными причинами нежелания следовать модели SOA выступают недостаток нужных для этого компетенций и опыта у сотрудников и неочевидность положительного экономического влияния на бизнес.

Примечательно, что в Европе наблюдается большее активное принятие концепции SOA, нежели в США и тем более в отстающей в данном аспекте Азии.

В исследовании Gartner, проведенном в мае–июле 2008 года, приняли участие свыше 200 компаний.

 

 

Технологически инструментарий SOA

 

Технологически инструментарий SOA пока еще находится в стадии формирования. 

Типичные компоненты инструментария для реализации SOA:

  • исполнитель бизнес-процессов, формализованный с использованием специального языка BPEL (Business Process Execution Language);

  • корпоративная шина сервисов (Enterprise Service Bus, ESB);

  • исполнитель бизнес-правил (Business Rules);

  • модуль управления, мониторинга и обеспечения безопасности сервисов (Web Services Manager);

  • компонент мониторинга бизнес-активности (BAM).

 

Business Activity Monitoring позволяет расставлять в значимых точках информационной системы программные датчики, которые по заранее определенным событиям собирают данные, ассоциированные с этими событиями, агрегируют их и доставляют линейным менеджерам на специальные приборные панели (dashboards) для принятия оперативных решений.

 

Полный цикл автоматизации бизнес-процессов предприятия включает также средства проектирования и моделирования бизнес-процессов.

 

 

 

Smart SOA

 


Smart SOA
- предложенный IBM программно-методический подход , основанный на обобщении уже полученного опыта применения SOA.


Джон Месберг (вице-президент IBM Software Group):   Компаниям-заказчикам нужны архитектурные и технологические решения , обеспечивающие потребности бизнеса в постоянной адаптации при изменении рыночной ситуации. Это и предлагает Smart SOA.

Джон Месберг: Для широкого продвижения SOA в массы корпоративных заказчиков важной задачей является обмен опытом и повышение квалификации сотрудников. Чтобы решить этот круг вопросов, IBM пошла по пути создания системы взаимодействующих между собой региональных и отраслевых сообществ с использованием социальных сетей — IBM Smart SOA Social Network.
 

Аспекты SOA

Решаемые задачи

Традиционный подход

SOA-подход

Продукты для решения данных задач

Повторное использование бизнес-функций

Расширение возможностей применения существующих приложений

Реализация каждой функции в отдельном приложении

Создание сервиса один раз для многократного применения в разных приложениях

WebShpere Application Server

Rational Asset Analyzer

WebSphere Registry and Repository

Функциональные связи

Интеграция самых разных аспектов бизнеса

Закрытая связь
точка — точка

Основанное на  стандартах взаимодействие сервисов через единую шину (Enterprise Service Bus)

WebSphere MQ File Transfer Edition

QuickStart for

WebSphere Business Events

Информация

Единый взгляд на достоверную деловую информацию

Индивидуальный набор данных для поддержки каждого приложения

Интегрированная информационная среда для работы любых приложений

IBM InfoSphere Information Server

IBM Maspup Center

IBM Lotus Forms

Люди

Настраиваемое взаимодействие и сотрудничество

Статический интерфейс панелей управления доступа к приложениям

Бизнес-пользователи сами формируют  интерфейс для работы с  приложениями

IBM WebSphere Portal

WebSphere Portal

IBM Maspup Center

Процессы

Автоматизация процессов для повышения эффективности бизнеса

Для автоматизации процессов требуется трудоемкое программирование

Автоматизированное проектирование процессов с возможностью их динамического изменения

IBM WebSphere Process Server

Component Business Modeling Tool and Assets Release

 

 

 

Литература

 

  1. Андрей Колесов SOA — итоги обсуждений в преддверье их продолжения
    http://www.DIRECTUM-Journal.ru/docs/2448420.html

  2. Алексей Малинин СОА: модная игрушка или необходимость?
    ht
    ttp://www.DIRECTUM-Journal.ru/docs/2412936.html

  3. Глеб Ладыженский Новый архитектурный стиль
    http://www.osp.ru/cio/2008/01/4744326/

  4. Ефим Натис. Покорение сложности информационных систем
    http://www.osp.ru/os/2005/07-08/

  5. Денис Волков Сервис как предчувствие  //  http://www.naumen.ru/go/company/press/CIO_07_06_2007_Service