С 2024 года я встречаюсь с вендорами и делаю обзоры продуктов, которые относятся к классу ESB. За это время удалось пообщаться с разработчиками 15 разных решений. Для всех, кто интересуется шинами данных, я также создал сообщество в Телеграме «Шины не для машины». Это площадка для диалога между российскими разработчиками ESB и компаниями, которым нужна интеграционная шина.
Ссылка на продукт: https://satel.ru/development/enerbas-integratsionnaya-platforma/
О компании: Продукт принадлежит компании «САТЕЛ», которая специализируется на разработке программного обеспечения в сфере корпоративных коммуникаций, а также на создании современных платформенных решений для построения цифровой экосистемы промышленных предприятий. Компания на рынке с 1995 года, является генеральным подрядчиком в реализации проектов инженерной и IT-инфраструктуры. Имеет сеть региональных партнеров, филиалов, собственный склад и отдел логистики.
В основе интеграционной платформы «ЭНЕРБАС» Apache Camel, который компания дорабатывает и развивает.
Архитектура платформы состоит из нескольких компонентов. Первое – это система исполнения потоков, это базовая платформа. Она устроена классически, как шина: есть система управления сообщениями, есть система маршрутизации, журналирование, мониторинг, доступ к информационным системам. Система проектировалась как аналог IBM WebSphere Message Broker.
Также есть надстройка, дополнительный модуль, который называется «Система управления потоками». Система объединяет в себе инструменты по проектированию, по разработке, сборке и развертыванию интеграционных потоков, а также содержит инструменты по администрированию их исполнения. Система поддерживает реестр потоков от этапа задумки проектирования до запуска в эксплуатацию и содержит всю необходимую информацию о стендах, где развернуты потоки. Это система, которая управляет всеми остальными окружениями: девелоперским, тестовым, промышленным. Здесь же можно производить настройку интеграционных потоков, просматривать журналирование, мониторить, управлять пользователем и так далее.
В платформе реализованы несколько вариантов разработки интеграционных процессов. Для типовых процессов, где не нужна большая кастомизация, возможна разработка в режиме no-code, когда достаточно в веб-интерфейсе выбрать отправителя, приемника, заполнить несколько настроек и можно разворачивать интеграционный процесс.
Для более серьезных процессов, когда требуется гибкая настройка маршрутизации, возможно применение low-code редактора, в котором можно настроить интеграцию посредством добавления и изменения элементов на визуальной схеме. Представление настроек интеграции можно просмотреть в формате YAML.
В случае когда требуется полная кастомизация, можно реализовать собственные интеграционные потоки на любом DSL языке, поддерживаемом Apache Camel (например, Java DSL).
Для управления интеграционными потоками используется реестр потоков, который позволяет управлять версионированием, разверткой, запуском и отключением образов интеграционных потоков. Реестр потоков позволяет запускать образы на разных заданных окружениях, чтобы, например, иметь возможность проверить поток на тестовом окружении перед запуском в работу.
Язык, на котором реализуются внутренние функции преобразования и маршрутизации
Внутренние функции преобразования и маршрутизации реализуются на языке Java. Есть возможность писать код интеграционных процессов на DSL языке, который поддерживается фреймворком Apache Camel.
Коннекторы
В системе поддерживается набор коннекторов с открытым исходным кодом, доступных в поставке Apache Camel. Также реализованы различные отраслевые коннекторы для систем, которые используются компаниями в сфере электроэнергетики.
Кроме того, для интеграционной платформы реализован свой адаптер для 1С систем, который реализован в виде расширения для конфигурации 1С (с версии 8.3.23). Адаптер работает как автономная система, которая коммуницирует с интеграционной шиной через специализированный Hi Load сервис, работающий по протоколу SOAP (служит промежуточным звеном между адаптером и очередями брокера сообщений, который используется в шине).
Такой подход позволяет разграничить ответственность и встретить меньше препятствий при согласовании с корпоративными стандартами безопасности, т. к. исполняемый код 1С полностью остается на стороне информационной базы, из шины нельзя запросить у 1С то, что не заложено в настройках адаптера. С другой стороны, это приводит к тому, что настройки интеграции необходимо производить в двух разных системах: в адаптере необходимо настроить типы, формат и другие параметры того, что адаптер будет отправлять или получать из шины, а в шине необходимо настроить интеграционный поток.
Адаптер 1С поддерживает различные варианты настроек форматов и преобразований передаваемых данных: от стандартных XSD-схем до написания кода на языке 1С для заполнения полей выгружаемых или получаемых объектов. Также поддерживается работа с универсальными форматами XML (Конвертация данных 2) или Enterprise Data.
В планах компании дальнейшее развитие коннектора 1С, в том числе для того, чтобы инициализацию выгрузки можно было производить не по регламентному заданию 1С, а по получению определенного сообщения из брокера сообщений.
Поддержка контрактов (проверка корректности сообщений)
Проверка корректности сообщений осуществляется с использованием доступных в Apache Camel механизмов: валидаторов для проверки форматов XML, JSON с помощью распространенных форматов схем, таких как, например, XSD или JSON Schema; фильтров и маршрутизаторов.
Масштабирование и отказоустойчивость
Масштабирование и отказоустойчивость достигаются за счет использования механизмов контейнеризации. Можно использовать Docker или Kubernetes. В настройках каждого интеграционного процесса доступно указание количества контейнеров, которые будут развернуты при запуске процесса для каждого окружения.
Мониторинг и траблшутинг
Логи системы и дашборды для мониторинга доступны из интерфейса платформы и реализованы на основе стека ELK (Elasticsearch, Kibana, Logstash) и Grafana. Возможен просмотр общей информации о загрузке каждой из подсистем Шины. Также можно просмотреть логи событий, как в целом происходящих в системе, так и просмотреть события по конкретному потоку или сообщению.
В системе можно настроить триггеры, которые будут срабатывать при выходе значений мониторинга за допустимые пределы и отправлять сообщение подписанным на эти триггеры пользователям по, например, электронной почте.
Можно интегрировать мониторинг в существующую систему компании.
Компания работает с крупным бизнесом из разных отраслей. Большое количество внедрений ПО «ЭНЕРБАС» — в электроэнергетике и промышленности.
Федеративная интеграционная шина для централизованных систем и взаимодействиями с потребителями
В рамках проекта для электросетевого холдинга компанией «САТЕЛ» была создана федеративная интеграционная шина для обмена данными между централизованными системами и оперативными системами дочерних компаний. Были настроены и внедрены интеграционные потоки заявок и обращений потребителей, оповещений от компании о проведении плановых/аварийных отключений.
Интеграционная шина «ЭНЕРБАС» позволила снизить время передачи обращения с нескольких часов до менее минуты. В пиковые нагрузки период доставки информации был снижен с нескольких суток до одного часа. Дополнительные подсистемы отчетности и непрерывного мониторинга позволили сократить время реагирования системы на замедление обмена данными до 20 минут. Также платформа позволяет эффективно передавать пользователям показания от интеллектуальных приборов учета, обрабатывая до 30 миллионов показаний в день.
Создание ведомственной шины данных для документооборота
На базе платформы «ЭНЕРБАС» была интегрирована ведомственная шина для федерального органа исполнительной власти, обеспечивающая эффективную маршрутизацию документов между внутренними и внешними системами (ВИС, МЭДО, СМЭВ и т.д). Благодаря этому платформа «ЭНЕРБАС» позволила значительно увеличить скорость документооборота, обеспечить надежный, безопасный и наблюдаемый обмен данными между системами.
В настоящее время компанией САТЕЛ реализовано 20 проектов по внедрению платформы «ЭНЕРБАС».
Серверная часть: ОС на базе Linux x86_64 с версией ядра 5+, в том числе отечественные (Alt Server 10+, Astra Linux 1.7+ и т.д.), Docker Engine версии 25+ , Docker-compose версии 1.29+
Клиентская часть: любой современный браузер с поддержкой ES6 модулей
Лицензии
Компания предоставляет стоимость услуг по запросу. Итоговая цена зависит от параметров конкретного проекта.
Наличие пробной версии и условия получения
Возможность реализации пилотных проектов.
Наличие версии для preprod и test окружений
Нет.
Документация на ПО «ЭНЕРБАС» предоставляется вместе с продуктом.
Компания разработала несколько программ обучения с разной степенью погружения. Например, первый курс подойдет новичкам, учебные материалы знакомят с понятием «интеграция». Второй курс — для аналитиков. Третий — для разработчиков. Стоимость рассчитывается индивидуально.
Партнерская сеть представлена партнерами 1-го и 2-го уровней.
Предоставляется по запросу.
Команда рассказывает о продукте, проводит вебинары. Небольшой ролик есть на Rutube, также упоминание платформы «ЭНЕРБАС» можно найти на специализированных и отраслевых площадках.
Достоинства:
Недостатки:
«ЭНЕРБАС» — интеграционная платформа, ориентированная на крупный бизнес и государственные организации, особенно в энергетическом секторе. Решение базируется на популярных open source-компонентах (Apache Camel, RabbitMQ и др.), но важно, что разработчики платформы пошли дальше — добавили мощную надстройку для управления жизненным циклом потоков, расширенный мониторинг, а также собственные адаптеры, включая интеграцию с 1С.
В статье отражена моя субъективная точка зрения, у которой нет цели нанести ущерб деловой репутации создателям этого продукта.
Вступайте в сообщество в Телеграме «Шины не для машины», там обсуждаем насущные вопросы рынка ESB.
Похожие статьи