Сравнение ESB-решений, популярных на российском рынке

Часть 2: особенности систем

27.9.2021
Сравнение ESB-решений, популярных на российском рынке

Содержание

Рассматриваем особенности функционирования и интерфейсов ESB-систем, популярных на российском рынке: Talend, Mule, Red Hat Fuse, WSO2.

Зачем в проекте ESB: техническая сторона вопроса

ESB-шины: краткий обзор возможностей, плюсов и минусов

  • Talend
  • Mule
  • Red Hat Fuse
  • WSO2

Итоги: как выбрать ESB-систему для своего проекта

Продолжаем цикл статей о ESB-системах, популярных на российском рынке.

В прошлой статье мы рассматривали, как в системах Talend, Mule, Red Hat Fuse и WSO2 реализованы компоненты ESB-слоя: студия, брокеры сообщений, мониторинг, логирование. Теперь подробнее остановимся на том, что представляет собой каждая из этих систем, как выглядит их интерфейс, каковы свойственные им плюсы и минусы в разработке и поддержке интеграций. В дополнение мы поделимся собственными впечатлениями от реализации каждой из этих систем.

Зачем в проекте ESB: техническая сторона вопроса

Одно из наиболее частых возражений против использования ESB-слоя в архитектуре компании или отдельного проекта — независимые системы можно связать и без «посредников». Достаточно разработать в одной из этих систем модуль интеграции или использовать, к примеру, API.

Давайте рассмотрим эти варианты подробнее.

Первый вариант — модуль интеграции в одной из систем. Как правило, его разработку делегируют команде, которая непосредственно занимается разработкой этой системы. Для такой команды разработка интеграций — задача непрофильная, связанная с рисками, например, наделать неочевидных ошибок в интеграции, потратить значительно больше времени, чем запланировано, совершить архитектурные ошибки.

Плюс команде разработки придётся делать «обвязку» системы, чтобы контролировать работоспособность интеграции. А это непростая и объёмная задача. Нужно не только разработать интеграцию, которая работает без сбоев, но и дать команде поддержки понятные регламенты работы с теми сбоями, которые всё же могут возникнуть.

И даже если интеграция работает здесь и сейчас, нет никакой гарантии, что она будет работать завтра. И тем более нет гарантии, что команда разработки узнает об «отвалившейся» интеграции раньше, чем к ней придёт заказчик с претензией: «У меня не работает обмен данными».

Второй вариант — передача данных через интерфейс API или, к примеру, GraphQL. Тут есть нюанс: API, который система использует для обмена данными с внешним миром, пассивен. Система может только отвечать на запросы — отдавать данные вовне или изменять их по «инициативе» другой системы.

rus: Две пассивные системы с API без ESB-шины

В итоге две интегрируемые системы будут ждать друг от друга «инициативы» для передачи информации (с API это неизбежно). Чтобы передача состоялась, придётся вводить третьего «игрока» — активную систему, т. е. фактически шину данных (ESB).

rus: Связь двух систем через ESB-шину

В идеальном кейсе эту «конструкцию» надо дополнить вебхуками в мастер-системе, т. е. в системе, являющейся источником данных. Они будут «запускать» запросы на изменение данных в системах-приёмниках сразу после того, как эти данные поменяются в мастер-системе.

ESB-шины: краткий обзор возможностей, плюсов и минусов

Рассмотрим подробнее четыре ESB-системы, популярные на российском рынке, с которыми работает команда kt.team: Talend, Mule, Red Hat Fuse и WSO2. Для «иллюстрирования» этой статьи мы сняли небольшие видео, в которых вы можете узнать, как выглядит интерфейс систем и как происходит разработка интеграции.

Talend

Talend — продукт одноимённой французской компании (сейчас зарегистрированной в США), появившийся на рынке в 2006 году. На официальном сайте Talend позиционируется как «первое коммерческое решение для разработки интеграций с открытым кодом». Возможно, из-за того что Talend стала пионером в своей области, она и сегодня имеет более архаичный интерфейс, чем другие шины.

rus: Интерфейс Talend ESB

Плюсы

Почти весь функционал платной версии может быть реализован open-source инструментами. В студию «зашито» огромное количество готовых компонентов, также есть возможность для разработки новых.

Благодаря понятной и развёрнутой документации начать работу с Talend несложно. Фактически все типовые действия и вопросы уже описаны в инструкции.

