Websphere Evaluation Results

Evaluation results for Websphere MQ Workflow version 3.4 against the workflow control-flow patterns

Pattern

Rating

Motivation

Sequence + Directly supported by arcs connecting process, program and block activities.
Parallel Split + Supported through multiple outgoing arcs from an activity.
Synchronization + Supported by specifying start conditions on an activity.
Exclusive Choice + Supported through the use of exclusive conditions on transitions.

Simple Merge

+ Supported by specifying start conditions on an activity.
Multi-Choice + Supported through the use of (non-exclusive) conditions on transitions.
Structured Synchronizing Merge + Supported by specifying start conditions on an activity.
Multi-Merge - Not supported. An activity can only be triggered once, either when one or all of the incoming connectors evaluate to true.
Structured Discriminator - Not supported. The evaluation of start conditions for an activity only occurs when all preceding activities have completed.
Arbitrary Cycles - Not supported. Process models are block-structured.
Implicit Termination + Directly supported.
Multiple Instances without Synchronization - Although it is possible to to replicate an activity by including it in a block activity with an exit condition that is satisfied when all instances have completed, it is not possible for these instances to run concurrently.
Multiple Instances with a Priori Design-Time Knowledge - Not supported. No construct for of designating multiple instances of an activity in the design-time model.
Multiple Instances with a Priori Run-Time Knowledge - Not supported. No means of facilitating multiple instances of an activity at runtime.
Multiple Instances without a Priori Run-Time Knowledge - Not supported. No means of facilitating multiple instances of an activity at runtime.
Deferred Choice - Not supported. There is no means of selecting that one out of a set of possible activities by executed (and the other activities be withdrawn).
Interleaved Parallel Routing - Not supported. There is no way to interleave activities without specifying an order.
Milestone - Not supported. There is no inherent notion of state.
Cancel Activity - Not supported. There is no means of denoting activity cancellation with a process model.
Cancel Case - Not supported. There is no means of cancelling an entire process instance.
Structured Loop + Post-tested loops are supported by the block construct.
Recursion + Directly supported. Recursive definition of process and block activities is possible.
Transient Trigger - Not supported. There is no means of triggering an activity from outside the process instance.

Persistent Trigger

- Not supported. There is no means of triggering an activity from outside the process instance.
Cancel Region - Not supported. A set of activities cannot be cancelled.
Cancel Multiple Instance Activity - Not supported. There is no direct support for multiple instance activities.
Complete Multiple Instance Activity - Not supported. There is no direct support for multiple instance activities.
Blocking Discriminator - Not supported. The evaluation of start conditions for an activity only occurs when all preceding activities have completed.
Cancelling Discriminator - Not supported. There is no support for the discriminator pattern or any ability to cancel a set of (preceding) activities.
Structured N-out-of-M Join - Not supported. There is no direct support for multiple instance activities.
Blocking N-out-of-M Join - Not supported. There is no direct support for multiple instance activities.
Cancelling N-out-of-M Join - Not supported. There is no direct support for multiple instance activities.
Generalised AND-Join - Not supported. Process models are inherently block structured and an activity cannot receive multiple threads of control from the same incoming branch.
Static Partial Join for Multiple Instances - Not supported. There is no direct support for multiple instance activities.
Cancelling Partial Join for Multiple Instances - Not supported. There is no direct support for multiple instance activities.
Dynamic Partial Join for Multiple Instances - Not supported. There is no direct support for multiple instance activities.
Acyclic Synchronizing Merge + Supported through the use of dead path elimination where "true" and "false" tokens are passed down branches that are and are not enabled respectively. This allow the OR-join to determine when it should fire.
General Synchronizing Merge - Not supported. No ability to determine when an OR-join should fire based on an overall assessment of the state of a process instance.
Critical Section - Not supported. Subsequent activities are scheduled immediately thus removing any potential for restricting concurrent execution of activities.
Interleaved Routing - Not supported. There is no way to interleave activities without actually enumerating all possible execution sequences within the process model and selecting one of them at runtime.
Thread Merge - No support. Process models are block structured and safe.
Thread Split - No support. Process models are block structured and safe.
Explicit Termination - Not supported. Process instances terminate when there is no remaining work.

Evaluation results for Websphere MQ Workflow version 3.4 against the workflow data patterns

Pattern

Rating

Motivation

Task Data +/- Indirectly supported by 3GL program implementations
Block Data + Supported via global data containers for a process
Scope Data - Not supported
Multiple Instance Data + Support for distinct data elements in multiply triggered tasks and tasks with shared sub-workflow decompositions
Case Data + Supported through the default data structure
Folder Data - Not supported
Workflow Data + Supported through persistent lists
Environment Data +/- Indirectly accessible via program implementations
Task to Task + Facilitated via data containers passed between tasks on data channels
Block Task to SubWorkflow Decomposition + Facilitated via data containers and source/sink nodes
SubWorkflow Decomposition to Block Task + Facilitated via data containers and source/sink nodes
To Multiple Instance Task - No support for multiple instances.
From Multiple Instance Task - No support for multiple instances.
Case to Case +/- Indirectly achievable by including case communication facilities in program implementations
Task to Environment - Push-Oriented +/- Indirectly achievable by including case communication facilities in program implementations
Environment to Task - Pull-Oriented +/- Indirectly achievable by including case communication facilities in program implementations
Environment to Task - Push-Oriented +/- Indirectly achievable by including case communication facilities in program implementations
Task to Environment - Pull-Oriented +/- Indirectly achievable by including case communication facilities in program implementations
Case to Environment - Push-Oriented - Not supported
Environment to Case - Pull-Oriented - Not supported
Environment to Case - Push-Oriented +/- Parameter values can be specified at the initiation of each case
Case to Environment - Pull-Oriented - Not supported

