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

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

  1. Workflow tool provides direct support for accessing external data elements both from files and via external applications or APIs
  2. No limitations on source or format of data elements that can be accessed
  1. Access to external data elements can be achieved through programmatic extensions