Сервис-ориентированная архитектура приложений

В последнее время необходимость взаимодействия приложений в рамках совокупности информационных систем организации или нескольких организаций, объединенных в партнерскую цепочку, оказывает существенное влияние на архитектурные построения прикладных систем. Более того, становится не совсем понятно, где заканчиваются бизнес-функции и начинаются информационные технологии, и наоборот. Ответом ИТ-специалистов на отмеченные сложности стала разработка концепции сервис-ориентированной архитектуры (Servis Oriented Architecture — SOA) [16, 32, 60]. Ведущие поставщики программного обеспечения — IBM, Microsoft, Oracle и др. — развивают эту концепцию в рекомендациях по проектированию информационных систем на своих программных платформах.

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

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

В целом SOA представляет собой модель взаимодействия компонент, которая связывает различные функциональные модули приложений (сервисы) между собой с помощью четко определяемых интерфейсов (одним из известных интеграционных шаблонов как раз и является «Сервис»). Заметим, что интерфейсы сами по себе не зависят от аппаратных платформ, операционных систем или языков программирования, используемых для разработки этих приложений. Это позволяет отдельным сервисам взаимодействовать между собой одним стандартным и одновременно универсальным способом. Такая особенность использования интерфейса, независимого от платформы и окружения, получила название модели «слабой связи». Ее очевидным преимуществом является повышенная гибкость и почти абсолютная адаптивность, поскольку замена или модернизация одной из компонент информационной системы не сказывается на остальных.

Для задач электронной коммерции соответствующая функциональность SOA реализуется на уровне weX-сервисов (служб). Под техсервисами понимаются программные системы, которые используют XML в качестве формата данных, стандарты Web Services Description Laquage (WSDL) для описания своих интерфейсов, Simple Object Access Protocol (SOAP) для описания формата прикладных и посылаемых сообщений и стандарт Universal Discovery Description and Integration (UDDI) для формирования каталога доступных сервисов (см. приложение 4). И хотя связь между этими двумя направлениями в развитии информационных технологий является достаточно тесной, необходимо констатировать, что weX-сервисы являются технологическими спецификациями, в то время как сервисно-ориентированная архитектура является подходом к проектированию архитектуры программных систем.

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

В этой связи достаточно критическими становятся вопросы согласованной работы этих сервисов. Для описания такой работы даже предложены специальные термины — «хореография» и «оркестровка»

(очевидно, по аналогии с управлением оркестром или ансамблем). Хореография определяет взаимодействия различных пользователей с сервисами, а оркестровка описывает взаимодействие сервисов в рамках общей деятельности [16, 60]. Даже интеграцию унаследованных приложений целесообразно проводить с применением данной технологии, когда определенная, наиболее важная часть существующей функциональности как бы «инкапсулируется» и представляется стандартным интерфейсом.

Ориентация на серверную архитектуру позволяет построить комплексную ссылочную модель архитектуры организации, которая в единой манере описывает ее деятельность и информационные технологии [16, с. 201]. Модель включает следующие уровни компонент (рис. 2.20):

  • презентационный уровень — описывает интерфейсные сервисы для взаимодействия пользователей с информационной системой, включая организационные и публичные порталы, доступ с мобильных устройств, а также различные преобразования информации при взаимодействии с внешними системами и устройствами;
  • уровень бизнес-сервисов — формирует модели бизнес-процессов организации, обеспечивает их выполнение с использованием специальных средств, а также координацию автоматизированных и ручных операций;
  • уровень интеграционных сервисов — обеспечивает взаимодействие между приложениями, которое может быть реализовано с использованием средств обмена сообщениями или обеспечиваться в рамках единой среды исполнения;
  • уровень сервисов данных — реализует извлечение и повторное использование данных из БД и приложений (явное выделение этого уровня позволяет изолировать вышестоящие компоненты архитектуры от изменений в технологиях, например изменения версии продукта, а также обеспечить единый унифицированный подход к выполнению операций с данными);
  • уровень инфраструктуры, приложений и СУБД — является основой всей ссылочной модели сервис-ориентированной архитектуры организации (здесь концентрируется основные инвестиции в ИТ).

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

Ссылочная модель сервисно-ориентированной архитектуры организации

Рис. 2.20. Ссылочная модель сервисно-ориентированной архитектуры организации

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >