Башкирская чрезвычайная комиссия
- 1 year ago
- 0
- 0
Mule ESB — это легковесная интеграционная платформа ( сервисная шина предприятия — ESB), которая позволяет разработчику объединять различные информационные системы на основе принципов обмена сообщениями (message routing), сопоставления данных (data mapping), управления сообщениями (orchestration), надежности (контроль за обменом сообщениями), защиты (использование https и опциональных коннекторов) и масштабирования между узлами (коннекторами).
Mule ESB является открытым программным обеспечением (CPAL-лицензия). Название Mule ( Мул ) было дано, так как Mule ESB «берёт на себя большую разработческую нагрузку» (облегчает труд разработчика интеграционной системы и обеспечивает должную производительность).
ESB — это разновидность сервис-ориентированной архитектуры , предполагающая использование заимствованного из электроники понятия общей шины , заменяющей «салат из проводов» (point-to-point connections). Особенно хорошо эта архитектура зарекомендовала себя для задачи интеграции приложений предприятия , разработанных разными производителями.
Основными задачами ESB являются:
Возможно как синхронное, так и асинхронное взаимодействие между службами, но последнее преобладает, поэтому большинство технических реализаций ESB архитектуры относятся к message-oriented middlware . Поскольку сервисы предполагаются совершенно автономными, их доступность в любой данный момент времени не гарантирована и возникает задача маршрутизации и буферизации сообщений для надежной их обработки.
Платформа ориентирована на Java , но может быть брокером для других платформ, таких, как .NET с помощью веб-служб или сокетов .
Архитектура представляет собой масштабируемый , распределённый объект-брокер, который может легко управлять взаимодействиями между приложениями различных производителей, включая облачные и с использованием почти всех современных протоколов.
Многие из конкурентных реализаций ESB предоставляют ограниченную функциональность или строятся поверх существующего сервера приложений или сервера сообщений, привязывая пользователя к конкретному поставщику. Mule независима от поставщика.
Mule ESB в качестве элементов обработки сообщений (трансформаторов) может использовать вставки кода на популярных языках программирования ( Java , Groovy , Ruby , JavaScript , Python ). Исходные коды Mule ESB написаны на Java (платформа Java EE ) и соответственно поддерживается взаимодействие с данным стеком технологий (готовое приложение может быть запущено на сервере приложений Apache_Tomcat ).
Mule ESB построена на принципе обмена сообщениями между коннекторами — объект «MuleMessage» содержит внутри себя объект «Payload» — полезная нагрузка сообщения. Путём трансформирования и маршрутизации сообщений можно создать необходимый интеграционный процесс (flow). Mule ESB позволяет создавать интеграционные процессы (flow) с использованием паттернов (pattern — не имеют графического отображения в MuleStudio) или непосредственно flow (flow конструируется путём подключения компонентов из нужных палитр MuleStudio). flow Mule ESB являются XML схемами. Приложение может содержать несколько flow для решения различных задач.
Для разработчика предоставляется инструментарий «Mule Studio» — среда разработки основанная на популярной IDE ( интегрированной среде разработки ) Eclipse , позволяет создавать, запускать и отлаживать Mule проекты.