Перейти к содержимому

Камунда.РФ 7

Камунда.РФ 7 — это независимая производная (fork) программного обеспечения с открытым исходным кодом Camunda Platform 7 Community Edition, распространяемого под лицензией Apache License 2.0. Проект развивает это ядро, фокусируясь на безопасности, локализации и поддержке для русскоязычных пользователей.

Архитектурно Камунда.РФ 7 состоит из следующих основных компонентов:

  • Process Engine — ядро/движок выполнения процессов

  • REST API — HTTP‑интерфейс управления для Process Engine

  • Database — хранение состояния 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)

POST /engine-rest/deployment/create
Content-Type: multipart/form-data
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
}
POST /engine-rest/process-definition/key/{processKey}/start
Content-Type: application/json
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 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 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"
}
  1. Установка (Deployment) BPMN‑модели процесса

  2. Запуск процесса, создание экземпляра

  3. Мониторинг статуса через REST или Камунда.РФ Пульт

  4. Выполнение задач (пользовательских или сервисных)

  5. Экземпляр процесса продолжается или завершается