АКИС (10) - Лекция №13 - SOA

Материал из Кафедра ИУ5 МГТУ им. Н.Э.Баумана, студенческое сообщество
Перейти к навигации Перейти к поиску

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

Service-oriented architecture (SOA) - это не технология, а концепция:

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

Причины появления SOA:

  • высокая динамика предметной области;
  • максимально низкая возможная стоимость.

Направлена на максимально возможное повторное использование ресурсов, оставаясь при этом платформонезависимым.

Три кита SOA:

  1. сервисы, как компоненты информационной системы, публикуют свои интерфейсы (контракты);
  2. каждый сервис, входящий в ИС, реализует отдельную бизнес функцию, которая является логически обособленной, многократно повторяющейся задачей;
  3. низкая связанность - можно интегрировать всё со всеми, даже от разных производителей.

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

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

Реализация нового функционала предполагает обязательное его оформления в соответствии со стандартами, предъявляемыми к сервису.

Реализация всего функционала в виде сервисов обеспечивает максимальную повторную используемость только в случае удачного распределения бизнес функций по сервисам.

Состав SOA

ESB (корпоративная шина предприятия) используется для передачи сообщений между компонентами используется. Она является центральным звеном - центром звезды. К ней предъявляются повышенные требования по производительности и надёжности.

ESB можно рассматривать как отдельное программное обеспечение, которое гарантирует отправку/приём сообщений между всеми компонентами SOA.

Сервис-брокер - объединяет сервисы в единый контекст. Это динамический конструктор, собирающий сервисы в единую последовательность, и это описание передаётся на вход Workflow Engine. Пример:

Последовательность действий в примере:

  1. пользователь входит в систему и делает заказ;
  2. брокер запрашивает из регистра информацию для запуска службы обработки заказа;
  3. брокер проверяет, запущены ли нужные службы (все четыре);
  4. на основании полученной из регистра информации брокер проверяет интерфейсы между компонентами;
  5. брокер посылает сервисам сигнал, что они должны связаться с Workflow Engine для выполнения этого бизнес процесса.

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

Workflow Engine - специализированный программный продукт, обеспечивающий объединение всех операций в единый бизнес процесс. Выполнение процесса описано на языке BPEL. Обработка данных и выполнение функционала в пределах одного процесса на разных операциях могут выполняться на разных приложениях.

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