Реализация бизнес-процессов через Camunda

Бизнес-процессы в системе реализованы на базе движка бизнес-процессов Camunda.

Моделирование

Моделирование процессов выполняется через модуль MetaModelService.

Модель бизнес-процессов состоит из:

  • Process definitions - описания процессов (отображаемое имя, описание, назначения).

  • BPMN-схемы - диаграммы бизнес-процессов.

  • Обработчиков - пользовательских расширений, которые могут быть использованы при моделировании процессов (слушатели задач, слушатели исполнения и сервисные задачи).

При публикации модели бизнес-процессов выполняется деплой bpmn-схем в Camunda, после чего процессы становятся доступными для запуска.

Работа с процессами

Между основными сервисами модуля и Camunda реализована "прослойка" Unidata Workflow Engine.

Unidata Workflow Engine состоит из трех основных компонентов:

  • UnidataProcessEngine - компонент, который переадресовывает вызовы по работе с процессами в Camunda (деплой диаграмм, запуск БП, назначение/выполнение задач и др.)

  • UnidataBpmnParser - кастомизированный парсер bpmn-диаграмм. Camunda использует этот парсер во время исполнения процессов.

  • WorkflowListenerPlugin - плагин для Camunda, который регистрирует системные слушатели задач и процессов (используется для индексации задач и процессов в Opensearch)

Все сервисы модуля взаимодействуют с Camunda через UnidataProcessEngine.

Во время исполнения процессы и задачи из Camunda индексируются в Opensearch (Elasticsearch). Дальнейшее взаимодействие с ними выполняется через поисковый сервис системы SearchService.

Схема взаимодействия

Рисунок 1 – Схема взаимодействия