Use this pattern to execute multiple instances of the same flow of activities. It is specially useful in situations where the number of executed instances is only known at runtime.
To execute multiple instances of a flow of activities, either place those activities in a new Process or in a flow of a Conditional Start.
The advantage of using a new Process is that it clarifies the structure of the process and improves scalability, even if the number of process instances grows to millions. It also helps you limit the use of conditional starts.
The disadvantage is that further design has to be done to communicate with the new process and also to make sure all child processes are terminated when a parent process is terminated.
As an example, think of a recruitment process for candidates who apply for a job. At some point in the process interviews are scheduled, each one to be held by an interviewer. The number of scheduled interviews depends on the job position. The recruitment process only continues after all interviews are finished.
When the CandidateSelection process is executed the following occurs:
When the process is executed the following occurs:
Overview of Process Patterns