Кроме того, вокруг Talend сформировалось комьюнити разработчиков: на форуме они обсуждают особенности работы с системой, возможности её развёртывания и реализации отдельных функций. Если в процессе работы у вас возникнут вопросы, вы легко сможете обратиться к «коллективному разуму».

Минусы

Помимо архаичного интерфейса, к минусам Talend относится достаточно сложный механизм создания подпрограмм. Если вы хотите выделить кусочек джобы (мини-программы, которая выполняет конкретную задачу) и превратить его в подпрограмму, к которой будете обращаться из нескольких мест основной джобы, придётся потратить много времени на погружение и изучение студии, особенно если с системой будет работать бизнес-аналитик без глубоких познаний в программировании (т. н. citizen developer).

В бесплатную версию Talend не включён Git, но вы можете подключить его самостоятельно. Ситуацию осложняет структура проекта в системе: проект состоит из атомарных и визуально не связанных между собой джоб вместо «дерева файлов».

В платную версию Git встроен, но работает он в фоновом режиме: вы им не управляете. Также нужно отметить, что сама суть работы с Git'ом в платной версии заключается в коммите каждого изменения в автоматическом режиме. Одну и ту же джобу нельзя редактировать с двух компьютеров одновременно — только открыть для чтения.

Добавим сюда не очень простой механизм создания собственных компонентов — и получим довольно сложную для пользователя систему с высоким порогом вхождения именно в разработку.

На уровне линий передачи данных между элементами Talend обладает гибкой настройкой. Выглядит как преимущество, но на деле в этом же и недостаток системы. Бизнес-аналитику будет сложно разобраться в трансформации объектов. Логика работы линий неочевидна: чтобы разобраться в поведении программы, приходится учитывать асинхронную работу этих самых линий.

Резюмируем

Talend — однозначно мощный инструмент даже в бесплатной версии, но понять это в полной мере можно, только привыкнув к его логике.

Mule

Сейчас продукт принадлежит компании Salesforce. Первые упоминания о нём можно встретить в районе 2006 года: именно тогда Росс Мэйсон начал разработку Mule. За три года разработка Мэйсона набрала популярность, и он открыл компанию MuleSource (с 2009 года — MuleSoft) с головным офисом в Сан-Франциско.

Название продукта объясняется так: Mule (в переводе с англ. «мул») выполняет за разработчиков «ослиную работу» (от англ. donkey work). Именно ею занимаются разработчики, когда пишут код для интеграции систем. На помощь разработчикам приходит Anypoint Platform, которая позволяет быстро настраивать взаимодействие различных приложений, данных и устройств с помощью API.

В марте 2018 года компания Salesforce купила MuleSoft за 6,5. млрд долларов — на тот момент самое дорогое приобретение компании Марка Бениоффа. Mule поддерживает миссию экосистемы Salesforce по переводу бизнеса в облачное пространство.

rus: Интерфейс Mule ESB

Плюсы

Интерфейс создан на базе Eclipse, имеет интуитивно понятные элементы и компоненты. Многие компоненты, которые по умолчанию устанавливаются в процессе сборки джоб, не требуют корректировки.

Инструмент Anypoint Studio позволяет просто и эффективно контролировать все API в оркестрации по ключевым параметрам и метрикам: изначальный дизайн будущего API, контроль доступа, логирования и серверной статистики.

Инструмент Anypoint Exchange позволяет вести каталог, искать различные артефакты (API, фрагменты кода, шаблоны, примеры, коннекторы и т. д.) и делиться ими. Все эти артефакты могут быть предоставлены публично или внутри организации.

Для создания интеграций хватает облачных сервисов. Таким образом, Mule соответствует новой концепции iPaaS (сокр. от англ. integration platform as a service, рус. «интеграционная платформа как услуга»). Концепция ESB подразумевает развёртывание всей инфраструктуры с нуля на своих серверах. Однако сегодня многие компании используют облачные сервисы. Построить свою инфраструктуру с iPaaS можно намного быстрее и качественнее, чем разрабатывать её с нуля.

Весь проект можно просматривать на уровне файлов, что позволяет работать с Git для управления изменениями в проектах.

Минусы

Бесплатная пробная версия Mule действительна на протяжении 30 дней. Если вы и дальше планируете пользоваться шиной, в течение этого времени нужно приобрести лицензию, Стоимость лицензии рассчитывается индивидуально.

