Обзор интеграционной шины Factor-ESB

На связи Сергей Скирдин, технический директор компании «Белый код». Поставил себе цель — сделать обзоры на шины данных из реестра отечественного ПО. Сегодня в обзоре продукт Factor-ESB.
19 февраля 2025

Ссылка на продукт: https://factor-esb.ru

О компании: ООО «Фактор-ТС» работает на рынке с 1999 года. Но история компании началась еще в 1985 году, когда во ВНИИ Прикладных Автоматизированных Систем (ВНИИПАС) был начат проект создания Автоматизированной Диалоговой Организационно-Научной Информационной Системы (АДОНИС).

В 2014 году компания начала разрабатывать собственный интеграционный продукт Factor-ESB (FESB). С 2023 года он развивается совместно с «ЛАБ СП», основанной бывшими сотрудниками SAP CIS. Сегодня Factor-ESB — часть платформы Integration Gears, на основе Factor-ESB и расширения Enterprise Integration Kit. Это и другие расширения разрабатывает компания «ЛАБ СП».

Программный продукт входит в реестр российских программ и сертифицирован ФСТЭК России.

сертифицирован ФСТЭК России

Технологический стек

Разработчики при создании Factor-ESB ориентировались на продукты IBM, чтобы привлечь определенный сегмент компаний. Под капотом частично open source, частично доработанный open source, это Java и Apache фреймворки: MQ, Artemis MQ, Camel, Zookeeper.

Технологии

Функциональные возможности

Factor-ESB имеет монолитно-модульную архитектуру: продукт разворачивается и обновляется одной командой, в веб-интерфейсе можно включать и выключать модули.

Функциональные возможности

Основной акцент разработчики сделали на удобство визуальной среды для создания интеграционных потоков, так как именно это занимает бо́льшую часть расходов компании, для которой делается интеграция. При создании своей графической нотации для маршрутов сообщений разработчики Factor-ESB вдохновлялись языками визуального программирования «для детей» Scratch и Logo. Получившаяся среда разработки, с одной стороны, действительно позволяет наглядно работать с потоками, а с другой стороны, сохраняет всю гибкость движка Apache Camel под капотом. Можно реализовать как классические паттерны интеграции (сегментация, агрегация, динамическая маршрутизация, диспетчер процесса), так и конструкции, присущие процедурным языкам программирования: циклы, ветвление, try…catch и др.

Схема обработки потока сообщений включает точки входа, точки обработки и точки выхода. Обязательный элемент — точка входа, она инициирует обработку.

Схема обработки потока

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

Весь функционал Factor-ESB доступен по API, все, что вы делаете через интерфейс системы, можно сделать через API. Для удобства интеграции поддерживается документация по стандарту OpenAPI. В системе доступен Swagger UI как для методов API самой шины, так и для endpoint интеграционных потоков.

Swagger UI

Коннекторы

Коннекторов довольно много. В терминологии продукта они называются точками входа и точками выхода. Часть коннекторов входит в поставку Factor-ESB, например, JMS, IBM MQ, RabbitMQ, другие — в рамках аддона Enterprise Integration Kit. У компании «ЛАБ СП» есть технологическое партнерство с популярными производителями систем класса ERP, MDM, Antivirus и так далее. Параллельно идет разработка коннекторов к распространенным бизнес-приложениям.

Коннекторы

Интеграция с 1С реализована через Enterprise Integration Kit — набор дополнительных коннекторов к бизнес-приложениям. Этой частью разработки занимается «ЛАБ СП». Адаптеры для 1С реализуют различные подходы:

Если первые два подхода понятны и есть в других шинах, то третий достаточно оригинален. Адаптер использует средства платформы 1С, предназначенные для интеграции с «1С:Шиной» с помощью асинхронного обмена сообщениями. Оказывается, под капотом «Сервисов интеграции» используется общеизвестный AMQP-протокол с проприетарными расширениями 1C, дополненный механизмом обмена метаданными с шиной для автоматической генерации кода обработчиков на стороне «1С:Предприятие» по интеграционному контракту. Теперь перспективный механизм 1C «Сервисы интеграции» доступен для использования не только в «1С:Шине», но и в Integration Gears. 

Язык, на котором реализуются внутренние функции преобразования и маршрутизации

В продукте есть возможность описания трансформаций и маппинга данных в графическом виде или с помощью скриптов на Groovy или JavaScript. Для графической трансформации используется сильно доработанный AtlasMap. Также доступен механизм XSLT для преобразования XML-документов.

factor-8.jpg

Типизация данных

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

Пример использования типизированных данных по модели для программной трансформации на Groovy скрипте.

Типизация данных

Поддержка контрактов (проверка корректности сообщений)

Для проверки корректности сообщений в системе есть механизм автоматической генерации моделей данных на базе XML-, JSON-, WSDL- и YAML-документов или схем. Помимо валидации данных, модели используются для конвертации сообщений во внутренний объектный формат для последующей удобной трансформации с помощью скриптов или графических инструментов.

проверка корректности сообщений

Масштабирование и отказоустойчивость

В системе свой программный механизм кластеризации, который позволяет строить классический кластер. Он настраивается несколькими галочками, два узла, диск или СУБД между ними. Позволяет держать или в Active-Active, или в Active-Passive.

Есть еще один тип кластера, уже более интересный для больших заказчиков, которым требуется реализовать репликацию данных между географически разнесенными ЦОД без использования общей СХД. В расширенном кластере появляется возможность репликации данных встроенными средствами менеджера очередей: как синхронной, так и асинхронной. Это позволяет организовать катастрофоустойчивые схемы.

