MuleESB

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Mule ESB
Тип

ESB

Разработчик

Mulesoft

Операционная система

кроссплатформенное программное обеспечение

Последняя версия

3.4 (Апрель 16, 2013)

Лицензия

CPAL

Сайт

mulesoft.org


Mule ESB — это легковесная интеграционная платформа (сервисная шина предприятия - ESB), которая позволяет разработчику объединять различные информационные системы на основе принципов обмена сообщениями (message routing), сопоставления данных (data mapping), управления сообщениями (orchestration), надежности (контроль за обменом сообщениями), защиты (использование https и опциональных коннекторов) и масштабирования между узлами (коннекторами).

Mule ESB является открытым программным обеспечением (CPAL-лицензия). Название Mule (Мул) было дано, так как Mule ESB "берёт на себя большую разработческую нагрузку" (облегчает труд разработчика интеграционной системы и обеспечивает должную производительность).

Идеология ESB[править | править вики-текст]

ESB - это разновидность сервис-ориентированной архитектуры, предполагающая использование заимствованного из электроники понятия общей шины, заменяющей "салат из проводов" (point-to-point connections). Особенно хорошо эта архитектура зарекомендовала себя для задачи интеграции приложений предприятия, разработанных разными производителями. [1]

Основными задачами ESB являются:

  • Маршрутизация обмена сообщениями между службами (services)
  • Разрешение несогласованностей между взаимодействующими компонентами службы
  • Развертывание (deployment) и управление версиями служб
  • Организация пользования резервными службами
  • Предоставление сервисам услуг общего характера, таких, как обработка событий, преобразования форматов данных и сообщений, управление очередями для событий и сообщений, безопасность или обработку исключений, преобразование протоколов (HTTP, FTP, REST, SOAP, JSON, DCOM, CORBA, SAP RFC и т.д.).

Возможно как синхронное, так и асинхронное взаимодействие между службами, но последнее преобладает, поэтому большинство технических реализаций ESB архитектуры относятся к message-oriented middlware. Поскольку сервисы предполагаются совершенно автономными, их доступность в любой данный момент времени не гарантирована и возникает задача маршрутизации и буферизации сообщений для надежной их обработки.

Архитектура Mule ESB[править | править вики-текст]

Платформа Java-базирована, но может быть брокером для других платформ, таких, как .NET с помощью веб-служб или сокетов.

Архитектура представляет собой масштабируемый[2], распределенный объект-брокер, который может легко управлять взаимодействиями между приложениями различных производителей, включая облачные и с использованием почти всех современных протоколов.

Многие из конкурентных реализаций 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 ESB[править | править вики-текст]

  • Mule позволяет связываться с рекордным количеством протоколов: SOAP, REST, JMS, MQ, JBI, AQ, Caching, JavaSpaces, GigaSpaces, Email, IM, JCA, AS400 Data Queues, System I/O.
  • интеграция приложений или систем непосредственно или с использованием облачных коннекторов
  • использование коннекторов "из коробки" для интеграции SaaS приложений
  • создание и экспонирование(предоставление в публичный доступ) API
  • использование готовых API
  • создание веб-сервисов управляющих сообщениями от других веб-сервисов
  • создание интерфейсов для экспонирования приложений (предоставления в публичный доступ)
  • интеграция B2B с решениями, которые просто защищать, имеют высокую эффективность и просты в развертывании
  • вывод приложений в облачные сервисы

Для разработчика предоставляется инструментарий "Mule Studio" - среда разработки основанная на популярной IDE (интегрированной среде разработки) Eclipse, позволяет создавать, запускать и отлаживать Mule проекты.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. The Role of the Enterprise Service Bus
  2. Mule: A Case Study

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]


Категория:Программное_обеспечение_по_алфавиту Категория:Свободное_программное_обеспечение,_написанное_на_Java

en:Mule_ESB