Pattern 33 (Data Transformation - Output)

FLASH animation of Data Transformation - Input and Output patterns

Description

The ability to apply a transformation function to a data element immediately prior to it being passed out of a process component. The transformation function has access to the same data elements as the process component that initiates it.

Example

Summarise the spatial telemetry data returned by the Satellite Download task before passing to subsequent activities.

Motivation

As for the Data Transformation - Input pattern (WDP32).

Overview

This pattern operates in a similar manner to the Data Transformation - Input pattern (WDP-32) however in this case the transformation occurs at the conclusion of the task, e.g. in Figure 20, the transform() function is executed at the conclusion of task A immediately before the output data element is passed to data element G.

Context

There are no specific context conditions associated with this pattern.

Implementation

As described for Data Transformation - Input pattern (WDP32) except that the facilities identified are used for transforming the data elements passed from a task instance rather than for those passed to it.

Issues

None observed.

Solutions

N/A.

Evaluation Criteria

An offering achieves full support if it has a construct that satisfies the description of the pattern. It rates as partial support if there are any limitations on the type of data elements that can be passed to transformation functions or the range of process components that can receive values from output transformation functions.

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 via form release function for tasks that have forms
Websphere MQ Workflow 3.4 - Not supported
FLOWer 3.0 +/- Indirectly supported via mappings and derived elements
COSA 4.2 - Not supported
XPDL 1.0 - Not mentioned
BPEL4WS 1.1 - Not supported
BPMN 1.0 +/- Partially supported. It occurs when decomposition is realised through Independent Sub-Process. As the Input- and OutputPropertyMaps are in form of Expressions, we assume that transformation function can be specified through them
UML 2.0 + Supported by the ObjectFlow transformation behaviour which allows transformation functions to be applied to data tokens as they are passed along connecting edges between activities.
Oracle BPEL 10.1.2 - Directly supported by the attributes of <assign> wizard
jBPM 3.1.4 + jBPM supports data transformation on output data by allowing for the specification of scripts that can transform data elements at the completion of a task node (which is specified by the event type "node-leave"). When a task-node contains a single task, the node-leave scripts provide support for the data transformation on output data pattern.
OpenWFE 1.7.3 + OpenWFE supports data transformation on outup data, as data transformations can be performed at any time between two tasks in a process.
Enhydra Shark 2 + Enhydra Shark supports this pattern. Transformation are written in JavaScript. A JavaScriptToolAgent which is mapped to the local JavaScript interpreter is then used.

Summary of Evaluation

+ Rating

+/- Rating

  1. Direct workflow support
  2. Transformations can be specified on all data elements
  1. Only achievable via programmatic extensions
  2. Limited transformation capability or range