Orchestration in Camunda
Process orchestration in Camunda enables complex scenarios involving multiple institutions and steps to run as a single, seamless flow. This article explains in simple terms how Camunda coordinates tasks between public authorities like the Labour Office and the Social Insurance Agency when processing citizen applications.
What We Aim to Achieve
Predstavte si, že občan podá jednu žiadosť, za ktorou sa ale skrýva viacero krokov:
- The Labour Office (UPSVaR) must assess whether to register the applicant as unemployed.
- If the citizen has also applied for unemployment benefits, the request continues to the Social Insurance Agency (SP).
- Both institutions can approve, reject, or request additional information.
We want one central tool—Camunda—to coordinate this process. Think of it as a conductor of an orchestra, directing each player at the right moment.
How It All Works
Orchestration
Imagine the process has a "brain." That brain is Camunda. It knows the exact order of steps, such as:
- A request is received from the citizen.
- It is sent to the Labour Office (UPSVaR).
- The system waits for a response.
- If necessary, it sends a request to the citizen for additional information.
- If the request is approved, it continues by submitting the benefit application to the Social Insurance Agency (SP).
- The system waits again and, based on the response, decides how to finish the process.
Each of these steps is visualised in a BPMN diagram, which Camunda follows step-by-step.
How Institutions Communicate
- Camunda doesn’t know how UPSVaR or SP work internally. But it does:
- Send the request (e.g. via electronic form).
- Wait for a response—via email, API, or other message.
UPSVaR and SP handle their part using their internal systems. Camunda simply "starts" their part and waits for the reply.
Subprocesses (Called Components)
Camunda knows that some tasks repeat or are more complex, such as:
- Requesting missing information when the citizen forgets to include a document.
- Processing an unemployment benefit application.
These are called as separate subprocesses—like mini-processes inside the main one.
How It All Works Together
- A citizen completes a form on slovensko.sk and submits a request to be registered as unemployed.
- Camunda automatically forwards the request to UPSVaR.
- UPSVaR sends a response (e.g. a request for additional information).
- Camunda starts a subprocess for collecting missing data.
- The citizen provides the missing information.
- If needed, Camunda starts another subprocess for the benefit application and communicates with SP.
- Finally, Camunda evaluates the results and concludes the process appropriately.
How We Set This Up in Camunda (Simplified)
- We draw the entire process as a BPMN diagram.
- In the diagram, we configure:
- When and where to send the request
- When to wait for a response
- When to call a subprocess
- Camunda handles everything:
- Tracks the current position in the process
- Saves the state when waiting for a response
- Decides what to do next once the reply arrives
What Makes This Great?
- The structure is clear—for both technical and non-technical users.
- Every step is traceable. The citizen and the office both know where they are in the process.
- The system can automatically decide what to do next based on incoming responses.
Conclusion
- Camunda = the process conductor
- UPSVaR and SP = musicians who play when prompted
- Each step is simply: "Send", "Wait", "Evaluate", "Proceed"
- Everything is visualised in a BPMN diagram—even non-experts can understand it