Pattern |
Rating |
Motivation |
Task Data |
+/- |
Scopes provide a means of limiting the visibility of variables to smaller blocks approaching task level binding. |
Block Data |
- |
Sub-processes are not supported |
Scope Data |
+ |
Directly supported by scope construct |
Multiple Instance Data |
- |
Not supported. Data elements are scoped at case level. |
Case Data |
+ |
The default scoping for variables is process level. |
Folder Data |
- |
Not supported |
Workflow Data |
- |
Not supported |
Environment Data |
+ |
Accessing to environment data via web service calls |
Task to Task |
+ |
Data elements can be passed between activities in messages or via shared variables. |
Block Task to SubWorkflow Decomposition |
- |
Not supported |
SubWorkflow Decomposition to Block Task |
- |
Not supported |
To Multiple Instance Task |
- |
Not supported |
From Multiple Instance Task |
- |
Not supported |
Case to Case |
+/- |
Indirectly achievable using the invoke construct |
Task to Environment - Push-Oriented |
+ |
The invoke construct supports the passing of data elements to other web services on an asynchronous basis. |
Environment to Task - Pull-Oriented |
+ |
The invoke construct also suports the request of data elements from other web services on a synchronous basis. |
Environment to Task - Push-Oriented |
+/- |
Indirectly achievable via the receive construct or event handlers although the data update operation requires specific coding |
Task to Environment - Pull-Oriented |
+/- |
Indirectly achievable via the receive/reply constructs or event handlers although the operation requires specific coding |
Case to Environment - Push-Oriented |
- |
Not supported |
Environment to Case - Pull-Oriented |
- |
Not supported |
Environment to Case - Push-Oriented |
- |
Not supported |
Case to Environment - Pull-Oriented |
- |
Not supported |
Workflow to Environment - Push-Oriented |
- |
Not supported |
Environment to Workflow - Pull-Oriented |
- |
Not supported |
Environment to Workflow - Push-Oriented |
- |
Not supported |
Workflow to Environment - Pull-Oriented |
- |
Not supported |
Data Transfer by Value - Incoming |
+ |
Option to pass data elements between activities by value (using messages) |
Data Transfer by Value - Outgoing |
+ |
Option to pass data elements between activities by value (using messages) |
Data Transfer - Copy In/Copy Out |
- |
Not supported |
Data Transfer by Reference - Unlocked |
+ |
No concurrency control is applied by default |
Data Transfer by Reference - With Lock |
+/- |
Some measure of concurrency control can be achieved through the use of serializable scopes |
Data Transformation - Input |
- |
Not supported |
Data Transformation - Output |
- |
Not supported |
Task Precondition - Data Existence |
+/- |
Can be indirectly facilitated via exception handlers dealing with attempts to use uninitialised parameters but requires dedicated scope for each activity. |
Task Precondition - Data Value |
+ |
Inclusion of additional link around task with transition condition that is the negation the required data balues allows task to be skipped when data values not met. |
Task Postcondition - Data Existence |
- |
Not supported |
Task Postconditon - Data Value |
- |
Not supported |
Event-Based Task Trigger |
+ |
Direct event support via event handlers and the receive construct. New process instances can also be invoked externally. |
Data-Based Task Trigger |
+/- |
Indirectly achievable by including a data condition monitoring task in the process and triggering the to-be-triggered task via a link or alternatively using message events for triggering. |
Data-Based Routing |
+ |
Both exclusive choice and multi-choice supported |