Современные интегрированные информационные системы представляют собой не что иное, как сервис-ориентированную архитектуру, использующую технологии веб-сервисов, что предполагает, что компетенция ит-отдела должна быть значительно шире, нежели простое обслуживание компьютеров
. Ключевым компонентом инфраструктуры СОА является корпоративная сервисная шина ESB. Ит-услуги (и собственные, и те, что отданы на ит-аутсорсинг) в сфере построения возможных архитектурных решений на основе ESB достаточно разнообразны в зависимости от задач, которые требуется решить. Требования организаций к ESB не ограничиваются каким-либо одним сценарием использования сервисной шины и зачастую предполагают эволюции одного сценария в его более сложный вариант. Следует также учесть, что хотя каждый конкретный сценарий решает конкретную задачу, для решения комплекса задач потребуется не просто комбинация простых сценариев, а один более сложный вариант.
Минимальный комплекс функций ESB
Функционал ESB, описанный в специализированной архитектуре, достаточно обширен. Однако для эффективной реализации ESB достаточно будет определенного базового набора функций. Набор этот базируется на следующих принципах корпоративной сервисной шины:
ESB является логическим компонентом архитектуры, предоставляющим инфраструктуру интеграции;
- возможна реализация ESB как распределенной неоднородной инфраструктуры;
- ESB дает доступ к средствам для управления инфраструктурами сервисов и предоставляет возможности для работы в сегодняшней распределенной неоднородной среде.
С учетом этих принципов минимальный функциональный набор ESB выглядит следующим образом:
- Функции интеграции. Шина обеспечивает поддержку определенного ряда интеграционных средств с поставщиком или поставщиками сервиса.
- Функции взаимодействия сервисов. Открытая модель организации интерфейсов и обмена сообщениями, независимая от реализации, изолирующая коды приложений от специфических требований маршрутизации сервисов, а также транспортных протоколов, в сочетании с обеспечением возможностей замены реализации сервисов.
- Функции связи. Заключаются в маршрутизации и адресации сервисов с целью обеспечить прозрачность размещения, администрировании с целью управления адресацией сервисов и их именованием и поддержке как минимум одного или нескольких транспортных протоколов, которые являлись бы или могли бы стать общедоступными.
Стоит особо отметить, что использование минимального набора функции не предполагает применения каких-либо конкретных технологий.
Примеры сценариев использования ESB:
- Интеграция двух и более систем. Если возникает потребность интегрировать между собой системы, которые реализованы на основе разных платформ или технологий, то для передачи данных между ними и синхронизации состоянии отдельных объектов можно использовать следующее решение:
- - внедрение связующего программного обеспечения с целью обмена сообщениями. Возможна реализация доступа к каждой из систем в виде web-сервисов;
- - обеспечение поддержки средами систем работы со связующим программным обеспечением;
- - использование оболочек и адаптеров для обеспечения поддержки.
Связующее ПО способно обеспечить более высокие скорости и улучшение надежности работы, особое внимание в этом сценарии должно уделяться нагрузкам на интерфейс, обеспечивающий взаимодействие.
- Интеграция с БД. В случаях, когда компания использует системы без программных интерфейсов, применение адаптера не представляется возможным. Но поскольку вся информация системы хранится в базах данных, нужно обеспечить доступ к ним, не забыв при этом об их целостности и транзакционности операций. Решение заключается в следующем: выбираются те БД, изменения которых должны быть транслированы в другие системы, с помощью адаптеров данные в качестве событий передаются на сервисную шину и далее применяются готовые программные продукты, которые представляют работу с БД в виде ряда сервисов, либо разрабатываются собственные сервисы. Для обеспечения взаимодействия сервисов используется брокер сообщений.
- Автоматизация процессов с помощью оркестровки сервисов. Помимо интеграции компаниям требуется и автоматизация бизнес-процессов с последующим отслеживанием их эффективности. Для увязки всех систем компании в бизнес-процессы используется сервис оркестровки: все бизнес-процессы описываются и моделируются в соответствии с требованиями сервиса, затем выбираются события, которые инициируют описанные ранее бизнес-процессы, и обеспечивается появление сообщений о подобных событиях на сервисной шине.