Implementation of BPMN through Camunda¶
Business processes in the platform are implemented on the basis of the engine Camunda platform.
Modelling¶
Process modeling is performed through the MetaModelService.
The business process model consists of:
Process definitions - process descriptions (display name, description, assignments).
BPMN-schema - diagrams.
Processors - custom extensions that can be used in process modeling (task listeners, execution listeners, and service tasks).
When publishing a business process model, bpmn schemas are deployed to Camunda, after which the processes become available for launch.
Working with processes¶
A "layer" of Unidata Workflow Engine is implemented between the main services of the module and Camunda.
Unidata Workflow Engine consists of three main components:
UnidataProcessEngine - a component that redirects calls to work with processes in Camunda (diagram deployment, PSU startup, assignment/execution of tasks, etc.)
UnidataBpmnParser - customized bpmn diagram parser. Camunda uses this parser during the execution of processes.
WorkflowListenerPlugin - a plugin for Camunda that registers system listeners of tasks and processes (used for indexing tasks and processes in Opensearch)
All module services interact with Camunda via UnidataProcessEngine.
During execution, processes and tasks from Camunda are indexed in Opensearch (Elasticsearch). Further interaction with them is carried out through the platform's search service SearchService.

Figure 1. Interaction scheme