Ссылка на продукт: 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 интеграционных потоков.
Коннекторов довольно много. В терминологии продукта они называются точками входа и точками выхода. Часть коннекторов входит в поставку 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-документов.
Можно описать модель данных для любых форматов. Как стандартных, так и, например, для бинарных. Для всех форматов можно объявить модель данных. После этого появляются дополнительные возможности. Это маппинг данных без программирования, то есть преобразование одного формата в другой, использование инструмента маппинга преобразований. Также можно работать с данными как с объектом. Это особенно удобно для нестандартных и устаревших форматов.
Пример использования типизированных данных по модели для программной трансформации на Groovy скрипте.
Для проверки корректности сообщений в системе есть механизм автоматической генерации моделей данных на базе XML-, JSON-, WSDL- и YAML-документов или схем. Помимо валидации данных, модели используются для конвертации сообщений во внутренний объектный формат для последующей удобной трансформации с помощью скриптов или графических инструментов.
В системе свой программный механизм кластеризации, который позволяет строить классический кластер. Он настраивается несколькими галочками, два узла, диск или СУБД между ними. Позволяет держать или в Active-Active, или в Active-Passive.
Есть еще один тип кластера, уже более интересный для больших заказчиков, которым требуется реализовать репликацию данных между географически разнесенными ЦОД без использования общей СХД. В расширенном кластере появляется возможность репликации данных встроенными средствами менеджера очередей: как синхронной, так и асинхронной. Это позволяет организовать катастрофоустойчивые схемы.
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% от стоимости лицензий.
В рамках поддержки, кроме стандартных доступа к обновлениям и выставления сообщений в поддержку, входит также обработка запросов на новый функционал.
Триал-версия есть, предоставляется по запросу.
Пока у компании лицензия только одного типа.
Пока открытой документации нет, она встроена в интерфейс в виде Википедии и подсказок. В 2025 году планируется запуск сайта для поддержки community профессионального сообщества, которое формируется вокруг продукта.
Что касается обучения, то здесь основательный подход. У компании «Фактор-ТС» есть сертифицированный учебный центр, где проводится базовый трехдневный курс по Factor-ESB. Цена — 75 тысяч рублей на момент выхода обзора (февраль 2025 года). Как отмечают в компании, профильный специалист может быстро освоить продукт. Дополнительно есть закрытый телеграм-канал с подробными видеоуроками.
Совместно с «ЛАБ СП» проводится расширенный 5-дневный курс на базе стандартного. Также планируется сразу несколько специализированных курсов: по коннекторам, кластеризации, курс для переобучения специалистов SAP PI/PO на Factor-ESB. Еще один курс будет для администраторов интеграционной платформы.
Чтобы будущим специалистам было проще ориентироваться, сформирована дорожная карта прохождения курсов.
В партнерах крупные интеграторы — около 6 компаний.
Совместная дорожная карта Integration Gears размещается на сайте ЛАБ СП.
Разработчики активно рассказывают о продукте. В сети можно найти много упоминаний. Так, о Factor-ESB есть материал на портале выбора технологий и поставщиков TAdviser.
Решение представлено и в нескольких обзорах:
Также есть публикация на профильном портале:
Технический директор, главный конструктор 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 для работы в условиях плохой связи.
Из минусов: не самый низкий порог входа. В системе много «кубиков», из которых очень гибко строится интеграция, но чтобы понять, как это работает, нужно погрузиться в систему, в идеале — пройти обучение.
В статье отражена моя субъективная точка зрения, у которой нет цели нанести ущерб деловой репутации создателям этого продукта.
Похожие статьи