Process Execution
Process instance execution Process execution involves creation of any number of activities, including one or more Offered activities (which are offered to and performed by client applications), Queued activities (which are placed on a queue and performed by client
Process instance termination Process termination involves the completion of a Last activity.
The different activity types are discussed in the context of each stage of the execution life cycle, explained in more detail in the sections below.
Process Instance Creation
The engine creates a new instance of a process in three situations:
•A client application requests a new instance of a process
The request must provide the name of a process definition registered with the engine. The engine invokes the assignment rules for process creation to determine if the user making the request is authorized to create an instance of the process. If so, a First activity is created. A First activity passes automatically through the PENDING, READY, and ACTIVE states, and is placed directly into a COMPLETED state. Its OnComplete router methods, if any, are executed, and process execution proceeds.
•A Subprocess activity becomes ACTIVE
A Subprocess activity specifies a process and engine name. If the specified process is registered with the specified engine and all the required data can be located, the specified engine creates a new instance of the process. As in the previous case, a First activity is created, and process execution then proceeds.
•An engine recovers current state
During a failover scenario, or whenever a backup engine unit comes online, the engine needs to recover current state information from the engine database. In this situation, process instances that were active when the engine went off line are recreated and restored to their former states.