Возможности Community-версии сильно ограничены. И если вы не обладаете серьёзной экспертизой в Java, лучше сразу задуматься о покупке платной версии.

Резюмируем

Mule — часть экосистемы Salesforce, что, несомненно, является плюсом. Инструменты платформы позволяют работать в концепции iPaaS. Пробная и Community-версии подразумевают дополнительные расходы на лицензию и персонал с нужной квалификацией.

Red Hat Fuse

Продукт компании Red Hat, разработанный на базе библиотеки Camel. Первые упоминания о платформе датируются примерно 2008 годом. Из всей подборки, представленной в данной статье, Red Hat Fuse — наиболее ориентированное на разработчиков решение. С одной стороны, это даёт практически неограниченные возможности для кастомизации. С другой — порог вхождения для аналитиков довольно высок.

rus: Интерфейс Red Hat Fuse ESB

Плюсы

Хорошая встраиваемость в инфраструктуру Red Hat. Если в вашей компании уже используются другие решения от Red Hat, Fuse с лёгкостью встроится в существующую инфраструктуру.

Схема лицензирования Fuse такая же, как во всей линейке продуктов Red Hat: вы оплачиваете платную поддержку, только если захотите.

Весь проект можно просматривать на уровне файлов, что позволяет работать с Git для управления изменениями в проектах.

Минусы

Слабый набор компонентов вынуждает писать большой объём дополнительного кода и подключать многие решения в виде Java-библиотек.

Отсутствует «обвязка» для управления API, магазина компонентов и прочие смежные продукты, которые есть у конкурентов. Это также создаёт ощущение незавершённости.

Резюмируем

Red Hat Fuse — инструмент с неограниченными возможностями кастомизации, но с высоким порогом вхождения. Не содержит дополнительных инструментов, способных упростить разработку интеграций.

WSO2

Платформа WSO2 — лёгкое и быстрое решение в области интеграции информационных систем. Первые упоминания о продукте датируются 2005 годом. Продукт поддерживает все протоколы и имеет широкий набор коннекторов к различным системам.

rus: Интерфейс WSO2 ESB

Плюсы

Лицензия продукта Apache версии 2.0 позволяет развернуть WSO2 и начать её ознакомительное использование. Платформа имеет полностью открытый исходный код. Приобретение подписки не влияет на работоспособность продукта и нужно лишь для соблюдения лицензионной чистоты.

К преимуществам WSO2 относятся достаточно низкий порог вхождения и приятный интерфейс.

Весь функционал платформы доступен уже в базовой версии. Возможность сборки Docker-образов позволяет использовать Kubernetes в качестве оркестратора.

Поддержка интеграций осуществляется через смежные продукты, например API Management.

Весь проект можно просматривать на уровне файлов, что позволяет работать с Git для управления изменениями в проектах.

Минусы

Ярко выраженные минусы выделить трудно. WSO2 — хорошо сбалансированный продукт, хоть и не столь мощный, как Mule.

Резюмируем

WSO2 — платформа с приятным интерфейсом и продуманным механизмом поддержки интеграций. Уступает Mule в мощности.

Итоги: как выбрать ESB-систему для своего проекта

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

Если перед вами стоит задача сэкономить на приобретении лицензии, лучше всего подойдёт Fuse. Однако будьте готовы потратиться на разработку множества решений и «обвязок» с нуля.

Для быстрого старта хорошо подойдут Talend или Mule. На ваш выбор может повлиять стоимость лицензий, которая зависит от профиля использования систем. Talend строит ценообразование от количества разработчиков, Mule — от объёма используемых ресурсов.

WSO2 имеет лучшее соотношение функциональности и простоты расчёта стоимости лицензии.

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

Смотреть больше статей про ESB

Смотреть
Другие статьи

Смотреть все

Почему технари против шин данных: middleware, ESB, брокеров сообщений?

10/2/2022

Подробнее

Популярные PIM-системы: функционал, особенности, стоимость

30/7/2021

Подробнее

Impact Mapping, юнит-экономика и PDCA: грамотное управление разработкой e-Commerce

28/12/2019

Подробнее

Смотреть все

Мы используем файлы cookie, чтобы предоставить наилучшие возможности сайта

Ок
This is some text inside of a div block.