BPMN sub-processes and call activities
Sub-processes and call activities are non-atomic pieces of work within a business process. They are - besides the tasks - a graphical representation of Activities.
Sub-processes can occure with different types.
The sub-provess types, that are defined by BPMN are:
- none
- loop
- muilti-instance
- compensation
- ad hoc
- transaction
A sub-process is a non-atomic (compound) Activity that is included within a business process or a choreography. It is compound in that it can be broken down into a finer level of detail through a set of sub-Activities.
A transaction is a sub-process that is supported by a special protocol that insures that all parties involved have complete agreement that the activity should be completed or cancelled. The attributes of the activity will determine if the activity is a transaction.
| No. | JSON request / definition | JSON request / shape | Graphic display | BPMN definition | BPMN display |
|---|---|---|---|---|---|
| 1 | "properties": { "type": "subProcess", "kind": "OBJ"}or: "properties": { "type": "subProcess", "kind": "OBJ", "processMarker": "none"} |
"properties": { "type": "subProcess"} |
|
<subProcess> ... </subProcess> |
|
| 2 | "properties": { "type": "subProcess", "kind": "OBJ", "processMarker": "parallelMultiple"} |
"properties": { "type": "subProcess"} |
|
<subProcess> ... <multiInstance- LoopCharacteristics/> ... </subProcess> |
|
| 3 | "properties": { "type": "subProcess", "kind": "OBJ", "processMarker": "loop"} |
"properties": { "type": "subProcess"} |
|
<subProcess> ... <standardLoop- Characteristics/> ... </subProcess> |
|
| 4 | "properties": { "type": "subProcess", "kind": "OBJ", "processMarker": "compensation"} |
"properties": { "type": "subProcess"} |
|
<subProcess isFor- Compensation="true"> ... <standardLoop- Characteristics/> ... </subProcess> |
|
| 5 | "properties": { "type": "subProcess", "kind": "OBJ", "processMarker": "adHoc"} |
"properties": { "type": "subProcess"} |
|
<adHocSubProcess> ... </adHocSubProcess> |
|
| 6 | "properties": { "type": "transaction", "kind": "OBJ"}or: "properties": { "type": "transaction", "kind": "OBJ", "processMarker": "none"} |
"properties": { "type": "transaction"} |
|
<transaction> ... </transaction> |
|
BPMN call activity
A call activity identifies a point in the business process where a global (re-used) sub-process or a global (re-used) task is used. The call activity acts as a wrapper for the invocation of a global sub-process or a global task within the business process.
| No. | JSON request / definition | JSON request / shape | Graphic display | BPMN definition | BPMN display |
|---|---|---|---|---|---|
| 7 | "properties": { "type": "callActivity", "kind": "OBJ"}or: "properties": { "type": "callActivity", "kind": "OBJ", "processMarker": "none"} |
"properties": { "type": "callActivity"} |
|
<callActivity> ... </callActivity> |
|