A Split/Join task is a shape on the Diagram tab of a flow rule. At runtime, this task causes processing of a work object to split into two or more independent flows that operate asynchronously and then later rejoin.
This feature supports multitasking or parallel operation of work processing at the business process level. One department or business unit can, at its own pace and following its own flows, perform its functions for the work object while another department also works on the same work object.
Increased parallelism can improve end-to-end resolution times, resulting in greater overall utilization of staff and improved customer service.
When the join occurs, the original flow continues. Depending on the details recorded in the Split-Join Properties panel, joining can occur only after all the split subflows complete, or after any one of them completes.
The standard flow rule Work-.StandardParallelWork proves a very simple example of Split/Join use.
Don't confuse business process parallel processing with computational parallel processing. The split subflows execute asynchronously and independently, but within the same Java thread on the same server node. When viewed at the computational level of microseconds (rather than minutes or hours), two Split-Join subflows that contain only utility tasks do not execute in parallel.
During execution of a Split/Join task, the flow rule that contains the Split/Join shape is known as the parent flow; each of the split flows is called a subflow.
flow, parent flow, Spin-off task, Split-ForEach task, subflow, task | |
Flow form — Editing in Visio — Split/Join tasks |