Pattern 18 (Task to Environment - Pull)
FLASH animation of Data Interaction - Task to Environment - Pull-Oriented pattern
Description
The ability of a task to receive and respond to requests for data elements from services and resources in the operational environment.
Example
During execution, the Assess Quality task may receive requests for current data from the Quality Audit web service handler. It must provide this service with details of all current data elements.
Motivation
In some cases, the requests for access to task instance data are initiated by external processes. These requests need to be handled as soon as they are received but should be processed in a manner that minimises any potential impact on the task instance from which they are sourcing data.
Overview
The ability to access data from a task instance can be handled in one of three ways:
- The offering can provide a means of accessing task instance data from the external environment.
- During their execution, tasks instances publish data values to a well-known location e.g. a database that can be accessed externally.
- Task instances incorporate facilities to service requests for their data from external processes.
Context
There are no specific context conditions associated with this pattern.
Implementation
In practice, this facility is not widely supported as an explicit construct by the offerings examined. BPEL provides direct support for the pattern (via the receive construct and event handlers). Staffware provides the EIS Report construct and EIS Case Data Extraction facilities to enable the values of data elements to be requested from cases. COSA provides APIs for getting the values of various types of workflow data elements from the external environment (both at command line level and also programmatically). iPlanet provides facilities for developing "adaptor" and "proxy" tasks through which external data can be requested from within a process instance. BPMN supports this type of interaction using Message Flows. FLOWer provides an indirect solutions via the chp_frm_getfield API call although this method has limited generality.
Issues
Similar difficulties exist with the utilization of this pattern to those identified for Pattern 17.
Solutions
As for Pattern 17.
Evaluation Criteria
An offering achieves full support if it has a construct that satisfies the description for the pattern. It achieves a partial support rating if programmatic extensions are required to facilitate the data passing.
Product Evaluation
To achieve a + rating (direct support) or a +/- rating (partial support) the product should satisfy the corresponding evaluation criterion of the pattern. Otherwise a - rating (no support) is assigned.
Product/Language |
Version |
Score |
Motivation |
---|---|---|---|
Staffware | 9 | +/- | Indirectly supported by EIS Reports and EIS Case Data extraction facility |
Websphere MQ Workflow | 3.4 | +/- | Indirectly achievable by including communication facilities in program implementations |
FLOWer | 3.0 | +/- | Values of data elements in forms associated with tasks can be queried via CHIP library API |
COSA | 4.2 | + | Supported via command line and C/COM/Java APIs |
XPDL | 1.0 | - | Not reported |
BPEL4WS | 1.1 | +/- | Indirectly achievable via the receive/reply constructs or event handlers although the operation requires specific coding |
BPMN | 1.0 | + | Captured through a message flow flowing from the boundary of a Pool representing the Environment to a Task followed by a message flow flowing from the same Task back to the Pool representing the Environment |
UML | 2.0 | - | Not supported |
Oracle BPEL | 10.1.2 | + | Directly supported through <receive> and <reply> |
jBPM | 3.1.4 | - | jBPM does not support this pattern. |
OpenWFE | 1.7.3 | - | OpenWFE does not support this pattern. |
Enhydra Shark | 2 | - | Enhydra Shark does not support this pattern. |
Summary of Evaluation
+ Rating |
+/- Rating |
---|---|
|
|