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

Архитектура сервисной шины данных ESB
Архитектура интеграции через сервисную шину предприятия (ESB)

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

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

Основные отличия от брокера сообщений

Эта система имеет несколько преимуществ по сравнению с предыдущим решением:

Ключевые преимущества ESB

Управление сервисами и маршрутизация: ESB предоставляет сложные механизмы для управления маршрутами и правилами, позволяя динамически настраивать, как сообщения должны перемещаться между различными сервисами.

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

Управление API: ESB могут включать функции управления API, что позволяет организациям создавать, документировать и контролировать доступ к своим API.

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

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

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

Эволюция к интеграционной платформе

Следующий этап развития

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

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

РОССИЙСКИЕ РЕШЕНИЯ

Российские ESB-платформы

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

Платформа Назначение Особенности Варианты внедрения
FESB Интеграция корпоративных информационных систем и приложений, маршрутизация и преобразование данных. Модульная архитектура, интеграционный брокер, менеджер очередей, REST- и веб-сервисы, средства централизованного управления и мониторинга. Поддерживаются отказоустойчивые и распределённые конфигурации. Локальная или географически распределённая интеграционная шина. Поддерживаются отказоустойчивые конфигурации active/active и active/passive.
1С:Шина Обмен данными между системами на платформе «1С:Предприятие» и внешними информационными системами. Поддержка асинхронного обмена сообщениями, интеграции с системами 1С и внешними системами, HTTP/REST, SOAP, JDBC, AMQP и JMS. Серверное развертывание в инфраструктуре предприятия. Поддерживаются PostgreSQL, Tantor SE-1C, Microsoft SQL Server и файловая СУБД.
DATAREON ESB / DATAREON Platform Построение распределённого информационного ландшафта и централизованный обмен данными между корпоративными системами. ESB- и MQ-функции, коннекторы к 1С, REST-сервисам, веб-сервисам, базам данных и другим источникам. Поддерживаются мониторинг, обработка интеграционных потоков и расширение набора коннекторов. Корпоративное развертывание DATAREON Platform. Для существующих проектов DATAREON ESB предусмотрены инструменты и сценарии перехода на DATAREON Platform.
Digital Q.Integration Интеграция корпоративных приложений и внешних сервисов, проектирование, выполнение и мониторинг интеграционных потоков. Low-code-подход, визуальное проектирование интеграционных потоков, микросервисная архитектура, преобразование данных, брокеры сообщений, мониторинг и горизонтальное масштабирование. Развертывание в корпоративном ИТ-контуре, включая локальную инфраструктуру и Kubernetes. Доступен бесплатный дистрибутив с базовой функциональностью для начала работы и тестирования.
Inpolus ESB Создание корпоративной интеграционной среды и централизованное взаимодействие информационных систем. Визуальная настройка интеграций, API-ориентированный подход, преобразование форматов, поддержка различных протоколов и сценариев интеграции, мониторинг, вертикальное и горизонтальное масштабирование. Централизованная ESB, микросервисная или облачная архитектура. Доступно контейнерное развертывание с использованием Docker.
1С:Интеграция КОРП Интеграция корпоративных учетно-информационных систем с гарантированной доставкой сообщений и использованием канонической модели данных. Центральная база интеграции, транспортный слой, редактор маршрутов, настройка преобразований, бизнес-логи, мониторинг, универсальный коннектор 1С и механизмы отказоустойчивости. Серверное клиент-серверное развертывание на базе «1С:Предприятие 8.3» с интеграцией систем 1С и внешних информационных систем.
Entaxy Создание интеграционных маршрутов и объединение информационных систем в единое информационное поле. Low-code-подход, визуальное создание маршрутов, библиотека готовых элементов и коннекторов, поддержка OData, Kafka, Apache Camel и расширение платформы через API. Развертывание на виртуальных машинах и в контейнерах. Возможна настройка интеграционных маршрутов силами аналитиков.
RedMule Интеграция распределённых информационных систем, приложений, баз данных, очередей сообщений, файловых хранилищ и внешних сервисов. Централизованный интеграционный слой, гарантированная доставка, событийно-ориентированный обмен, мониторинг, обработка ошибок и масштабируемая архитектура. Корпоративное развертывание интеграционной платформы для централизованного обмена данными между распределёнными системами.

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

ВОПРОСЫ И ОТВЕТЫ

Часто задаваемые вопросы
об ESB

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

Интеграция систем
Маршрутизация данных
Обмен сообщениями

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

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

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

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

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

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

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

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

ESB обычно представляет собой интеграционную платформу или middleware для построения взаимодействий между корпоративными системами. iPaaS (Integration Platform as a Service) предоставляет интеграционные возможности как облачный сервис и обычно ориентируется на подключение SaaS, облачных и корпоративных приложений. Различие связано в том числе с моделью предоставления и эксплуатации платформы.

На российском рынке представлены различные интеграционные и ESB-платформы, включая FESB, Datareon, USEBUS AI-Code, Entaxy, Inpolus, RedMule, 1С:Интеграция КОРП, 1С:Шина и другие решения. Состав рынка и позиционирование продуктов меняются, поэтому при выборе платформы следует отдельно проверять поддерживаемые протоколы, средства преобразования данных, мониторинг, отказоустойчивость и условия эксплуатации.