Subprocess modeling and running multiple instances

Guessing from this post Subprocesses and multi-instances - About Camunda Platform 8 - Camunda Platform Forum, Zeebe currently does not support a parent process spawning multiple children sub-processes in parallel.

For example, defining a subflow in a bpmn file and using this as a step within an existing flow with parallel execution.

Is this feature available for preview?

You can do anything with a task worker, but there is no way to trigger another process in BPMN in Zeebe. You could use a message start event, but you still need a task worker to send the message.

Thanks for the response.

I am just reading through the new multi-workflow instance feature coming in 0.21. How is this going to work?

I would think a subprocess could be either defined inline the BPMN or defined in another file for reusability?

Inline only.

With enough scripting glue you can do it though: You would need to compose them before deploying to the broker using an xslt transform or similar, if you put them in different files.

There is simply no element to reference another process atm.

You’d also need to mod the modeler to inject the reference.

That’s fair.

However, one would imagine this could affect usability of a composed subprocesses.

Using the retail example, let’s say I have a shipping subprocess which I would like to re-use across different business units with different processes. One could easily see the use-case of defining this subprocess in its own file to allow for re-use. Defining it inline means you’d have to remodel every where you thinking of shipping which somewhat violates DRY.

A suggestion:
How would this work if say we added a property on a subprocess element which allows one to supply a BPMN file name? Then as part of compilation you explode it similar to what you do when executing a subprocess? I can’t imagine this to be a far reach given there is already support for subprocess.

Yeah, you’d write a compiler for your XML models, and have an intermediate step between the modeler and deployment.

Personally, I’d do it in a way that gets other people using it too. That lessens your chances of getting caught in an evolutionary dead-end.

Using separate defined workflows as subprocess is possible with a CallActivity. It think this is on our roadmap for Q4.

Greets
Chris

2 Likes

Thank you, Looking forward to that feature.