Камунда.РФ 8
Камунда.РФ 8 — это независимая производная (fork) открытого программного обеспечения Camunda 8.5 (Zeebe), распространяемого под лицензией Apache License 2.0. Проект развивает это ядро, фокусируясь на безопасности, локализации и поддержке для русскоязычных пользователей.
Краткое описание Камунда.РФ 8
Заголовок раздела «Краткое описание Камунда.РФ 8»Камунда.РФ 8 — это платформа оркестрации процессов, построенная вокруг распределённого workflow-движка.
В отличие от Камунда.РФ 7 и Camunda 7:
-
нет встроенного BPMN-движка с состоянием в централизованной БД
-
используется event-sourcing и log-based storage
-
основной API — gRPC (REST используется ограниченно)
-
высокая горизонтальная масштабируемость
Основные компоненты, образующие кластер Камунда.РФ 8:
-
Камунда.РФ 8 Engine — движок выполнения процессов
-
Камунда.РФ 8 Gateway — точка входа для gRPC-клиентов
Основные понятия
Заголовок раздела «Основные понятия»-
Deployment — публикация ресурсов (BPMN-диаграмм) в кластер Камунда.РФ 8
-
Process Definition — BPMN-модель процесса
-
Process Instance — выполняющийся экземпляр процесса
-
Job — единица работы для Worker
-
Worker — клиент, выполняющий Job
Предварительные требования
Заголовок раздела «Предварительные требования»-
Запущенный Камунда.РФ 8 кластер (см. инструкцию по установке)
-
gRPC-endpoint Камунда.РФ 8 Gateway
-
BPMN-файл процесса (например
order-process.bpmn)
Подключение к Камунда.РФ 8 (пример)
Заголовок раздела «Подключение к Камунда.РФ 8 (пример)»Примеры ниже показаны концептуально. Реализация зависит от используемого SDK (Java, Go, Node.js).
Деплой процесса (DeployResource)
Заголовок раздела «Деплой процесса (DeployResource)»Назначение
Заголовок раздела «Назначение»Загружает BPMN/DMN ресурсы в кластер Камунда.РФ 8.
gRPC метод
Заголовок раздела «gRPC метод»Пример (Java, концептуально)
Заголовок раздела «Пример (Java, концептуально)»Результат
Заголовок раздела «Результат»Возвращается информация о деплое и версии process definition.
Запуск процесса (CreateProcessInstance)
Заголовок раздела «Запуск процесса (CreateProcessInstance)»gRPC метод
Заголовок раздела «gRPC метод»Пример (Java)
Заголовок раздела «Пример (Java)»Результат
Заголовок раздела «Результат»Возвращается processInstanceKey — уникальный идентификатор экземпляра.
Получение статуса процесса
Заголовок раздела «Получение статуса процесса»Особенность Camunda 8
Заголовок раздела «Особенность Camunda 8»Камунда.РФ 8 Engine/Gateway не предоставляет прямой gRPC-запрос «получить статус процесса».
Статус определяется косвенно через:
-
события в log stream
-
в Камунда.РФ Пульт, через подключенное расширение “История”
-
наличие активных jobs
Рекомендуемый способ
Заголовок раздела «Рекомендуемый способ»Для runtime-мониторинга используйте Operate.
Работа с Job (Workers)
Заголовок раздела «Работа с Job (Workers)»Активация Job (ActivateJobs)
Заголовок раздела «Активация Job (ActivateJobs)»Пример воркера (Java)
Заголовок раздела «Пример воркера (Java)»Завершение Job
Заголовок раздела «Завершение Job»gRPC метод
Заголовок раздела «gRPC метод»Job считается выполненной после успешного вызова.
Типовой жизненный цикл процесса
Заголовок раздела «Типовой жизненный цикл процесса»-
Установка (Deployment) BPMN‑модели процесса
-
Запуск процесса, создание экземпляра
-
Мониторинг статуса через Камунда.РФ Пульт
-
Worker активирует Job
-
Worker завершает Job
-
Экземпляр процесса продолжается или завершается