
На связи Сергей Скирдин, технический директор компании «Белый код». Поставил себе цель — сделать обзоры на шины данных из реестра отечественного ПО. Сегодня в обзоре продукт Entaxy ION.
С 2024 года я встречаюсь с вендорами и делаю обзоры продуктов, которые относятся к классу ESB. За это время удалось пообщаться с разработчиками 15 разных решений. Для всех, кто интересуется шинами данных, я также создал сообщество в Телеграме «Шины не для машины». Это площадка для диалога между российскими разработчиками ESB и компаниями, которым нужна интеграционная шина. Сегодня подробно рассмотрим low-code платформу Entaxy ION.
Ссылка на продукт: https://entaxy.ru/product
О компании: EmDev — узкоспециализированная компания-вендор и интегратор решений в области интеграционных платформ на территории РФ и СНГ. В 2020 году компания создала Entaxy ION. Еще один продукт — корпоративный портал Incomand.
Технологический стек
В основе платформы Java 11, затем идет слой фреймворков с открытым исходным кодом: Apache Camel для коннекторов и маршрутизации, Hibernate для работы с реляционными базами данных, Apache Karaf как платформа для OSGi и другие. В следующих слоях многое привнесено разработчиками: инфраструктура коннекторов, адаптеров, сервисы, безопасность, обработка ошибок, OData (модули Extras).

Функциональные возможности
Entaxy ION – low-code платформа для создания интеграционных маршрутов. Основная идея, которую закладывали разработчики: маршрут создается аналитиком. Разработчик привлекается только для специфичных задач. В результате сокращается цикл разработки. При этом аналитик должен обладать знаниями по интеграционной алгоритмике.

Язык, на котором реализуются внутренние функции преобразования и маршрутизации
Для маршрутизации и преобразований используется язык XML DSL, который использует Apache Camel. Данный язык несложен в изучении и должен быть знаком интеграционным инженерам, которые ранее работали с проектами на основе Apache Camel. В дальнейшем планируется реализация веб-интерфейса, который позволит задавать правила посредством связанных блоков на схеме.
Также есть возможность использовать для визуальной трансформации данных фреймворк Atlas Map, но это не исключает использования классических xslt, Freemarker или скриптовых языков типа Groovy.
Сама платформа реализована на языке Java, поэтому есть возможность создать Java-проект и написать необходимые функции на нем. Полученный проект может быть собран в OSGi-бандл и развернут в Шине.
Коннекторы
Для каждой системы создается профиль. В профиль добавляется нужный набор входных и выходных коннекторов. Разработчик участвует только для создания специфичных коннекторов. У каждой системы может быть множество входных и выходных коннекторов, которые определяют технологию протокола. Т. е. одновременно можно взаимодействовать с системой и через файлы, и через JDBC, и через REST. Набор коннекторов с каждым релизом расширяется, также Apache Camel под капотом позволяет использовать более 300 компонентов.

1С не приоритетная система для интеграции с Entaxy, тем не менее есть коннектор, выполненный в виде конфигурация для 1С, которую можно объединить с существующей. При необходимости, коннектор может быть переработан в расширение.
1С Коннектор отправляет данные в Шину через универсальный сервис. Получение сообщений реализуется либо с использованием гарантированной доставки с подтверждением (см. рисунок) и предполагает метод опроса системой шины, либо путем вызова сервиса на стороне системы-получателя.

Поддержка контрактов (проверка корректности сообщений)
Проверку корректности сообщений можно реализовать посредством фильтрации сообщения на различных этапах. Поскольку под капотом системы используется Apache Camel, то для проверки доступны все возможности данного фреймворка.
Например, есть возможность применять для валидации XSD, Json Schema. Для сложной валидации можно написать свой компонент на языке Java или внедрить в маршрут сценарий на Groovy или Javascript.
Масштабирование и отказоустойчивость
Отказоустойчивость исполняющих узлов: масштабирование достигается за счет возможности развернуть решение в кластере, при этом все узлы кластера равноценны. Все объекты, которые создаются в системе разворачиваются на всех узлах кластера.
Отказоустойчивость брокера сообщений: обычно брокеры разворачиваются в топологии Active-Passive, т. е. если один из брокеров падает, к работе подключается другой, но есть возможность применения и других топологий.
Мониторинг и траблшутинг
В состав системы входит набор дашбордов для Grafana, которые позволяют просматривать сообщения и события. Есть возможность отбирать логи по идентификатору сообщения, что помогает подробно увидеть путь конкретного сообщения.
Для каких компаний применимо (отрасли, масштабы)
Продукт можно использовать в разных сферах.
Примеры кейсов
Внедрение в крупной финансовой компании
Реализация сервисов, способных держать высокую нагрузку
Интеграция внешних сервисов
Проверка финансовых отчетов
Проведение платежных транзакций
Внедрение у дистрибьютора техники
Решение задачи консолидации данных
Обмен данными между внутренними системами
Предоставление данных для аналитики
Улучшение пользовательского опыта
Внедрение в производственной компании
Импортозамещение – миграция интеграций с шины иностранного производителя
Обмен данными между внутренними системами
Обмен данными с контрагентами
Количество внедренных проектов
Более 5.
Требования к ПО
Есть технологическое партнёрство с Astra Linux, Red OS, Axiom JDK, а также с компанией «Флант» на их платформе Deck House и ряд других.