кластер FESB

Мониторинг и траблшутинг

Factor-ESB предоставляет инструменты мониторинга для разных групп пользователей, каждая из которых решает свои задачи: 

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

отладка потоков

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

трассировка

Для службы поддержки Factor-ESB предоставляет инструменты построения дашбордов и исторического end-to-end мониторинга потоков. С их помощью можно быстро найти нужные сообщения, отследить их путь прохождения, провести базовую диагностику ошибок и запустить повторную обработку.

мониторинг потоков
диагностика ошибок

Также есть возможность передавать данные во внешние системы анализа логов, например, OpenSearch, Elasticsearch, Graylog.

конструктор дашбордов

Особенность системы — свой протокол для передачи данных. Если связь хорошая, можно использовать стандартный TCP/IP для передачи. При этом для дальних регионов или в случае с большим пингом и большой потерей пакетов, есть другой протокол, который может максимально загрузить даже слабые каналы. В некотором смысле это аналог IBM Aspera, который позволяет гарантированно доставлять данные по протоколу UDP. Протокол уже показал себя в разных проектах, например, для работы с Дальним Востоком.

протокол для передачи данных

В продукте присутствует встроенная подсистема контроля версий с возможностью сравнения версий потоков и отката на предыдущую версию.

сравнение версий потоков

Для каких компаний применимо

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

Примеры кейсов

«Банк России», Федеральная таможенная служба, Пенсионный фонд ВТБ, «Газпром», «Победа», «Аэрофлот», КНАУФ, группа «Черкизово» и другие крупные компании.

Количество внедренных проектов

На сентябрь 2024 года реализовано около 40 проектов.

Требования к ПО

Factor-ESB работает почти с любой операционной системой, поддерживающей Java. Возможно развертывание как на классических виртуальных машинах, так и в средах контейнеризации Docker и Kubernetes.

Требования к ПО

Ценообразование

Лицензии

Вендор придерживается политики — цена по запросу. Лицензируются ядра процессора. Чем больше ядер, тем ниже цена за ядро.

Ориентировочно лицензия на небольшой проект 200-300 интеграционных потоков обойдется примерно в 3,5 миллиона рублей.

Поддержка

В поставку лицензий входит год стандартного сопровождения. Можно расширить сопровождение дополнительными работами и необходимым регламентом SLA.

Со второго года стоимость поддержки составляет порядка 30% от стоимости лицензий. 

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

Наличие триал-версии, условия получения

Триал-версия есть, предоставляется по запросу.

Наличие версии для pre-prod и test окружений

Пока у компании лицензия только одного типа.

Наличие открытой документации

Пока открытой документации нет, она встроена в интерфейс в виде Википедии и подсказок. В 2025 году планируется запуск сайта для поддержки community профессионального сообщества, которое формируется вокруг продукта.

Наличие обучения

Что касается обучения, то здесь основательный подход. У компании «Фактор-ТС» есть сертифицированный учебный центр, где проводится базовый трехдневный курс по Factor-ESB. Цена — 75 тысяч рублей на момент выхода обзора (февраль 2025 года). Как отмечают в компании, профильный специалист может быстро освоить продукт. Дополнительно есть закрытый телеграм-канал с подробными видеоуроками.

Совместно с «ЛАБ СП» проводится расширенный 5-дневный курс на базе стандартного. Также планируется сразу несколько специализированных курсов: по коннекторам, кластеризации, курс для переобучения специалистов SAP PI/PO на Factor-ESB. Еще один курс будет для администраторов интеграционной платформы.

Чтобы будущим специалистам было проще ориентироваться, сформирована дорожная карта прохождения курсов.

курсы обучения

Партнерская сеть

В партнерах крупные интеграторы — около 6 компаний.

Наличие публичной дорожной карты продукта

Совместная дорожная карта Integration Gears размещается на сайте ЛАБ СП.

Информационное сопровождение (упоминание в СМИ, рейтингах, наличие комьюнити)

Разработчики активно рассказывают о продукте. В сети можно найти много упоминаний. Так, о Factor-ESB есть материал на портале выбора технологий и поставщиков TAdviser.

Решение представлено и в нескольких обзорах: 

Также есть публикация на профильном портале:

Связанные одной шиной: «Лаб СП» и «Фактор-ТС» представили отечественную интеграционную платформу Integration Gears

Технический директор, главный конструктор Factor-ESB Георгий Имнаишвили, а также директор департамента интеграционных решений «ЛАБ СП» Ренат Хамидулин в 2024 году выступили на CNews FORUM.

Заключение

Взрослый, проработанный продукт, развивается с 2014 года, доведен до состояния «коробочной поставки». 

Построен на подходах, применяемых в шине IBM. Благодаря коллаборации с «ЛАБ СП» у вендора присутствует глубокая экспертиза по работе с SAP. При более низкой стоимости по сравнению с IBM App Connect Enterprise (Integration Bus) и SAP Process Integration вендор декларирует более высокую скорость обработки сообщений: «в несколько раз быстрее IBM ACE и SAP PI». 

Тем, у кого стоит задача импортозамещения ESB от IBM или актуальны задачи интеграции с SAP ERP, стоит обратить внимание на продукт.

Также отмечу поддержку транзакционности, включая двухфазные транзакции, свой протокол TCP для работы в условиях плохой связи.

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

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

Поделиться в соцсетях:  

Похожие статьи

ESB

Сообщество, посвященное российским ESB

Обзоры, новости и общение с вендорами!

© 2025 ИТ-интегратор «БЕЛЫЙ КОД»