Быстрый старт с Энтакси: настраиваем первую интеграцию шаг за шагом - Entaxy
Быстрый старт с Энтакси: настраиваем первую интеграцию шаг за шагом
Entaxy ION — ESB-платформа, на которой интеграции собираются как конструктор: из профилей, коннекторов и маршрутов, без лишнего кода. В этой статье мы пройдем сценарий «быстрого старта» — тот самый, что мы показываем в видеоинструкции: настроим обмен данными между двумя условными системами, CRM и 1С, и убедимся, что тестовый файл действительно проходит путь от входной папки до выходной.
А если вам удобнее воспринимать визуально, смотрите видеоинструкцию «Быстрый старт»: весь путь, описанный ниже, умещается в несколько минут экрана.
Сценарий нарочно простой: файловые коннекторы, один маршрут, ноль кода. Зато он позволяет руками потрогать все базовые сущности платформы.
Исходные условия
Понадобится:
- развернутая Entaxy ION (в примере консоль доступна по адресу
localhost:8181); - две «системы», между которыми налаживаем обмен — в примере их имитируют папки на диске;
- 5–10 минут времени.
Шаг 1. Получение доступа к платформе
Работа с платформой начинается в консоли управления. Откройте адрес в браузере — вы увидите страницу входа «Войти в аккаунт». Для первого входа используйте учетные данные по умолчанию:
- Имя пользователя: entaxy
- Пароль: entaxy
(В продуктивной среде дефолтный пароль, разумеется, стоит сменить.)
Что важно заметить сразу:
- слева — навигация по разделам платформы: Entaxy ION, CI/CD, OpenAPI, преобразование форматов, редактор XSLT и другие инструменты;
- сверху — «Статус проверки работоспособности»: зеленая галочка означает, что с платформой все в порядке;
- в дереве слева нас интересует раздел «Профили» — именно с ним мы будем работать.
Шаг 2. Создание профилей систем
Профиль системы — это ее «представительство» на шине: в нем хранятся коннекторы, маршруты и атрибуты системы. Чтобы наладить обмен между CRM и 1С, нам нужны два профиля.
- Откройте раздел «Профили» и нажмите «Добавить профиль».
- В открывшемся окне введите имя системы — CRM — и нажмите «Добавить».
- Повторите то же для второй системы — Order1C.
После этого профили появляются в дереве слева и открываются в виде диаграммы: платформа показывает статусы active и clustered, а справа предлагает палитру коннекторов — от artemis, ftp и jdbc до soap, telegram и файлового.
Шаг 3. Подключение коннекторов
Коннектор — точка, где внешняя система встречается с шиной. Входные коннекторы забирают данные из внешней системы, выходные — отправляют их наружу.
В нашем примере обе «системы» — это папки, поэтому используем файловые коннекторы.
Для CRM — входной:
- В профиле CRM откройте вкладку «Коннекторы» и нажмите «Добавить коннектор».
- В списке фабрик выберите ФАЙЛОВЫЙ :: ВХОДНОЙ.
- Заполните параметры: классификатор (main), файловая коннекция (entaxy-file), имя каталога. Флаги «Эксклюзивный запуск» и «Генерировать ключ журналирования» по умолчанию включены.
- Нажмите «Добавить».
Для Order1C — выходной:
То же самое, но с фабрикой ФАЙЛОВЫЙ :: ВЫХОДНОЙ.
Платформа создает рабочие каталоги коннекторов — в примере это CRM.file-connector-in.main для входа и Order1C.file-connector-out.main для выхода. Первый будет «приемником» данных, второй — «выдачей».
Шаг 4. Настройка маршрута
Входной коннектор уже умеет забирать файлы, но шина пока не знает, куда передавать сообщение. Скажем ей это с помощью процессора Set Destination — он указывает целевую систему назначения.
- В профиле CRM откройте pre-route входного коннектора — откроется редактор маршрута с вкладками «Дизайн» и «Исходный код».
- Откройте каталог компонентов и введите в поиске set-dest — платформа найдет медиатор Set Destination.
- Добавьте его в маршрут после уже имеющегося setProperty.
- В свойствах процессора в поле Value выберите из списка целевую систему — Order1C.
- Сохраните изменения («Ок»).
Готово: теперь любое сообщение, принятое входным коннектором CRM, будет адресовано профилю Order1C. Платформа подтверждает сохранение уведомлением «Операция выполнена успешно», а на диаграмме профиля видна вся цепочка: источник → коннектор → входящий поток → default-route.
Шаг 5. Проверка обмена
Самая приятная часть — убедиться, что все работает.
- Откройте рядом две папки: каталог входного коннектора (
CRM.file-connector-in.main) и каталог выходного (Order1C.file-connector-out.main). - Положите тестовый файл
test-dataво входную папку. - Через мгновение файл появится в выходной папке.
Все, первая интеграция работает: файл вошел через входной коннектор CRM, шина доставила его в Order1C, и выходной коннектор записал файл в целевую папку.
Как это устроено: путь сообщения
Для тех, кто любит понимать, что происходит «под капотом», — полный путь сообщения выглядит так:
- file-connector-in — JSON-файл попадает в отслеживаемую папку;
- файловый входной коннектор (PRE-ROUTE) — коннектор забирает файл и формирует сообщение;
- CRM, IN-FLOW (PRE-ROUTE) — сообщение попадает во входящий поток профиля, а Set Destination уже пометил, куда оно должно попасть;
- Default-route (ROUTE) — межсистемный маршрутизатор шины читает адрес назначения и передает сообщение в Order1C;
- 1С, OUT-FLOW (PRE-ROUTE → CONNECTOR SELECTOR) — исходящий поток подбирает нужный выходной коннектор;
- файловый выходной коннектор (PRE-OUTPUT) — файл записывается в папку file-connector-out.
Если что-то не заработало
Короткий чек-лист:
- коннекторы в статусе Active — проверьте вкладку «Коннекторы» в профилях;
- «Статус проверки работоспособности» вверху консоли — зеленый;
- в pre-route добавлен Set Destination, и в нем выбрана верная целевая система (Order1C);
- файл кладется именно во входной каталог входного коннектора, а не в выходной.
Что дальше
Файл «из папки в папку» — учебный пример. Ровно по той же схеме строятся интеграции с реальными системами: вместо файловых коннекторов подключаются FTP, HTTP, JDBC, SOAP, SFTP, Telegram и другие — в палитре профиля их десятки. А между приемом и отправкой можно вставить трансформации (например, визуальный маппинг в Atlasmap), условную маршрутизацию, обогащение сообщений и все, чего требует задача.
Полезные точки входа:
- руководство пользователя Entaxy ION;
- руководство по Apache Camel — маршруты платформы используют Camel-семантику;
- руководство по Atlasmap — для визуального маппинга данных;
- entaxy.ru — документация и контакты.