ESB расшифровывается как Enterprise Service Bus, который в основном представляет собой инструмент промежуточного программного обеспечения для интеграции различных приложений вместе в инфраструктуру, подобную шине. По сути, это архитектура, разработанная для обеспечения единообразных средств перемещения работы среди интегрированных приложений. Таким образом, с помощью архитектуры ESB мы можем соединять различные приложения через коммуникационную шину и позволять им обмениваться данными, не завися друг от друга.
Внедрение ESB
Основным направлением архитектуры ESB является разделение систем друг от друга и обеспечение их устойчивой и управляемой связи. Реализация ESB может быть осуществлена с помощью «Bus» и «Adapter» следующим образом:
-
Концепция «шины», которая достигается с помощью сервера обмена сообщениями, такого как JMS или AMQP, используется для отделения различных приложений друг от друга.
-
Понятие «адаптер», отвечающее за связь с внутренним приложением и преобразование данных из формата приложения в формат шины, используется между приложениями и шиной.
Концепция «шины», которая достигается с помощью сервера обмена сообщениями, такого как JMS или AMQP, используется для отделения различных приложений друг от друга.
Понятие «адаптер», отвечающее за связь с внутренним приложением и преобразование данных из формата приложения в формат шины, используется между приложениями и шиной.
Данные или сообщения, передаваемые из одного приложения в другое по шине, представлены в каноническом формате, что означает наличие одного согласованного формата сообщения.
Адаптер также может выполнять другие действия, такие как безопасность, мониторинг, обработка ошибок и управление маршрутизацией сообщений.
Руководящие принципы ESB
Мы можем назвать эти принципы основными принципами интеграции. Они заключаются в следующем —
-
Оркестровка — интеграция двух или более сервисов для достижения синхронизации между данными и процессами.
-
Преобразование — Преобразование данных из канонического формата в специальный формат приложения.
-
Транспортировка — обработка протокола согласования между форматами, такими как FTP, HTTP, JMS и т. Д.
-
Посредничество — предоставление нескольких интерфейсов для поддержки нескольких версий службы.
-
Нефункциональная согласованность — обеспечение механизма управления транзакциями и безопасности.
Оркестровка — интеграция двух или более сервисов для достижения синхронизации между данными и процессами.
Преобразование — Преобразование данных из канонического формата в специальный формат приложения.
Транспортировка — обработка протокола согласования между форматами, такими как FTP, HTTP, JMS и т. Д.
Посредничество — предоставление нескольких интерфейсов для поддержки нескольких версий службы.
Нефункциональная согласованность — обеспечение механизма управления транзакциями и безопасности.
Нужен ESB
Архитектура ESB позволяет нам интегрировать различные приложения, где каждое приложение может взаимодействовать через него. Ниже приведены некоторые рекомендации по использованию ESB.
-
Интеграция двух или более приложений. Использование архитектуры ESB выгодно, когда необходимо интегрировать два или более сервисов или приложений.
-
Интеграция большего количества приложений в будущем. Предположим, что если мы хотим добавить больше сервисов или приложений в будущем, это можно легко сделать с помощью архитектуры ESB.
-
Использование нескольких протоколов — в случае, если нам нужно использовать несколько протоколов, таких как HTTP, FTP, JMS и т. Д., ESB является правильным вариантом.
-
Маршрутизация сообщений — мы можем использовать ESB в случае, если нам требуется маршрутизация сообщений на основе содержимого сообщения и других аналогичных параметров.
-
Состав и потребление — ESB можно использовать, если нам нужно публиковать услуги для состава и потребления.
Интеграция двух или более приложений. Использование архитектуры ESB выгодно, когда необходимо интегрировать два или более сервисов или приложений.
Интеграция большего количества приложений в будущем. Предположим, что если мы хотим добавить больше сервисов или приложений в будущем, это можно легко сделать с помощью архитектуры ESB.
Использование нескольких протоколов — в случае, если нам нужно использовать несколько протоколов, таких как HTTP, FTP, JMS и т. Д., ESB является правильным вариантом.
Маршрутизация сообщений — мы можем использовать ESB в случае, если нам требуется маршрутизация сообщений на основе содержимого сообщения и других аналогичных параметров.
Состав и потребление — ESB можно использовать, если нам нужно публиковать услуги для состава и потребления.
Интеграция P2P против интеграции ESB
С увеличением количества приложений перед разработчиками встал большой вопрос: как подключить разные приложения? Ситуация была решена путем ручного кодирования связи между различными приложениями. Это называется двухточечной интеграцией .
Жесткость является наиболее очевидным недостатком интеграции точка-точка. Сложность увеличивается с увеличением количества соединений и интерфейсов. Недостатки интеграции P-2-P приводят нас к интеграции ESB.
ESB — более гибкий подход к интеграции приложений. Он инкапсулирует и раскрывает функциональность каждого приложения как набор отдельных многократно используемых возможностей. Ни одно приложение не интегрируется напрямую с другими, вместо этого они интегрируются через ESB, как показано ниже —
Для управления интеграцией ESB имеет следующие два компонента:
-
Реестр сервисов — Mule ESB имеет Реестр / репозиторий сервисов, где публикуются и регистрируются все сервисы, предоставляемые в ESB. Он действует как точка обнаружения, откуда можно использовать услуги и возможности других приложений.
-
Централизованное администрирование — как видно из названия, оно предоставляет представление о транзакционных потоках производительности взаимодействий, происходящих внутри ESB.
Реестр сервисов — Mule ESB имеет Реестр / репозиторий сервисов, где публикуются и регистрируются все сервисы, предоставляемые в ESB. Он действует как точка обнаружения, откуда можно использовать услуги и возможности других приложений.
Централизованное администрирование — как видно из названия, оно предоставляет представление о транзакционных потоках производительности взаимодействий, происходящих внутри ESB.
Функциональность ESB — аббревиатура VETRO обычно используется для обобщения функциональности ESB. Это следующим образом —
-
V (Проверка): как видно из названия, оно проверяет правильность схемы. Требуется проверяющий синтаксический анализатор и обновленная схема. Одним из примеров является XML-документ, подтверждающий актуальную схему.
-
E (Enrich): добавляет в сообщение дополнительные данные. Цель состоит в том, чтобы сделать сообщение более значимым и полезным для целевой службы.
-
T (Transform): преобразует структуру данных в канонический формат или из канонического формата. Примерами являются конвертация даты / времени, валюты и т. Д.
-
R (Маршрутизация): он будет маршрутизировать сообщение и действовать как привратник конечной точки службы.
-
O (Operate): основная задача этой функции — вызывать целевой сервис или взаимодействовать с целевым приложением. Они бегут в бэкэнд.
V (Проверка): как видно из названия, оно проверяет правильность схемы. Требуется проверяющий синтаксический анализатор и обновленная схема. Одним из примеров является XML-документ, подтверждающий актуальную схему.
E (Enrich): добавляет в сообщение дополнительные данные. Цель состоит в том, чтобы сделать сообщение более значимым и полезным для целевой службы.
T (Transform): преобразует структуру данных в канонический формат или из канонического формата. Примерами являются конвертация даты / времени, валюты и т. Д.
R (Маршрутизация): он будет маршрутизировать сообщение и действовать как привратник конечной точки службы.
O (Operate): основная задача этой функции — вызывать целевой сервис или взаимодействовать с целевым приложением. Они бегут в бэкэнд.
Шаблон VETRO обеспечивает общую гибкость интеграции и гарантирует, что только согласованные и проверенные данные будут маршрутизироваться по всему ESB.
Что такое Mule ESB?
Mule ESB — это легкая и масштабируемая корпоративная сервисная шина на основе Java (ESB) и платформа интеграции, предоставляемая MuleSoft. Mule ESB позволяет разработчику легко и быстро подключать приложения. Независимо от различных технологий, используемых приложениями, Mule ESB обеспечивает простую интеграцию приложений, позволяя им обмениваться данными. Мул ESB имеет следующие два издания —
- Community Edition
- Enterprise Edition
Преимущество Mule ESB заключается в том, что мы можем легко перейти с сообщества Mule ESB на Mule ESB enterprise, поскольку оба выпуска построены на базе общего кода.
Особенности и возможности Mule ESB
Мул ESB обладает следующими характеристиками:
Он имеет простой графический дизайн перетаскивания.
Mule ESB способен визуально отображать и преобразовывать данные.
Пользователь может получить возможность установки сотен предварительно сертифицированных разъемов.
Централизованный мониторинг и администрирование.
Это обеспечивает надежные возможности обеспечения безопасности предприятия.
Он предоставляет возможность управления API.
Существует безопасный шлюз данных для облачной / локальной сети.
Он предоставляет реестр сервисов, в котором публикуются и регистрируются все сервисы, представленные в ESB.
Пользователи могут управлять через веб-консоль управления.
Быстрая отладка может быть выполнена с помощью анализатора потока услуг.