Системная интеграция - Mule Enterprise

Mule ESB - одно из самых популярных ESB-решений. К достоинствам Mule ESB относят:

  • Открытый исходный код: весь код доступен. Вы можете полностью контролировать решение, построенное на  Mule ESB - у вас нет "черного ящика", в котором что-то работает, работает не так, как вам надо, и вы не знаете, что с этим делать. Вы можете легко убедиться в высоком качестве кода, исследовав любой файл.
  • Простота установки и скорость: Mule ESB можно развернуть практически на любой системе с минимальными системными требованиями. При этом скорость работы Mule ESB значительно выше чем у конкурентов.
  • Дружественность для разработчиков: это ESB-решение, созданное для разработчиков. Большое внимание уделяется скорости разработки решений на базе ESB и тесной интеграции с популярными средствами разработки (Eclipse IDE).
  • Адаптированость для облачных решений: Mule ESB разработано для запуска в облачной инфраструктуре, сфокусировано на интеграции внутренних систем организации с внешними облачными системами и сервисами. Интеграционные решения, написанные на Mule ESB могут быть установлены как локально, так и развернуты в облаке.

Проблема и решение

Для решения каких задач подходит Mule ESB?  Рассмотрим IT-инфраструктуру вашей организации. Скорее всего, у вас используется несколько баз данных. Скорее всего, у вас есть системы, которые вы разрабатывали собственными силами в течение многих лет. И, наверняка, есть какие-то приложения от третьих поставщиков (например, SAP).

А теперь представим сложность интеграции всех этих систем друг с другом. Интеграция каждой конкретной пары систем требует отдельной работы. Требования к IT постоянно изменяются, и вам приходится постоянно менять разные части интеграционных модулей для соответствия им. Задаются жесткие зависимости между различными приложениями организации. С течением времени в системе появляются новые приложения, и это экспоненциально увеличивает проблему: каждое новое приложение требует интеграции со всеми существующими. В итоге, мы получаем классическое "спагетти".

Mule Enterprise, играя центральную роль в интеграции всех приложений организации, позволяет упростить и стандартизировать все взаимодействия между различными приложениями. При подключении нового приложения вам необходимо интегрировать его только с Mule.

Поддержка облачных решений

Использование облачных решений - очевидный тренд последних лет, и Mule ESB выступает одним из пионеров в области использование ESB для интеграции облачных сервисов и в принципе разворачивании интеграционных решений "в облаке". MuleSoft AnyPoint - огромная коллекция готовых к использованию адаптеров, которая позволит вам легко интегрировать ваши внутренние системы с популярными облачными сервисами. Mule CloudHub - инновационный iPAAS сервис, который дает возможность запустить ваши интеграционные решения в облаке даже без локальной установки Mule ESB.

Итак, что такое Mule Enterprise?

Mule Enterprise - это интеграционная платформа, охватывающая все аспекты решения интеграционных задач и предоставляющая лучшие средства на рынке для разработки, внедрения и управления вашими интеграционными решениями. К тому же вам предлагается полная свобода по расширению функциональности под ваши нужды. Ниже рассмотрим эти аспекты подробнее.

Разработка

Строительные блоки

Mule Studio Enterprise позволяет строить интеграционные решения с использованием графических блоков, реализующих тот или иной стандартный интеграционный шаблон. Эти "кирпичики" представляют все виды компонентов, используемых в интеграционных решениях: коннекторы, трансформеры, маршрутизаторы (router) и процессоры. Вы можете комбинировать их с использованием Drag'n'Drop, создавая так называемые Flow. Как видно из названия, Flow представляет из себя поток информации через Mule из и во внешние системы, интегрируемые с использованием Mule.

Графические средства разработки

Удобный графический редактор представляет наглядное отображение xml-файла описывающего поток (flow) c использованием специального языка описания. Вы просто конструируете поток обработки информации, не задумываясь о том, как это "программируется"! Редактор работает в обе стороны: изменения в графическом редакторе сохраняются в xml, а изменения в xml отображаются в графическом редакторе.

Отображение данных

Одна из самых дорогих частей разработки интеграционных приложений - описание того, как данные различных форматов трансформируются друг в друга. Это общая проблема всех интеграционных решений - различные приложения используют собственные форматы представления одних и тех же данных. При выполнении интеграционных задач необходимо научить их обмениваться данными друг с другом. Mule Studio Enterprise решает эту задачу с использованием графического средства "Отображение данных", где в удобной графической форме вы можете описать правила преобразования данных из одного формата в другой.

Внедрение

Mule Studio Enterprise упрощает внедрение вашего интеграционного решения до одного клика! Выполнить установку приложения вы можете во встроенный в Studio сервер Mule, на установленный на предприятии сервер, или даже в Mule CloudHub - облачный сервис для интеграционных приложений.

Управление

