Workflow Data Patterns Support

Data patterns capture the various ways in which data is represented and utilized in workflows. Implementing these patterns gives TIBCO BPM Enterprise the capability to handle the widest range of possible scenarios for modeling and executing data.

The table below lists the data patterns that are supported in this release of TIBCO BPM Enterprise. The pattern numbers, names and descriptions are those defined by the Workflow Patterns initiative. See:

  • http://www.workflowpatterns.com/patterns/data/index.php
  • N. Russell, A.H.M. ter Hofstede, D. Edmond, and W.M.P. van der Aalst. Workflow Data Patterns: Identification, Representation and Tool Support. (PDF, 281Kb) In Proceedings of the 24th International Conference on Conceptual Modeling (ER 2005), volume 3716 of Lecture Notes in Computer Science, pages 353-368. Springer-Verlag, Berlin, 2005.
    Supported Data Patterns
    Pattern Number Pattern Name Pattern Description
    Data Visibility
    1 Task Data Data elements can be defined by tasks which are accessible only within the context of individual execution instances of that task.
    2 Block Data Block tasks (i.e. tasks which can be described in terms of a corresponding subprocess) are able to define data elements which are accessible by each of the components of the corresponding subprocess.
    5 Case Data Data elements are supported which are specific to a process instance or case. They can be accessed by all components of the process during the execution of the case.
    7 Workflow Data Data elements are supported which are accessible to all components in each and every case of the process and are within the context of the process itself.
    8 Environment Data Data elements which exist in the external operating environment are able to be accessed by components of processes during execution.
    Internal Data Interaction
    9 Task to Task The ability to communicate data elements between one task instance and another within the same case. The communication of data elements between two tasks is specified in a form that is independent of the task definitions themselves.
    10 Block Task to Sub-Workflow Decomposition The ability to pass data elements from a block task instance to the corresponding subprocess that defines its implementation. Any data elements that are available to a block task are able to be passed to (or be accessed) in the associated subprocess although only a specifically nominated subset of those data elements are actually passed to the subprocess.
    11 Sub-Workflow Decomposition to Block Task The ability to pass data elements from the underlying subprocess back to the corresponding block task. Only nominated data elements defined as part of the subprocess are made available to the (parent) block task.
    12 Data Interaction - to Multiple Instance Task The ability to pass data elements from a preceding task instance to a subsequent task which is able to support multiple execution instances. This may involve passing the data elements to all instances of the multiple instance task or distributing them on a selective basis. The data passing occurs when the multiple instance task is enabled.
    13 Data Interaction - from Multiple Instance Task The ability to pass data elements from a task which supports multiple execution instances to a subsequent task. The data passing occurs at the conclusion of the multiple instance task. It involves aggregating data elements from all instances of the task and passing them to a subsequent task.
    14 Data Interaction - Case to Case The passing of data elements from one case of a process during its execution to another case that is executing concurrently.
    External Data Interaction
    15 Task to Environment - Push Oriented The ability of a task to initiate the passing of data elements to a resource or service in the operating environment.
    16 Environment to Task - Pull Oriented The ability of a task to request data elements from resources or services in the operational environment.
    19 Data Interaction - Case to Environment - Push-Oriented The ability of a case to initiate the passing of data elements to a resource or service in the operational environment.

    Note: Case in this situation means an TIBCO BPM Enterprise process instance.

    20 Data Interaction - Environment to Case - Pull-Oriented The ability of a case to request data from services or resources in the operational environment.

    Note: Case in this situation means an TIBCO BPM Enterprise process instance.

    21 Data Interaction - Environment to Case - Push-Oriented The ability of a case to accept data elements passed to it from services or resources in the operating environment.

    Note: Case in this situation means an TIBCO BPM Enterprise process instance.

    22 Data Interaction - Case to Environment - Pull-Oriented The ability of a case to respond to requests for data elements from a service or resource in the operating environment.

    Note: Case in this situation means an TIBCO BPM Enterprise process instance.

    23 Data Interaction - Workflow to Environment - Push-Oriented The ability of a process environment to pass data elements to resources or services in the operational environment.
    24 Data Interaction - Environment to Workflow - Pull-Oriented The ability of a process environment to request case data elements from external applications.
    25 Data Interaction - Environment to Workflow - Push-Oriented The ability of services or resources in the operating environment to pass case data to a process.
    26 Data Interaction - Workflow to Environment - Pull-Oriented The ability of the process environment to handle requests for case data from external applications.
    Data Transfer
    29 Data Transfer - Copy In/Copy Out The ability of a process component to copy the values of a set of data elements from an external source (either within or outside the process environment) into its address space at the commencement of execution and to copy their final values back at completion.
    30 Data Transfer by Reference - Unlocked The ability to communicate data elements between process components by utilizing a reference to the location of the data element in some mutually accessible location. No concurrency restrictions apply to the shared data element.
    32 Data Transformation - Input The ability to apply a transformation function to a data element prior to it being passed to a process component. The transformation function has access to the same data elements as the receiving process component.
    33 Data Transformation - Output 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.
    Data-based Routing
    38 Event-based Task Trigger The ability for an external event to initiate a task and to pass data elements to it.
    40 Data-Based Routing Data-based routing provides the ability to alter the control-flow within a case based on the evaluation of data-based expressions. A data-based routing expression is associated with each outgoing arc of an OR-split or XOR-split. It can be composed of any data-values, expressions and functions available in the process environment providing it can be evaluated at the time the split construct with which it is associated completes. Depending on whether the construct is an XOR-split or OR-split, a mechanism is available to select one or several outgoing arcs to which the thread of control should be passed based on the evaluation of the expressions associated with the arcs.