ESB (Enterprise Service Bus)

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

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

Брокер сообщений

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

Важное уточнение

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

Современная интеграционная платформа - ваш ключ к успеху в мире цифровых технологий!

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

Подробнее о ESB и брокерах сообщений

Рассмотрим, из чего состоит корпоративная шина данных (ESB), и за что отвечает каждый из её модулей:

Модули ESB

Брокер сообщений

Модуль, отвечающий за логистику сообщений между системами.

Модуль преобразования данных

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

Модуль безопасности

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

Модуль управления и мониторинга

Этот модуль позволяет отслеживать производительность шины и её компонентов, активность конкретных модулей и выявлять ошибки.

Модули брокера сообщений

Управление очередями

Модуль управления очередями отвечает за создание, управление и хранение очередей сообщений.

Маршрутизация сообщений

Модуль маршрутизации определяет, как и куда будут направляться сообщения.

Обработка сообщений

Модуль обработки сообщений отвечает за обработку сообщений, включая их извлечение из очереди и передачу получателям.

Обработка ошибок

Модуль обработки ошибок и управления отвечает за обработку ошибок в процессе передачи и обработки сообщений.

Примеры ESB:

Factor ESB Apache Camel SAP PI IBM IIB Oracle Service Bus Red Hat

Примеры брокеров:

Apache ActiveMQ RabbitMQ Apache Kafka MSMQ

Сравнение характеристик

Важно!

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

Характеристика Брокер сообщений ESB
Функциональность Фокусируется на надежной доставке и асинхронной обработке сообщений, предоставляя возможности очереди и публикации/подписки Предоставляет широкие возможности интеграции, включая преобразование данных, маршрутизацию, оркестрацию, управление потоком сообщений, безопасность, мониторинг
Сложность Проще в использовании и обслуживании, требует меньше вычислительных ресурсов Более сложный из-за богатой функциональности, требует специализированных знаний для настройки и дальнейшего обслуживания. Как правило используется в кластере
Гибкость Менее гибкий, но обеспечивает простоту и надежность в стандартных сценариях Более гибкий и настраиваемый, позволяет создавать сложные интеграционные сценарии
Стоимость Низкая стоимость первоначальной покупки, высокая стоимость владения на добавлении сложных сценариев Более высокая стоимость первоначальной покупки, низкая стоимость владения за счёт скорости и удобства подключения новых систем

Сценарии применения

Сценарий применения ESB

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

1

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

2

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

3

ESB получает данные из связанных систем и отправляет итоговое сообщение в систему CRM, чтобы клиент автоматически получил подтверждение запроса, с прогнозируемыми датами доставки.

Сценарий применения брокера сообщений

У компании есть интернет-магазин, где клиенты оформляют заказы, компания должна обработать их в первую очередь. Брокер сообщений (например, RabbitMQ или Kafka) позволяет передавать данные о заказах и выполнять обработку без ожидания каждого шага, что обеспечивает быстрое выполнение системы взаимодействия.

1

Клиент оформляет заказ, и система сразу же отправляет сообщение о новом заказе в очередь брокера.

2

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

3

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

Что же выбрать: ESB или брокер сообщений?

Важно!

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

Критерии Брокер сообщений ESB
Форматы и протоколы Достаточно одного формата или протокола Необходима трансформация данных и поддержка разных протоколов
Последовательность обработки Допускается асинхронная обработка Требуется четкая последовательность передачи данных, может использоваться асинхронная обработка данных
Надежность передачи Важна только устойчивость к сбоям и буферизации сообщений Необходима централизованная надежность передачи данных
Централизованное управление Легкая интеграция и настройка независимых сервисов Требуется контроль и управление потоками

ESB ИЛИ брокер сообщений?

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

Почему стоит обратиться к нам?

Наши услуги – это сочетание инноваций, профессионализма и индивидуального подхода. Доверьтесь экспертам и добейтесь успеха!

Перейти на страницу