Dynamic Sub-Processes

Dynamic sub-processes are used when a process (either a business process or a pageflow process) calls one of several sub-processes at runtime. However, the sub-process which is going to be called is not determined at design-time.

The exact sub-process to be called on any given occasion is chosen at runtime, depending on the process data. For example, a corporate HR Department’s recruitment process might need to call different sub-processes for determining a candidate’s eligibility for employment depending on the country where the candidate is recruited.

In order for the main process to accommodate any of the sub-processes that might be called, the sub-processes must all take and return a common set of parameters, which are known at design-time. This common data is specified by a process interface on which all the sub-processes are based. Then, a call sub-process activity in the main process specifies a call to the process interface instead of naming an individual sub-process.