I have 40 activities that do not depend on each other. I want to model them in a such way, that execution engine processes them in multiple parallel flows in any order. Execution engine may optimize their execution order (for example take as first the activity, that took the most time at the previous run).
Is it possible with BPEL or BPMN 2.0? If yes - how?
With a Parallel Gateway I will have to draw 40 edges, as far as I understand. Is there any better way?
Thanks!
Yes, both languages support parallel activities:
BPMN 2.0:
ordering
attribute set to parallel
. The tricky part is probably to define a completionCondition
. The spec is somewhat unclear about this scenario, since it is more meant to support unstructured workflows with human interactions.BPEL:
<flow>
construct without any <link>
elements. All nested activities will be executed in parallel, no 'edges' are needed.