Workflow to Environment - Push-Oriented

+/- Push data access model provides limited facilities for communicating runtime workflow data to external applications
Environment to Workflow - Pull-Oriented - Not supported
Environment to Workflow - Push-Oriented +/- Indirect support for manipulation persistent lists via API calls
Workflow to Environment - Pull-Oriented + Directly supported via the Runtime API
Data Transfer by Value - Incoming + All data passing via containers is by value
Data Transfer by Value - Outgoing + All data passing via containers is by value
Data Transfer - Copy In/Copy Out - Not supported
Data Transfer by Reference - Unlocked - Not supported
Data Transfer by Reference - With Lock - Not supported
Data Transformation - Input - Not supported
Data Transformation - Output - Not supported
Task Precondition - Data Existence - Not supported
Task Precondition - Data Value - Not supported
Task Postcondition - Data Existence + Directly supported via exit conditions and the IS NULL function which allow parameter value assignment to be tested. Where exit condition is not met, task automatically repeats
Task Postconditon - Data Value + Directly supported by specifying exit condition based on the required parameter value. Where exit condition is not met, task automatically repeats
Event-Based Task Trigger +/- Activity triggering is supported through various interfaces. Denotation of events needs to be explicitly included in activity implementations using facilities such as the suspend() function
Data-Based Task Trigger - Not supported
Data-Based Routing + Directly supported via transition conditions and start conditions

Evaluation results for Websphere MQ Workflow version 3.4 against the workflow resource patterns

Pattern

Rating

Motivation

Direct Allocation + Directly supported
Role-Based Allocation + Directly supported
Deferred Allocation + Directly supported
Authorisation - Not supported

Seperation of Duties

+ Directly supported via task linking between activities in the process model that cannot have the same resource allocation at runtime within a case
Case Handling - Not supported
Retain Familiar + Common resource allocation can be specified for specific tasks in the process model requiring the same resource allocation at runtime within a case
Capability Based Allocation - Not supported
History Based Allocation - Not supported
Organisational Allocation + Directly supported
Automatic Execution - Not supported
Distribution by Offer - Single Resource - Not supported
Distribution by Offer - Multiple Resources + Work queues combine work item items specifically offered to this resource and those offered to multiple resources
Distribution by Allocation - Single Resource + Directly supported for work items allocated to a single resource
Random Allocation - Not supported
Round Robin Allocation - Not supported
Shortest Queue - Not supported
Early Distribution - Not supported
Distribution on Enablement + Standard mechanism for work item distribution
Late Distribution - Not supported
Resource-Initiated Allocation - Not supported
Resource-Initated Execution - Allocated Work Item + Standard means for a resource to initiate a work item is to select one from those allocated to it
Resource-Initiated Execution - Offered Work Item + Supported for work items distributed via shared work queues

System Determined Work Queue Content

- Not supported
Resource-Determined Work Queue Content + Work queues can be sorted or filtered on any work item attribute at the discretion of individual resources
Selection Autonomy + Resources can select the next item for execution from those on their work queue
Delegation + Work items can be manually redirected by resources
Escalation + Directly supported via reminders
Deallocation - Not supported
Stateful Reallocation + Supported for pending and suspended items
Stateless Reallocation - Not supported
Suspension/Resumption +/- Indirectly supported via case suspension
Skip + Directly supported in the worklist handler
Redo - Not supported
Pre-Do - Not supported
Commencement on Creation - Not supported
Commencement on Allocation + Resources can configure work queues to initiate work items on arrival
Piled Execution - Not supported
Chained Execution - Not supported
Configurable Unallocated Work Item Visibility - Not supported
Configurable Allocated Work Item Visibility - Not supported
Simultaneous Execution + Resources can execute multiple work items simultaneously
Additional Resources - Not supported

Evaluation results for Websphere MQ Workflow version 3.4 against the workflow exception handling patterns

Pattern

Explanation

Work Item Deadline

OCO-CWC-NIL Notification mechanisms are provided for overdue work items but the default action is only to advise nominated resources of deadline expires. No intervention occurs.
ACA-CWC-NIL Notification mechanisms are provided for overdue work items but the default action is only to advise nominated resources of deadline expires. No intervention occurs.
SCE-CWC-NIL Notification mechanisms are provided for overdue work items but the default action is only to advise nominated resources of deadline expires. No intervention occurs.