Интеграционные шаблоны проектирования
Структурные шаблоны интеграции
Подгруппа структурных интеграционных шаблонов содержит описание трех базисных паттернов, которые находятся в основе всех существующих реализаций интеграций. Данные шаблоны определяют фундамент интеграционных процессов, возможности для их последующего развития, а также задают их ограничения.
Точка-точка
Паттерн "Точка-точка" – наиболее "авторитетный" из данной группы шаблонов. Суть этого шаблона зависит от возможности системы поставщика данных предоставить интеграционный интерфейс для активной системы.
Шаблон используется в основном при стихийной интеграции систем. Он может использоваться только в том случае, когда одна из систем занимает пассивную роль (поставщик), а другая – активную (потребитель).
Когда обе системы должны являться активными, данный паттерн не подходит.
Звезда
Необходимым условием применения шаблона "Звезда" является наличие центральной компоненты в интеграционной среде, которая будет использоваться в качестве управляющего интеграционного модуля системы в целом.
Интеграционная среда при этом:
- должна иметь универсальный интерфейс для доступа к ней активных систем;
- при необходимости может использовать интерфейсы пассивных систем;
- включает в себя реализацию основных уровней интегрирующей среды:
- Базовый уровень – ядро интегрирующей среды, которое содержит платформу для исполнения сценариев транзакции, базовый функционал по взаимодействию приложений, службы протоколирования, мониторинга состояния интегрирующей среды и пр.
- Уровень сценариев –графическая схема обмена сообщениями между системами, алгоритмы трансформации и маршрутизации интеграционных сообщений.
- Транспортный уровень – слой, ответственный за физическую доставку сообщений между системными компонентами.
- Уровень адаптеров– системный слой, на котором организовано взаимодействие с системой посредством ее внешнего интерфейса (API), генерация сообщений, передача сообщений базовому уровню посредством транспортного.
Смешанный способ
Этот способ совмещает в себе механизмы интеграции, описанные в шаблонах "Точка-точка" и "Звезда".
Его реализация связана с необходимостью компромиссного сочетания широких функциональных возможностей шаблона "Звезда" и простотой разработки паттерна "Точка-точка", применение которых может диктоваться специфическими требованиями (такими как безопасность) к разработке процесса интеграции.
Данный шаблон предполагает использование интерфейсов внешних систем непосредственно напрямую, в обход обшей интегрирующей среды.
Смешанный способ сочетает преимущества централизации управления процессами (шаблон "Звезда") взаимодействия систем, унификации интерфейсов, а также возможность использовать прямые интерфейсы между системами.