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.
  • Пользователи могут управлять через веб-консоль управления.
  • Быструю отладку можно выполнить с помощью анализатора потока службы.