Pattern 8 (Environment Data)
FLASH animation of Environment Data pattern
Description
Data elements which exist in the external operating environment are able to be accessed by components of processes during execution.
Example
Where required, tasks in the System Monitoring workflow can access the temperature sensor data from the operating environment.
Motivation
Direct access to environmentally managed data by tasks or cases during execution can significantly simplify processes and improve their ability to respond to changes and communicate with applications in the broader operational environment.
Overview
External data may be sourced from a variety of distinct locations including external databases, applications that are currently executing or can be initiated in the operating environment and services that mediate access to various data repositories and distribution mechanisms e.g stock price feeds. These scenarios are illustrated in Figure 9.
Figure 9: Environment data visibility
Context
There are no specific context conditions associated with this pattern.
Implementation
The ability to access external data elements generally requires the ability to connect to an interface or interprocess communication (IPC) facility in the operating environment or to invoke an external service which will supply data elements. Facilities for achieving this may be either explicitly or implicitly supported by an offering.
Explicit support involves the direct provision by an offering of constructs for accessing external data sources. Typically these take the form of specific elements that can be included in the design-time process model. Staffware provides the Automatic Step construct as well as script commands which enable specific items of data to be requested from an external application. COSA provides the Tool Agent interfaces which provide a number of facilities for accessing external data elements. FLOWer implements Mapping Objects which allow data elements to be copied from external databases into the workflow engine, updated as required with case data and copied back to the underlying database. It also allows text files to be utilised in workflow actions and has a series of interfaces for external database integration. BPEL provide facilities that enable external web services to be invoked thus facilitating access to environment data elements.
Implicit support occurs in offerings such as Websphere MQ and iPlanet where the actual implementation of individual workflow tasks is achieved by the development of associated programs in a procedural language such as C++ or Java. In this situation, access to external data occurs within individual task implementations by extending the program code to incorporate the required integration capabilities.
Issues
There are a multitude of ways in which external data elements can be utilised within a process. It is infeasible for any offering to support more than a handful of them. This raises the issue of the minimal set of external integration facilities required for effective external data integration.
Solutions
There is no definitive answer to this problem as the set of facilities required depends on the context in which the tool will be utilised. Suitable options for accessing external data may include the ability to access data files (in text or binary format) in the operating environment or the ability to utilize an external API (e.g. an XML, DDE or ODBC interface) through which data requests can be dynamically framed.
Evaluation Criteria
An offering achieves full support if it satisfies the description for the pattern. It achieves a partial support rating if external data elements can only be accessed via programmatic extensions to the PAIS or if there are limitations on the type of data elements that can be accessed.
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 | + | Supported through script functions and Automatic Steps |
Websphere MQ Workflow | 3.4 | +/- | Indirectly accessible via program implementations |
FLOWer | 3.0 | + | Supported via mappings, document types and actions |
COSA | 4.2 | + | External data elements can be accessed via DDE, ODBC, XML, OS tool agents |
XPDL | 1.0 | - | No explicit support |
BPEL4WS | 1.1 | + | Accessing to environment data via web service calls |
BPMN | 1.0 | - | Not supported |
UML | 2.0 | - | Not supported |
Oracle BPEL | 10.1.2 | + | Synchronous message interaction <invoke>, <receive> |
jBPM | 3.1.4 | +/- | jBPM does not directly support environment data. Access to environment data is achieved through programming in Java, via Actions or Nodes. |
OpenWFE | 1.7.3 | + | OpenWFE supports environment data by defining separate participants for every external application (e.g. a web-service) from which such data is accessed. These participants can, just like any other participant, be invoked (i.e. have work distributed to them) from anywhere in a process. |
Enhydra Shark | 2 | +/- | Enhydra Shark supports environment data through the use of Tool Agents. A Tool Agent provides an interface to a data source or an application in the operational environment. One tool agent, e.g. JavaScriptToolAgent (providing connectivity to the local Java script interpreter), is available with the default installation; hence this pattern is considered to be supported. |
Summary of Evaluation
+ Rating |
+/- Rating |
---|---|
|
|