Commercial Product Evaluation

For each product-pattern combination, we checked whether it is possible to realize the workflow pattern with the tool. If a product directly supports the pattern through one of its constructs, it is rated +. If the pattern is not directly supported, it is rated +/-. Any solution which results in spaghetti diagrams or coding, is considered as giving no direct support and is rated -. Note that a pattern is only supported directly if there is a feature provided by the graphical interface of the tool (i.e., not in some scripting language) which supports the construct without resorting to any of solutions mentioned in the implementation part of the pattern.

Control-Flow Patterns

Pattern

Product

 

Staffware

WebSphere MQ Workflow

FLOWer

COSA

iPlanet

SAP Workflow

FileNet

Sequence + + + + + + +
Parallel Split + + + + + + +
Synchronization + + + + + + +
Exclusive Choice + + + + + + +

Simple Merge

+ + + + + + +
Multi-Choice - + + + + - +
Structured Synchronizing Merge - + + - - - +
Multi-Merge - - +/- - + - +
Structured Discriminator - - - - + +/- -
Arbitrary Cycles + - - + + - +
Implicit Termination + + + - - - +
Multiple Instances without Synchronization + - + + + +/- +
Multiple Instances with a Priori Design-Time Knowledge + - + - - + -
Multiple Instances with a Priori Run-Time Knowledge + - + - - + -
Multiple Instances without a Priori Run-Time Knowledge - - + - - - -
Deferred Choice - - + + - - +/-
Interleaved Parallel Routing - - +/- + - - -
Milestone - - +/- + - - -
Cancel Activity + - +/- + + + +
Cancel Case - - +/- - - + +
Structured Loop - + + - + + +
Recursion + + - + + + -
Transient Trigger + - - + - + -

Persistent Trigger

- - + + - + +
Cancel Region - - - +/- - - -
Cancel Multiple Instance Activity + - - - - + -
Complete Multiple Instance Activity - - +/- - - - -
Blocking Discriminator - - - - - - -
Cancelling Discriminator - - - - - + -
Structured Partial Join - - - - + +/- -
Blocking Partial Join - - - - - - -
Cancelling Partial Join - - - - - + -
Generalised AND-Join - - - - - - +
Static Partial Join for Multiple Instances - - - - - - -
Cancelling Partial Join for Multiple Instances - - - - - - -
Dynamic Partial Join for Multiple Instances - - - - - - -
Local Synchronizing Merge - + + + - - -
General Synchronizing Merge - - - - - - +
Critical Section - - +/- + - - -
Interleaved Routing - - +/- + - - -
Thread Merge - - - - - - -
Thread Split - - - - - - -
Explicit Termination - - - + + + -

Resource Patterns

Pattern

Product

 

Staffware

Websphere MQ Workflow

FLOWer

COSA

iPlanet

Direct Allocation + + + + +
Role-Based Allocation + + + + +
Deferred Allocation + + - - -
Authorisation - - + + -

Seperation of Duties

- + + +/- +
Case Handling - - + - -
Retain Familiar - + + + +
Capability Based Allocation - - + + +
History Based Allocation - - - +/- +
Organisational Allocation +/- + +/- + -
Automatic Execution + - + + +
Distribution by Offer - Single Resource - - - +/- +
Distribution by Offer - Multiple Resources + + + + +
Distribution by Allocation - Single Resource + + + + +
Random Allocation - - - + +/-
Round Robin Allocation - - - +/- +/-
Shortest Queue - - - + +/-
Early Distribution - - + - -
Distribution on Enablement + + + + +
Late Distribution - - - - -
Resource-Initiated Allocation - - + +/- -
Resource-Initated Execution - Allocated Work Item + + + + -
Resource-Initiated Execution - Offered Work Item + + - + +

System Determined Work Queue Content

+ - + - +
Resource-Determined Work Queue Content + + + + -
Selection Autonomy + + + + +
Delegation + + - + -
Escalation + + - + +/-
Deallocation - - - + +
Stateful Reallocation +/- + - + -
Stateless Reallocation - - - - -
Suspension/Resumption +/- +/- - + -
Skip - + + + -
Redo - - + - -
Pre-Do - - + - -
Commencement on Creation - - - + -
Commencement on Allocation - + - - -
Piled Execution - - - - -
Chained Execution - - + - -
Configurable Unallocated Work Item Visibility - - - - -
Configurable Allocated Work Item Visibility - - + - -
Simultaneous Execution + + +/- + +
Additional Resources - - - +/- -

Data Patterns

Pattern

Product

 

Staffware

Websphere MQ Workflow

FLOWer

COSA

Task Data + +/- +/- +
Block Data + + + +
Scope Data - - +/- -
Multiple Instance Data +/- + + +
Case Data +/- + + +
Folder Data - - - +
Workflow Data + + - +/-
Environment Data + +/- + +
Task to Task + + + +
Block Task to SubWorkflow Decomposition + + +/- +/-
SubWorkflow Decomposition to Block Task + + +/- +/-
To Multiple Instance Task - - + -
From Multiple Instance Task - - + -
Case to Case +/- +/- +/- +
Task to Environment - Push-Oriented + +/- + +
Environment to Task - Pull-Oriented + +/- + +
Environment to Task - Push-Oriented +/- +/- +/- +
Task to Environment - Pull-Oriented +/- +/- +/- +
Case to Environment - Push-Oriented - - + -
Environment to Case - Pull-Oriented - - + -
Environment to Case - Push-Oriented +/- +/- + +
Case to Environment - Pull-Oriented - - + +

Workflow to Environment - Push-Oriented

- +/- - -
Environment to Workflow - Pull-Oriented +/- - - -
Environment to Workflow - Push-Oriented - +/- - -
Workflow to Environment - Pull-Oriented + + - +
Data Transfer by Value - Incoming - + - +/-
Data Transfer by Value - Outgoing - + - +/-
Data Transfer - Copy In/Copy Out - - +/- -
Data Transfer by Reference - Unlocked + - + +
Data Transfer by Reference - With Lock - - +/- -
Data Transformation - Input +/- - +/- -
Data Transformation - Output +/- - +/- -
Task Precondition - Data Existence + - + +
Task Precondition - Data Value + - + +
Task Postcondition - Data Existence +/- + + -
Task Postconditon - Data Value +/- + + -
Event-Based Task Trigger + +/- + +
Data-Based Task Trigger - - + +
Data-Based Routing +/- + +/- +

Exception Handling Patterns

Product

Exceptions

 

Work Item Failure

Work Item Deadline

External Trigger

Constraint Violation

Staffware

 

OCO-CWC-COM
ACA-CWC-COM
OFF-CWC-COM
AFF-CWC-COM
SCE-CWC-COM

OCO-CWC-NIL
ACA-CWC-NIL
SCE-CWC-NIL
SCE-CWC-COM
 

Websphere MQ

 

OCO-CWC-NIL
ACA-CWC-NIL
SCE-CWC-NIL

   

FLOWer

  AFC-CWC-NIL
SFC-CWC-NIL
 

AFC-CWC-NIL
SFC-CWC-NIL
AFC-CWC-COM
SFC-CWC-COM

Cosa

SFF-CWC-RBK OCO-CWC-COM
ACA-CWC-COM
SCE-CWC-COM
OCO-CWC-COM
ACA-CWC-COM
SCE-CWC-COM
 

iPlanet

(OFF|OFC|AFF|AFC|SRS|SFC|SFF)-(CWC|RCC)-(NIL|COM)