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> |