Pattern 14 (Distribution by Allocation - Single Resource)

FLASH animation of Distribution by Allocation - Single Resource pattern

Description

The ability to distribute a work item to a specific resource for execution on a binding basis.

Example

The Cover Comalco AGM work item should be allocated to the Finance Sub-editor.

Motivation

This pattern provides a means of distributing a work item to a single resource on a binding basis. The resource is informed of the work item being distributed to them and is committed to executing it.

Overview

Allocating a work item to a single resource is the process analogy to the act of "appointing an owner" in real life. It involves the systm directly assigning a work item to a resource without first offering it to other resources or querying whether the resource will undertake it. In doing so, it passes the onus of ensuring the work item is completed to the selected resource.

This approach to work distribution is also known as "heads down" processing as it offers the resource little or no input in the work that they are allocated and the main focus is on maximizing work throughput by keeping the resource busy. In many implementations, resources are simply allocated a new work item once the previous one is completed and they are not offered any insight into what work items might lay ahead for them.

Once a task has been enabled that is distributed on this basis, a means of actually informing the selected resource of the pending work item is required. The mechanism chosen, should notify the resource that a work item exists that they must undertake. Typically this is achieved by adding the work item to the work list of the selected resource with an allocated status although other notification mechanism are possible. This pattern directly corresponds to the state transition denoted by arc S:offer_s in Figure 4.

Context

There are no specific context conditions associated with this pattern.

Implementation

Where a specific resource has been identified during the course of work item distribution, this is the standard means of allocating a work item to a resource. It is done pre-emptively by the system and necessitates that the resource actually execute the work item unless it has recourse to a means of rejecting it. All the offerings examined support direct allocation of work items to resources.

Issues

None observed.

Solutions

N/A.

Evaluation Criteria

An offering achieves full support if it satisfies the description for the pattern.

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 + Directly supported where a single resource is identified during resource selection for a work item
Websphere MQ Workflow 3.4 + Directly supported for work items allocated to a single resource
FLOWer 3.0 + Directly supported where a role corresponds to a specific resource
COSA 4 + Directly supported
iPlanet 3.1 + Directly supported where a work item is allocated to a single resource in "heads down" mode
BPMN 1.0 + We assume that the resource associated with a Swimlane is immediately allocated a Task/Sub-Processes once it is triggered
UML 2.0 + Resource allocation is immediate once an action is triggered.
Oracle BPEL 10.1.2 + Oracle BPEL PM supports this pattern directly. Assigning a user with a given identity statically or dynamically, automatically allocated the work item to this user. This differs from the pattern RP12 where the work item is offered to the user.
jBPM 3.1.4 + jBPM currently supports distribution by allocation to a single resource.
OpenWFE 1.7.3 - OpenWFE does not support this pattern.
Enhydra Shark 2 - Enhydra Shark does not support this pattern. It only supports offering and not allocation of work items.

Summary of Evaluation

+ Rating

+/- Rating

  1. The workflow engine provides a means of directly allocating a work item to a single resource.
  1. N/A