There are several ways to start a new process from within a running process. This page details their similarities and differences.
Sub-Process - The Sub-Process Activity is used to launch sub-processes from within your current process. It links the two published process models through a parent-child relationship and allows you to transfer data between them. The parent and child processes each contain references to the other. Sub-processes can be run either asynchronously or synchronously.
Start Process Smart Service - A smart service that allows you to initiate another process from your current process. The new process is started asynchronously and the process flow of the current process continues immediately after the new process starts.
Process-to-Process Messaging - The Send Event and End Event activities can trigger the starting of a new process if that process model's start node is configured to receive messages. Note in the table below that the Start Process smart service is equivalent or better than process messaging in every category.
|Sub-Process||Start Process Smart Service||Process Messaging|
|Process Variables||Can be passed by reference||Can be passed by reference||Cannot be passed by reference||Cannot be passed by reference|
|Reporting||Process reports can access||Process reports can access||Process reports cannot access||Process reports cannot access|
|Execution Engine Balancing||Same Engine||Same Engine||Balanced||Balanced|
|Model to Start||Defined statically||Defined statically||Defined dynamically||Defined statically|
|Activity Chaining||Can follow an initial activity chain||Cannot follow an initial activity chain||Cannot follow an initial activity chain||Cannot follow an initial activity chain|
|Performance Under High Load||Medium||Medium||Good||Poor|
|Quick Tasks||Shared||Not Shared||Not Shared||Not Shared|