Очень важно иметь возможность контролировать работу развернутых интеграционных приложений в любой момент времени. Mule Enterprise Management Console предоставляет не только возможность отслеживать текущее состояние приложения на всех уровнях от "Сервера" до "Сообщения", но и возможность реагировать на события, управляя всеми компонентами приложения.

Вы можете отслеживать соответствие производительности системы принятым соглашениям об уровне обслуживания (SLA), получать предупреждения при возникновении проблем и следить за ключевыми индикаторами производительности (KPI). Вы можете легко и быстро решать любые проблемы в вашем приложении с использованием Message Flow Analyzer - это ваше окно даже для мельчайших деталей прохождения сообщений через сервер Mule. Для большей безопасности доступ к панели управления можно разрешить только сотрудникам с определенными ролями, уже заданными в вашем сервере LDAP (или Active Directory).

Расширение

Mule предлагает широкий спектр средств для построения интеграционных приложений с использованием готовых коннекторов, трансформеров и маршрутизаторов.

Коннекторы

В Mule входит набор коннекторов, использующих все популярные механизмы взаимодействия и протоколы. Но это еще не все. С использованием облачных коннекторов (Cloud Connectors) вы можете легко интегрироваться с быстрорастущим набором облачных сервисов. Наладить взаимодействия в рамках Flow с SalesForce, Twitter или любым другим популярным сервером так же легко, как и с базой данных или стандартным приложением.

Трансформеры и маршрутизаторы

В то время как огромный набор трасформеров и маршрутизаторов подходят для большинства стандартных случаев, наши Java-обработчики позволяют вам написать любую собственную интеграционную логику. А Scripting-обработчики позволяют сделать то же самое с наиболее популярными скриптовыми языками: Mule Expression Language, Groove, Ruby, Javascript Python, PHP и любым другим языком, поддерживающим встраивание и исполнение в JVM с использованием JSR-233. Эти расширения позволяют приумножить возможности Mule для реализации любых интеграционных проектов. Вместо того чтобы как-либо ограничивать разработчиков, Mule предлагает как широкий набор готовых к использованию средств интеграции, так и безграничные возможности по их расширению.

DevKit

Мощные возможности по расширению Mule становятся еще больше с DevKit, который позволяет представить сложную логику интеграции и взаимодействия с другими бизнес-системами или внешними облачными сервисами в виде простых блоков, встроенных в Mule Studio и легко используемых наравне со стандартными блоками.

Высокая доступность в критически важных системах

Mule Enterprise используется во многих компаниях с высокими требованиями к уровню надежности и работоспособности сервисов, благодаря специальным возможностям по настройке High Aviability в Mule Enterprise. Технология Shared Memory Grid позволяет добиться нулевых потерь сообщений в приложениях, которые должны работать круглосуточно, без малейших перебоев. Вы можете построить кластер серверов, выступающих как единое целое, в целях обеспечения отказоустойчивости, распределения нагрузки и распределенного доступа к ресурсам, таким как файловые системы, базы данных, FTP. Все это выглядит прозрачно для разработчиков - при разработке интеграционных решений не требуется применение каких-либо специальных средств для поддержки кластеризации.

Community или Enterprise?

Итак, давайте проанализируем, в каких же случаях вам стоит обратить пристальное внимание на Enterprise версию Mule ESB:

  • Отображение данных (Data Mapper): специальное графическое средство, значительно упрощающее описание сложной логики по трансформации данных из одного формата в другой;
  • Коннектор SAP: коннектор SAP, используемый в Mule ESB, является первым коннектором ESB, сертифицированным компанией SAP. Интегрируйтесь в SAP (одну из самых популярных систем планирования ресурсов) путем посылки и получения iDocs или JcoFunctions и легко преобразуйте их в XML;
  • JDBC: версия коннектора, включенная в  Mule Enterprise ;поддерживает batched statements, преобразование JDBC в XML/CSV, вызов встроенных процедур;
  • Кеш: избегайте лишних обращений к базе данных, внешнему сервису или любому другому элементу Mule Flow, используя кеширование результатов выполнения с гибкими настройками;
  • FTP: устанавливайте минимальный возраст считываемых файлов и место их хранения с использованием специального коннектора FTP;
  • Высокая доступность: средства кластеризации позволяют настроить несколько серверов Mule для работы в кластере как единый сервер с целью обеспечения отказоустойчивости и распределения нагрузки и гарантируют отсутствие потери сообщений;
  • Централизованное управление: с Mule Enterprise вы получаете возможность отслеживать и контролировать все аспекты работы вашего интеграционного решения, начиная от серверов в кластере и заканчивая данными в обрабатываемых сообщениях;
  • Бизнес-события: Mule Enterprise собирает критически важную информацию о работе системы и обработке сообщений на основании заранее заданных ключевых индикаторов эффективности, формирует на их основании бизнес-события, которые могут быть сохранены в любой заданной базе данных;
  • Уровни поддержки сервиса: могут быть заданы для обеспечения соблюдения работоспособности приложения и легко централизованно отслеживаться с использованием "рабочего стола".