Лицензии и ценообразование
Стоимость лицензии/подписки рассчитывается на основе количества ядер CPU, запущенных в промышленном окружении. До трех окружений, помимо промышленного, входит в стоимость.
Лицензионная политика гибкая, есть несколько вариантов:
1. Срочная лицензия (Подписка) — приобретается на определенный период (от года) и на определенное количество ядер CPU в промышленном окружении. Включает в себя право использования продукта, обновления и получения технической поддержки вендора.
2. Бессрочные лицензии — приобретаются на определенную версию продукта и на определенное количество ядер CPU. Обновления и ТП вендора приобретаются отдельно.
3. Безлимитная лицензия — приобретается на 3 года, количество ядер CPU не ограничено, входят ТП вендора и обновления.
Примерная стоимость подписки/лицензии рассчитывается на этапе пресейла, начинается от 1,8 млн рублей.

Поддержка
Стоимость ТП, в случае приобретения бессрочной лицензии, начинается от 1 млн рублей в год.
Наличие пробной версии и условия получения
На сайте можно скачать версию all-in-one. Эта версия предназначена для ознакомления разработчиков с платформой, использовать эту версию в рабочем контуре не рекомендуется.
Наличие версии для preprod и test окружений
До трех окружений помимо промышленного (тестовая, предпродакшн, девелоперская) идет в составе одной лицензии.
Наличие открытой документации
Документация открыта, с ней можно ознакомиться по ссылке.
Наличие обучения
Компания разрабатывает программу обучения. Сейчас у заказчиков есть возможность пройти обучение на своих задачах.
Партнерская сеть
У вендора есть дистрибьютор. Также среди партнеров-интеграторов такие компании как: «Ланит», «Инфосистемы Джет», «Систематика», «Аксеникс», «Программное ателье», ГК «ВДГБ», WONE IT.
Наличие публичной дорожной карты развития продукта

Информационное сопровождение (упоминание в СМИ, рейтингах, наличие комьюнити)
Компания активно рассказывает о продукте. Есть телеграм-канал, где можно задать вопросы — https://t.me/entaxy_platform. Также компания создала серию коротких видео о возможностях Entaxy ION — https://rutube.ru/channel/48106541/videos/.
Заключение
В заключение хочется отметить богатый опыт компании Entaxy, накопленный с 2011 года в разработке интеграционных проектов на базе WSO2, Red Hat и Apache. Всю экспертизу компания вложила в создание решения Entaxy ION, которое в 2021 году было зарегистрировано в реестре отечественного ПО.
Продукт производит впечатление одновременно сложного, но мощного инструмента. Проводя аналогию с автомобилями, Entaxy ION можно сравнить с болидом Формулы-1 — это не повседневное транспортное средство, а высокотехнологичный механизм, требующий квалифицированного обслуживания. Так, перед началом интеграции необходимо освоить язык разработки маршрутов, а работа с такой платформой предполагает глубокое понимание соответствующих технологий.
Отдельно стоит отметить открытость компании: в свободном доступе находятся не только документация, но и дистрибутивы продукта. Те, кто знаком с Java-стеком, может самостоятельно собрать дистрибутив из исходников, развернуть систему и провести тестирование на реальной интеграционной задаче.
В статье отражена моя субъективная точка зрения, у которой нет цели нанести ущерб деловой репутации создателям этого продукта.
Вступайте в сообщество в Телеграме «Шины не для машины», там обсуждаем насущные вопросы рынка ESB.