iPlanet Evaluation Results

Evaluation results for Sun One iPlanet Integration Server version 3.0 against the workflow control-flow patterns

Pattern

Rating

Motivation

Sequence + Directly supported by the use of activity routers.
Parallel Split + Supported by multiple outgoing routers from an activity
Synchronization + Supported by specifying a trigger condition for an activity with multiple incoming routers that only fires when all routers are activated.
Exclusive Choice + Supported by using multiple outgoing routers from an activity with disjoint router enabling conditions.

Simple Merge

+ Supported by specifying a trigger condition for an activity with multiple incoming routers that fires when any incoming router is activated.
Multi-Choice + Supported by multiple outgoing routers from an activity, each with specific (and possibly overlapping) enabling conditions.
Structured Synchronizing Merge - Not supported. Process models are not necessarily structured.
Multi-Merge + Supported by specifying a trigger condition for an activity with multiple incoming routers that fires when any incoming routers is activated.
Structured Discriminator + Supported through the use of a customised trigger condition for an activity that only fires when the first incoming router is activated.
Arbitrary Cycles + Arbitrary loop structures are able to be represented.
Implicit Termination - There is a designated last activity which causes process termination.
Multiple Instances without Synchronization + Supported via asynchronous subprocess activities.
Multiple Instances with a Priori Design-Time Knowledge - Not supported. No means of designating that multiple instances of an activity are required.
Multiple Instances with a Priori Run-Time Knowledge - Not supported. No means of designating that multiple instances of an activity are required.
Multiple Instances without a Priori Run-Time Knowledge - Not supported. No means of designating that multiple instances of an activity are required.
Deferred Choice - Not supported. No concept of state.
Interleaved Parallel Routing - 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.
Milestone - Not supported. No concept of state.
Cancel Activity + Supported via the AbortActivity method
Cancel Case - Not supported. There is no means of terminating a process instance.
Structured Loop + Supported thorugh the use of process variables in conjunction with routers.
Recursion + Supported via synchronous subprocess activities.
Transient Trigger - No trigger support.

Persistent Trigger

- No trigger support.
Cancel Region - No means of cancelling a region of a process model.
Cancel Multiple Instance Activity - No support for multiple instance activities.
Complete Multiple Instance Activity - No support for multiple instance activities.
Blocking Discriminator - Not supported. No ability to block activity triggerings.
Cancelling Discriminator - Not supported. No ability to cancel portions of a process model.
Structured N-out-of-M Join + Supported through the use of a customised trigger condition for an activity that only fires when the Nth incoming router is activated.
Blocking N-out-of-M Join - Not supported. No ability to block activity triggerings.
Cancelling N-out-of-M Join - Not supported. No ability to cancel portions of a process model.
Generalised AND-Join - Not supported. No ability to buffer activity triggers.
Static Partial Join for Multiple Instances - No support for multiple instance activities.
Cancelling Partial Join for Multiple Instances - No support for multiple instance activities.
Dynamic Partial Join for Multiple Instances - No support for multiple instance activities.
Acyclic Synchronizing Merge - No means of providing information to an OR-join to enable local determination of when it should fire.
General Synchronizing Merge - No ability to assess when an OR-join should fire through analysis of current/future state.
Critical Section - Not supported. Although custom router conditions could be specified that access a mutex variable to determine when an activity can proceed, there is no means of managing concurrent access to the variable.
Interleaved Routing - 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 ability to coalesce threads of control from independent sub-process activities.
Thread Split - No ability to coalesce threads of control from independent sub-process activities.
Explicit Termination + Directly supported. There is a designated last activity which causes process termination.

Evaluation results for Sun One iPlanet Integration Server version 3.1 against the workflow resource patterns

Pattern

Rating

Motivation

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

Seperation of Duties

+ Directly supported through linked activities
Case Handling - Not supported
Retain Familiar + Directly supported through linked tasks with common resources
Capability Based Allocation + Directly supported through customised distribution algorithms
History Based Allocation + Achievable through extended user profiles and customised distribution algorithms
Organisational Allocation - Not supported
Automatic Execution + Directly supported
Distribution by Offer - Single Resource + Directly supported for offered work items.
Distribution by Offer - Multiple Resources + Directly supported for offered and queued work items
Distribution by Allocation - Single Resource + Directly supported where a work item is allocated to a single resource in "heads down" mode
Random Allocation +/- Indirectly achievable via customised (external) distribution algorithm
Round Robin Allocation +/- Indirectly achievable via customised (external) distribution algorithm
Shortest Queue +/- Indirectly achievable via customised (external) distribution algorithm
Early Distribution - Not supported
Distribution on Enablement + Standard means of work item distribution
Late Distribution - Not supported
Resource-Initiated Allocation - Not supported
Resource-Initated Execution - Allocated Work Item - Not supported
Resource-Initiated Execution - Offered Work Item + Standard approach to initiating work items

System Determined Work Queue Content

+ Work items are ordered by priority by default
Resource-Determined Work Queue Content - Not supported
Selection Autonomy + Directly supported for offered work items
Delegation - Not supported
Escalation +/- Indirectly supported via timers but the cleanup action for the escalated work item must be specified programmatically
Deallocation + Achieved by changing the status of a work item to READY
Stateful Reallocation - Not supported
Stateless Reallocation - Not supported
Suspension/Resumption - Not supported
Skip - Achieved by changing the status of a work item to COMPLETED where it is in the PENDING state
Redo - Not supported
Pre-Do - Not supported
Commencement on Creation - Not supported
Commencement on Allocation - Not supported
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 Sun One iPlanet Integration Server version 3.1 against the workflow exception handling patterns

Pattern

Explanation

Work Item Failure & Work Item Deadline

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

Outgoing router constructs from an activity provide a range of options for dealing with failures and deadline expiration including signalling to subsequent activities that the preceding activity completed successfully or failed, initiating alternative compensation tasks and allowing other activities in the case to continue of forcing them to terminate.