| Introduction |
|
|
Activity state | Description |
|
|
ACTIVE | When a client application accepts an offered activity or takes it off a |
| queue, it is placed in ACTIVE state. The engine performs any work |
| specified by an OnActive method in the process definition and then |
| provides the client application with process attribute data needed to |
| perform the activity. The client application is responsible for |
| performing the work associated with the activity. When the client |
| determines that the work is complete, it informs the engine, which |
| removes the activity from the session’s activity list and places the |
| activity in a COMPLETED state. When the client aborts the activity, it |
| informs the engine, which removes the activity from the session’s |
| activity list and places the activity in an ABORTED state. |
COMPLETED | The COMPLETED state signifies successful completion of an activity. |
| The engine performs any additional work specified by the |
| OnComplete method in the process definition, and then executes the |
| activity’s OnComplete router methods. Once any successor activities |
| specified in the routers are created, the engine deletes the |
| COMPLETED activity from memory. |
ABORTED | The ABORTED state signifies unsuccessful completion of an activity. |
| The engine performs any additional work specified by the OnAbort |
| method in the process definition, and then executes the activity’s |
| OnAbort router methods. Once any successor activities specified in |
| the routers are created, the engine deletes the ABORTED activity |
| from memory. If the process definition does not provide OnAbort |
| routers and the activity is aborted from ACTIVE state, the engine will |
| abort the process instance. |
|
|
Chapter 6 Managing Process Execution 163