Процессный движок (Process Engine)
Процессный движок - компонент системы, отвечающий за выполнение и управление бизнес-процессами, смоделированными в виде диаграмм BPMN (Business Process Model and Notation).
Он интерпретирует BPMN-модель процесса и:
- управляет переходами между этапами (Activities);
- отслеживает состояния процесса;
- обрабатывает события (Events);
- запускает задачи для пользователей (User Tasks) и автоматические действия (Service Tasks).
В UniBPM процессный движок управляет жизненным циклом (статусной моделью) заявки, создает пользовательские и сервисные задачи.
Ключевые принципы
- В качестве процессного движка UniBPM может использоваться:
- Собственное процессное ядро (на базе Camunda 7);
- Camunda 7 Run;
- Camunda 8 (Zeebe).
Рабочему процессу соответствует отдельный тенант в процессном движке. Тенант - логический разделитель (изолятор) внутри движка процессов, который позволяет разграничивать доступ к процессам, задачам и данным между различными группами пользователей или организаций.
Каждой заявке, находящейся на стадии обработки, сопоставлен экземпляр процесса в процессном движке.
Модель процесса и экземпляр процесса
Модель процесса (Process Definition) - это описание процесса в нотации BPMN 2.0. Рабочие версии моделируются и хранятся в UniBPM, исполняемые - разворачиваются в процессном движке.
Экземпляр процесса (Process Instance) - это конкретный запуск (исполнение) процесса, смоделированного в BPMN. Если бизнес-процесс — это “шаблон” (модель), то экземпляр — это его “живое выполнение”, с уникальным идентификатором, текущим состоянием, переменными и историей. Каждый раз, когда стартует процесс (вручную, по событию или по расписанию), создаётся новый экземпляр процесса.
По аналогии с ООП: Process Definition - это Класс, Process Instance - экземпляр класса.