NTA Kafka связывает BPMSoft и Apache Kafka без отдельного интеграционного кода: аналитик настраивает объект, тему, сопоставление полей и JSON-схему в интерфейсе BPMSoft. Базовый обмен типового объекта можно настроить примерно за пять минут.
Что закрывает модуль
Интеграция BPMSoft и Apache Kafka без кода
NTA Kafka связывает BPMSoft с Apache Kafka в обоих направлениях. Базовую интеграцию полностью настраивает аналитик в привычном интерфейсе BPMSoft: выбирает объект, тему Kafka, поля и JSON-схему, а затем добавляет готовые действия в бизнес-процесс. Писать, собирать или сопровождать отдельный интеграционный код не требуется.
Первый рабочий обмен типового объекта, например «Контакта», можно настроить примерно за пять минут: выбрать объект и тему Kafka, задать поля и ключ, указать JSON-схему, добавить готовое действие в процесс и проверить журнал. Оценка относится к базовой конфигурации при уже доступном брокере Kafka и согласованном формате данных; подготовка сети, доступа и нестандартной бизнес-логики выполняется отдельно.
Решение подходит для обмена мастер-данными и событийной интеграции: передавать изменения из BPMSoft во внешние системы и получать обновления обратно, сохраняя историю обработки в журнале сообщений.
Что получает команда
- Настройка без кода. Для каждого объекта аналитик выбирает схему BPMSoft, задаёт направление, тему Kafka, ключевое поле и соответствие JSON-атрибутов в интерфейсе, без разработки отдельного сервиса.
- Двунаправленный обмен. Отправляйте события из BPMSoft в Kafka и принимайте сообщения из Kafka для создания или обновления записей в BPMSoft.
- Сложное сопоставление полей в интерфейсе. Поля выбираются из каталога, в том числе из связанных объектов; для исходящего формата данных доступны вложенные объекты, массивы деталей и визуальные фильтры.
- Управляемый формат данных. Сообщения проверяются по JSON-схеме до обработки. Это помогает обнаружить несовместимое тело сообщения до изменения данных в системе.
- Готовые действия процессов. Добавляйте в бизнес-процессы действие «Отправить сообщение в Кафку» и действие запуска чтения сообщений без написания транспортного кода.
- Контроль результата. Журнал сообщений показывает направление, тему Kafka, объект, операцию, статус, ошибку и исходное тело обработанного сообщения.
- Подтверждённая работа на .NET 8. Пакет собран для
net8.0и проверен на BPMSoft 1.8 под Linux.
Kafka как платформа обмена
Когда BPMSoft обменивается данными только с одной системой, прямая интеграция кажется простым решением. Но затем появляются сайт, личный кабинет, учётная система, служба доставки, аналитика, колл-центр и партнёрские сервисы. Для каждого из них приходится создавать отдельную связь, согласовывать формат, писать и тестировать код, поддерживать повторные отправки и разбирать ошибки.
Apache Kafka хранит поток событий и позволяет нескольким получателям читать его в собственном темпе. BPMSoft передаёт изменение в тему Kafka один раз, а остальные системы подписываются только на нужные события. Новый получатель подключается к теме без вмешательства в уже работающие процессы.
Kafka сохраняет опубликованные сообщения на настраиваемый срок. Если получатель был остановлен на обновление, после запуска он может продолжить обработку с нужного места. Для критичных сценариев заранее определяют ключ события, правила идемпотентной обработки, ответственность за ошибку и порядок восстановления.
Типовые сценарии
| Сценарий | Как помогает NTA Kafka |
|---|---|
| Синхронизация контактов, контрагентов и других мастер-данных | Публикует изменения BPMSoft в тему Kafka и применяет входящие insert и update по ключевому полю. |
| Событийная интеграция с внешними сервисами | Передаёт события из бизнес-процесса в согласованный формат JSON для Kafka. |
| Подключение нескольких потребителей к данным BPMSoft | Каждый потребитель получает данные из своей темы Kafka, не меняя процессы BPMSoft. |
| Контроль интеграционных инцидентов | Позволяет быстро найти конкретное сообщение, увидеть статус обработки и тело сообщения для диагностики. |
Как аналитик настраивает обмен
- В разделе «Объекты интеграции» создаёт объект, выбирает схему BPMSoft и задаёт поля, которые участвуют в обмене.
- Для направлений
BPMSoft → KafkaиKafka → BPMSoftнастраивает темы Kafka и сопоставление JSON-полей. - Добавляет в бизнес-процесс действие отправки либо чтения сообщений.
- Для входящих данных задаёт JSON-схему и ключевое сопоставление для поиска записи.
- Проверяет результат в «Журнале сообщений» по направлению, операции и статусу обработки.
Требования и границы применения
- Нужны BPMSoft 1.8 и среда выполнения .NET 8.
- BPMSoft должен иметь сетевой доступ к Kafka-совместимому брокеру.
- До настройки нужны сервер начальной загрузки, группа потребителей, тайм-ауты чтения, режим аутентификации и согласованная JSON-схема для каждого объекта.
- Для входящего обмена используются поля корневого объекта; составные пути ESQ для записи не поддерживаются.
- Подтверждённые входящие сценарии —
insertиupdateдля корневых свойств. Входящийdeleteв текущую поставку не входит. - Значения входящего сообщения должны соответствовать JSON-схеме: например, значение
nullне пройдёт проверку для поля типаstring.
Следующий шаг
Подготовьте перечень объектов BPMSoft, тем Kafka, правила доступа к брокеру и JSON-схемы обмена. На демонстрации можно проверить базовый сценарий на объекте «Контакт» и согласовать требования к нестандартным преобразованиям.
«NTA Kafka связывает BPMSoft и Apache Kafka без отдельного интеграционного кода: аналитик настраивает объект, тему, сопоставление полей и JSON-схему в интерфейсе BPMSoft.»
Когда подходит
Подходит, когда сценарий из категории «интеграции» нужно закрыть быстро, без проектного внедрения и без переписывания основного контура. Применяется как самостоятельная надстройка или в связке с BPMSoft Конструктор.
Если в каталоге нет точного совпадения — собираем под задачу из того же стека: один контракт, одна команда, прямой доступ к инженерам и архитектору проекта.
Что получает команда
Готовая функциональность из коробки с возможностью адаптации под отраслевую специфику. Поставляется с документацией, регламентами, сценариями использования и поддержкой релизами. Подключение через адресные интеграции — без shadow-ETL и без замены продуктовых форм.