De Business Process Management, BPM and Workflow Automation Wiki | BizAgi BPMS
A SubProcess is a set of activities that have a logical sequence that meet a clear purpose. A SubProcess is a process in itself, whose functionality is part of a larger process.
Example: In the Loan Request process, let’s suppose the disbursement activity does not consist only of the person in charge from the area of operations recording the final state of the disbursement and its information, but rather, all the related activities and the different parties involved must also be taken into account. In this case, the disbursement activity would not be atomic and should be considered a sub-process.
When the sub-process is expanded, the details of the sub-process can be seen within the limits.
Types of SubProcess
A SubProcess can be defined as Embedded, Reusable, Multiple or Transactional.
Embedded: Embedded SubProcesses contain a set of activities that are not independent of the Parent process; therefore, they share the same information or data. They are usually a section or module of a same process but have a clear objective and so, can be defined with a beginning and an end. They do not need mapping data and cannot be configured as multiple SubProcesses.
Note: Embedded processes are not meant to be reusable.
Reusable: Reusable Sub Processes contain a set of activities that are independent from the Parent process, which is the process that calls upon them. The purpose of a reusable Sub Process is different from the Parent process and can be considered as a black box.
This Sub Process can be integrated or standalone. If integrated is chosen the parent process continues when the sub process is finished. If standalone is chosen the parent process continues with the next activity as soon as the sub process is created. The reusable’s sub processes cannot be transactional, and can be configured as a multiple sub process.
It is possible to simulate the behavior of the Activities being part of an Ad-Hoc process. In order to implement this, there is a special pattern that can be modeled on Bizagi.
Sub process Version
This corresponds to the version of the process that will be instanced.
Integrated: A sub process is configured as Integrated when the total execution of the process is required before starting the following activity of the caller process. This behavior can be compared to the sequence pattern, where Activity B cannot be run until Activity A has ended.
In addition, if the parent process is cancelled or ends naturally via another option or path, such as canceling a process event, the sub process will also be closed if it is not concluded.
StandAlone: Non-integrated or standalone processes are processes that, although they are called on by another process, do not have to be run completely to go on to the next activity. In this case, the sequence pattern does not apply and the sub process will not depend on the parent process; that is, if the parent process ends, the sub process can remain in effect.
Example: if a claim associated to a credit process is enabled, it must be processed independently. In this case, the process of complaints and claims will contain information from the parent process, but the credit process must carry on regardless of the status of the complaint or claim. If the credit process is cancelled, the claim must still be processed.
The Loan Request Process has a sub process called Sale, where the user has to register the client's information once he or she turns in the requested documents to study the case.
This case will be the example of a reusable and an embedded process, but in essence it is a reusable process because the Loan Request process only needs to know if the client was approved or not, so it is independent.