Введение
Камунда.РФ 7 — это независимая производная (fork) программного обеспечения с открытым исходным кодом Camunda Platform 7 Community Edition, распространяемого под лицензией Apache License 2.0. Проект развивает это ядро, фокусируясь на безопасности, локализации и поддержке для русскоязычных пользователей.
Архитектурно Камунда.РФ 7 состоит из следующих основных компонентов:
-
Process Engine — ядро/движок выполнения процессов
-
REST API — HTTP‑интерфейс управления для Process Engine
-
Database — хранение состояния Process Engine
Основные понятия Process Engine
-
Deployment — загрузки моделей в Process Engine
-
Process Definition — описания/определения процессов (BPMN‑диаграммы), являются составной частью Deployment
-
Process Instance — запущенные экземпляры процессов, на основе Process Definition
-
Activity Instance — пользовательские или сервисные задачи, в рамках Process Instance
-
Variable — переменные экземпляра процесса, хранящие состояние/данные
Предварительные требования
-
Запущенная Камунда.РФ 7 (см. инструкцию по установке)
-
Доступ к REST API (по умолчанию
http://localhost:8080/engine-rest) -
BPMN‑файл процесса (например, order-process.bpmn)
Деплой процесса через REST API
HTTP‑запрос
POST /engine-rest/deployment/create
Content-Type: multipart/form-data
Пример cURL
curl http://localhost:8080/engine-rest/deployment/create -XPOST \
-F "deployment-name=test" \
-F "data=@order-process.bpmn"
Результат
В ответе возвращается информация о Deployment и идентификаторы загруженных Process Definition.
{
"deployedCaseDefinitions": null,
"deployedDecisionDefinitions": null,
"deployedDecisionRequirementsDefinitions": null,
"deployedProcessDefinitions": {
"OrderProcess:3:7dde06c5-dfb6-11f0-8730-56d6ece781ef": {
"category": "http://bpmn.io/schema/bpmn",
"deploymentId": "7ddbe3e3-dfb6-11f0-8730-56d6ece781ef",
"description": null,
"diagram": null,
"historyTimeToLive": 1,
"id": "OrderProcess:3:7dde06c5-dfb6-11f0-8730-56d6ece781ef",
"key": "OrderProcess",
"name": null,
"resource": "order-process.bpmn",
"startableInTasklist": true,
"suspended": false,
"tenantId": null,
"version": 3,
"versionTag": null
}
},
"deploymentTime": "2025-12-23T07:18:53.709+0300",
"id": "7ddbe3e3-dfb6-11f0-8730-56d6ece781ef",
"links": [
{
"href": "http://localhost:8080/engine-rest/deployment/7ddbe3e3-dfb6-11f0-8730-56d6ece781ef",
"method": "GET",
"rel": "self"
}
],
"name": "test",
"source": null,
"tenantId": null
}
Запуск процесса, создание экземпляра
HTTP‑запрос
POST /engine-rest/process-definition/key/{processKey}/start
Content-Type: application/json
Пример cURL
curl -X POST http://localhost:8080/engine-rest/process-definition/key/OrderProcess/start \
-H "Content-Type: application/json" \
-d '{
"variables": {
"orderId": { "value": "12345", "type": "String" }
}
}'
Результат
В ответе возвращается JSON с идентификатором экземпляра процесса:
{
"businessKey": null,
"caseInstanceId": null,
"definitionId": "OrderProcess:3:7dde06c5-dfb6-11f0-8730-56d6ece781ef",
"definitionKey": "OrderProcess",
"ended": false,
"id": "824b08d5-dfb7-11f0-8362-56d6ece781ef",
"links": [
{
"href": "http://localhost:8080/engine-rest/process-instance/824b08d5-dfb7-11f0-8362-56d6ece781ef",
"method": "GET",
"rel": "self"
}
],
"suspended": false,
"tenantId": null
}
Получение статуса процесса
Получение информации по экземпляру
GET /engine-rest/process-instance/{id}
Пример cURL
curl http://localhost:8080/engine-rest/process-instance/824b08d5-dfb7-11f0-8362-56d6ece781ef
Результат
{
"businessKey": null,
"caseInstanceId": null,
"definitionId": "OrderProcess:3:7dde06c5-dfb6-11f0-8730-56d6ece781ef",
"definitionKey": "OrderProcess",
"ended": false,
"id": "824b08d5-dfb7-11f0-8362-56d6ece781ef",
"links": [],
"suspended": false,
"tenantId": null
}
Возможные статусы
-
ended = false— процесс активен -
ended = true— процесс завершён -
suspended = true— процесс приостановлен
Получение активных задач процесса
GET /engine-rest/process-instance/{processInstanceId}/activity-instances
Пример cURL
curl http://localhost:8080/engine-rest/process-instance/824b08d5-dfb7-11f0-8362-56d6ece781ef/activity-instances
Результат
{
"activityId": "OrderProcess:3:7dde06c5-dfb6-11f0-8730-56d6ece781ef",
"activityName": null,
"activityType": "processDefinition",
"childActivityInstances": [
{
"activityId": "UserTask_HandlerOrder_1",
"activityName": "Обработать заявку",
"activityType": "userTask",
"childActivityInstances": [],
"childTransitionInstances": [],
"executionIds": [
"824b08d5-dfb7-11f0-8362-56d6ece781ef"
],
"id": "UserTask_HandlerOrder_1:824d79d9-dfb7-11f0-8362-56d6ece781ef",
"incidentIds": [],
"incidents": [],
"name": "Обработать заявку",
"parentActivityInstanceId": "824b08d5-dfb7-11f0-8362-56d6ece781ef",
"processDefinitionId": "OrderProcess:3:7dde06c5-dfb6-11f0-8730-56d6ece781ef",
"processInstanceId": "824b08d5-dfb7-11f0-8362-56d6ece781ef"
}
],
"childTransitionInstances": [],
"executionIds": [
"824b08d5-dfb7-11f0-8362-56d6ece781ef"
],
"id": "824b08d5-dfb7-11f0-8362-56d6ece781ef",
"incidentIds": [],
"incidents": [],
"name": null,
"parentActivityInstanceId": null,
"processDefinitionId": "OrderProcess:3:7dde06c5-dfb6-11f0-8730-56d6ece781ef",
"processInstanceId": "824b08d5-dfb7-11f0-8362-56d6ece781ef"
}
Типовой жизненный цикл процесса
-
Установка (Deployment) BPMN‑модели процесса
-
Запуск процесса, создание экземпляра
-
Мониторинг статуса через REST или Камунда.РФ Пульт
-
Выполнение задач (пользовательских или сервисных)
-
Экземпляр процесса продолжается или завершается