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

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

Начнём. У вас есть две системы – 1С и CRM и вам требуется настроить обмен данных между ними. Театр начинается с вешалки, а процесс создания интеграции в Entaxy ION начинается с конфигурирования профилей систем. Продемонстрируем, что представляют собой профиль, коннектор и маршрут в рамках интеграционной платформы:


«Профиль» представляет собой описание интегрируемой системы, взаимодействие системы с платформой обеспечивает технический компонент — коннектор. Точки кастомизации доступны как на уровне профиля (IN-FLOW (pre-route/response), OUT-FLOW (pre-route/connector-selector/postprocess), так и коннектора (pre-route/response/pre-output/postprocess). За соединение систем отвечает маршрутизатор default-route.

Подробнее об архитектуре платформы вы можете узнать из ролика "Entaxy - архитектура и работа универсального коннектора".

Процесс построения интеграции включает несколько ключевых этапов:

Этапы интеграции

  • Настройка профилей

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

Чтобы создать профиль, перейдите в раздел «Профили», нажмите кнопку «Add profile», введите имя системы (System Name) и нажмите «Add». Профиль будет автоматически создан.
Чтобы создать профиль, перейдите в раздел «Профили», нажмите кнопку «Add profile», введите имя системы (System Name) и нажмите «Add». Профиль будет автоматически создан.
  • Настройка коннекторов

Здесь выбираются необходимые типы коннекторов (входные или выходные), которые будут использоваться для передачи и получения данных. Entaxy ION предоставляет поддержку всех компонентов Apache Camel. Наиболее часто используемые представлены в виде коннекторов Entaxy ION «из коробки», включая решения для работы с файлами, базами данных, брокером сообщений и другими популярными технологиями.

НАЗВАНИЕ

НАПРАВЛЕНИЕ

ОПИСАНИЕ

IN

OUT

ARTEMIS

V

V

для работы с брокером сообщений Apache ActiveMQ Artemis

CUSTOM

V

V

для передачи данных с помощью любых методов, поддерживающих Apache Camel

FILE

V

V

для файлового обмена данными

FTP

V

V

для обмена данными через протокол FTP

FTPS

V

V

для обмена данными через протокол FTPS

SFTP

V

V

для обмена данными через протокол SFTP

MONGO

V

V

для интеграции с MongoDB

TELEGRAM

V

V

для интеграции с мессенджером Telegram

UNIFORM ACTIVE

V

V

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

UNIFORM PASSIVE

V

V

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

HTTP

X

V

обмен данными по протоколу HTTP

JDBC

X

V

подключение к различным СУБД с помощью JDBC

Каждый коннектор включает:

  • Базовые параметры: настройка действий перед обработкой данных, параметры обработки ошибок, настройка повторной доставки сообщений, маршруты, обработка ответов и другие.

  • Дополнительные настройки, уникальные для конкретного типа коннектора: например, для файлового коннектора можно указать путь к директории, а для HTTP – URL-адрес и параметры аутентификации.

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


Для добавления коннектора к профилю перейдите на вкладку «Connectors», нажмите кнопку «Add connector» (либо используйте палитру коннекторов, перетащив плитку с нужным коннектором на диаграмму профиля), выберите тип коннектора и его направление (In или Out), заполните необходимые параметры и нажмите кнопку «Add» для добавления коннектора к профилю.
Создание файлового входного коннектора

Создание HTTP выходного коннектора

  • Настройка маршрутов

После настройки профилей и коннекторов следующий этап интеграции – настройка маршрутов для обработки данных. Маршрут определяет процесс обработки данных в платформе: от получения данных через входной коннектор до их передачи в целевую систему через выходной коннектор.


В рамках маршрута можно настроить различные процессы, такие как:

  • Преобразование данных

    • В процессе интеграции часто возникает необходимость преобразовывать данные из одного формата в другой. Entaxy ION поддерживает преобразование между форматами (XML, JSON, CSV и др.) с помощью встроенного инструмента Entaxy Transformation.

  • Обработка ошибок

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

  • Агрегация данных

    • Entaxy ION поддерживает механизм агрегации, который позволяет объединять несколько сообщений в одно на основе заданных условий. Среди доступных критериев завершения агрегации:

      • определённое количество сообщений;

      • максимальное время ожидания новых сообщений;

      • наличие специальных признаков или параметров в данных.

    • Используя маршруты, можно настроить процесс, при котором данные из нескольких входных сообщений объединяются для их совместной обработки. Например, агрегация может быть полезна для:

      • сбора транзакций за определённый период;

      • группировки данных перед их отправкой в целевую систему;

      • формирования сводных отчётов из множества отдельных событий.

  • Добавление бизнес-логики на скриптовых языках (Groovy) или Java

    • Groovy — лёгкий и гибкий язык, встроенный в платформу, который идеально подходит для быстрого написания пользовательской логики. С его помощью можно:

      • Использовать динамическую типизацию, что позволяет избегать явного указания типов данных и ускоряет разработку;

      • Применять замыкания для передачи блоков кода как объектов, что упрощает работу с коллекциями и функциями;

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

      • Динамически изменять поведение классов и объектов (метапрограммирование), что даёт гибкость при настройке логики в реальном времени;

      • Интегрировать с Java: Groovy тесно интегрируется с Java, что позволяет использовать существующие библиотеки и классы Java в коде Groovy без дополнительных настроек. Это облегчает совместную работу с Java-реализациями и расширяет возможности интеграции с другими частями системы.

    • Java обеспечивает максимальную гибкость и масштабируемость для сложных сценариев интеграции. С его помощью можно:

      • Разрабатывать сложные алгоритмы обработки данных;

      • Реализовывать многоуровневую валидацию данных с учётом сложных бизнес-правил;

      • Генерировать динамические маршруты и управлять ими на основе параметров сообщений;

      • Управлять состоянием сообщений и процессов в рамках маршрутов;

      • И многое другое.

  • Дополнительные настройки

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

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

  • Управление интеграцией

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

 Управление профилями
Управление профилями
Управление коннекторами
Управление коннекторами

Entaxy ION упрощает процесс интеграции, делая его гибким и управляемым. Entaxy ION позволяет в короткое время создавать даже самые сложные интеграционные маршруты.
Продолжение следует…

Комментарии (0)