MuleSoft - Введение в Mule ESB
ESB означает Enterprise Service Busкоторый, по сути, является промежуточным программным обеспечением для интеграции различных приложений в шинную инфраструктуру. По сути, это архитектура, разработанная для обеспечения единообразных средств перемещения работы между интегрированными приложениями. Таким образом, с помощью архитектуры ESB мы можем соединять различные приложения через коммуникационную шину и давать им возможность обмениваться данными независимо друг от друга.
Реализация ESB
Основная цель архитектуры ESB - отделить системы друг от друга и позволить им обмениваться данными стабильным и управляемым способом. Реализация ESB может быть выполнена с помощью‘Bus’ и ‘Adapter’ следующим образом -
Концепция «шины», которая достигается с помощью сервера обмена сообщениями, такого как JMS или AMQP, используется для разделения различных приложений друг от друга.
Между приложениями и шиной используется концепция «адаптера», отвечающего за взаимодействие с серверным приложением и преобразование данных из формата приложения в формат шины.
Данные или сообщения, передаваемые из одного приложения в другое через шину, имеют канонический формат, что означает, что будет один согласованный формат сообщения.
Адаптер также может выполнять другие действия, такие как безопасность, мониторинг, обработка ошибок и управление маршрутизацией сообщений.
Руководящие принципы ESB
Мы можем назвать эти принципы основными принципами интеграции. Они следующие -
Orchestration - Интеграция двух или более сервисов для достижения синхронизации между данными и процессом.
Transformation - Преобразование данных из канонического формата в формат, специфичный для приложения.
Transportation - Обработка согласования протокола между форматами, такими как FTP, HTTP, JMS и т. Д.
Mediation - Предоставление нескольких интерфейсов для поддержки нескольких версий службы.
Non-functional consistency - Обеспечение механизма управления транзакциями и безопасности.
Необходимость ESB
Архитектура ESB позволяет нам интегрировать различные приложения, через которые каждое приложение может обмениваться данными. Ниже приведены некоторые рекомендации о том, когда использовать ESB.
Integrating two or more applications - Использование архитектуры ESB выгодно, когда есть необходимость интегрировать два или более сервисов или приложений.
Integration of more applications in future - Предположим, если мы захотим добавить больше сервисов или приложений в будущем, то это можно будет легко сделать с помощью архитектуры ESB.
Using multiple protocols - В случае, если нам нужно использовать несколько протоколов, таких как HTTP, FTP, JMS и т. Д., ESB - правильный вариант.
Message routing - Мы можем использовать ESB в случае, если нам требуется маршрутизация сообщений на основе содержимого сообщения и других подобных параметров.
Composition and consumption - ESB можно использовать, если нам нужно опубликовать сервисы для композиции и потребления.
Интеграция P2P против интеграции ESB
С увеличением количества приложений перед разработчиками встал большой вопрос, как подключить разные приложения? Ситуация была обработана путем ручного кодирования соединения между различными приложениями. Это называетсяpoint-to-point integration.
Rigidityявляется наиболее очевидным недостатком двухточечной интеграции. Сложность увеличивается с увеличением количества подключений и интерфейсов. Недостатки интеграции P-2-P приводят нас к интеграции ESB.
ESB - это более гибкий подход к интеграции приложений. Он инкапсулирует и представляет каждую функциональность приложения как набор дискретных возможностей многократного использования. Ни одно приложение не интегрируется напрямую с другим, вместо этого они интегрируются через ESB, как показано ниже -
Для управления интеграцией ESB имеет следующие два компонента:
Service Registry- Mule ESB имеет реестр / репозиторий сервисов, где публикуются и регистрируются все сервисы, представленные в ESB. Он действует как точка обнаружения, откуда можно использовать услуги и возможности других приложений.
Centralized Administration - Как следует из названия, он обеспечивает представление транзакционных потоков выполнения взаимодействий, происходящих внутри ESB.
ESB Functionality- Аббревиатура VETRO обычно используется для описания функциональных возможностей ESB. Это выглядит следующим образом -
V(Проверить) - Как следует из названия, он проверяет проверку схемы. Требуется проверяющий синтаксический анализатор и актуальная схема. Одним из примеров является XML-документ, подтверждающий актуальность схемы.
E(Обогатить) - добавляет в сообщение дополнительные данные. Цель состоит в том, чтобы сделать сообщение более значимым и полезным для целевой службы.
T(Преобразование) - преобразует структуру данных в канонический формат или из канонического формата. Примеры: преобразование даты / времени, валюты и т. Д.
R(Routing) - он будет маршрутизировать сообщение и действовать как привратник конечной точки службы.
O(Operate) - основная задача этой функции - вызывать целевую службу или взаимодействовать с целевым приложением. Они работают на сервере.
Шаблон VETRO обеспечивает общую гибкость интеграции и гарантирует, что только согласованные и проверенные данные будут маршрутизироваться через ESB.
Что такое Mule ESB?
Mule ESB - это легкая и хорошо масштабируемая служебная шина предприятия (ESB) на основе Java и платформа интеграции, предоставляемая MuleSoft. Mule ESB позволяет разработчику легко и быстро подключать приложения. Независимо от различных технологий, используемых приложениями, Mule ESB обеспечивает простую интеграцию приложений, позволяя им обмениваться данными. Mule ESB имеет следующие две редакции -
- Community Edition
- Enterprise Edition
Преимущество Mule ESB в том, что мы можем легко перейти с сообщества Mule ESB на Mule ESB enterprise, потому что обе версии построены на общей кодовой базе.
Особенности и возможности Mule ESB
Mule ESB обладает следующими функциями:
- Он имеет простой графический дизайн с возможностью перетаскивания.
- Mule ESB поддерживает визуальное отображение и преобразование данных.
- Пользователь может получить возможность использовать сотни готовых сертифицированных разъемов.
- Централизованный мониторинг и администрирование.
- Он обеспечивает надежные возможности обеспечения безопасности предприятия.
- Он предоставляет возможность управления API.
- Существует безопасный шлюз данных для облачного / локального подключения.
- Он предоставляет реестр сервисов, в котором публикуются и регистрируются все сервисы, представленные в ESB.
- Пользователи могут управлять через веб-консоль управления.
- Быструю отладку можно выполнить с помощью анализатора потока службы.