Pattern 15 (Random Allocation)

FLASH animation of Random Allocation pattern

Description

The ability to allocate work items to a selected resource chosen from a group of eligible resources on a random basis.

Example

The Judge case work item is allocated to a Magistrate on a random basis.

Motivation

Random Allocation provides a non-deterministic mechanism for allocating work items to resources.

Overview

This pattern provides a means of restricting the distribution of a work item to a single resource. Once the possible range of resources that a work item can be distributed to have been identified at runtime, one of these is selected at random to execute the work item.

Context

There are no specific context conditions associated with this pattern.

Implementation

Of the offerings examined, only COSA provides direct support for work allocation on a random basis using the random operator which forms part of the user/group language. This is a scripting language which allows relatively complex work allocation rules to be specified. Similarly, iPlanet and Oracle BPEL allows the work distribution algorithm to be extended programmatically although there is no direct support for random allocation within the individual offerings.

Issues

None identified.

Solutions

N/A.

Evaluation Criteria

An offering achieves full support if it satisfies the description for the pattern. It achieves a partial support rating if the same effect can be achieved through programmatic extensions.

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 - Not supported
Websphere MQ Workflow 3.4 - Not supported
FLOWer 3.0 - Not supported
COSA 4 + Directly supported via random function in user/group language
iPlanet 3.1 +/- Indirectly achievable via customised (external) distribution algorithm
BPMN 1.0 - Not supported
UML 2.0 - Not supported
Oracle BPEL 10.1.2 +/- Oracle BPEL PM offers no direct support for this pattern. However, the feature of assigning a work item dynamically can be used to support this pattern. For example, a service can be implemented to retrieve resource on the random basis
jBPM 3.1.4 - jBPM does not support this pattern. The pattern is only relevant when a system selects a resource from a number of possible candidates which does not occur in jBPM.
OpenWFE 1.7.3 - OpenWFE does not support this pattern. The pattern is only relevant when a system selects a resource from a number of possible candidates which does not occur in OpenWFE.
Enhydra Shark 2 - Enhydra Shark does not support this pattern. It only supports offerings and not allocation of work items.

Summary of Evaluation

+ Rating

+/- Rating

  1. Facilities exist (either in the process model or at run-time) to nominate that the resource to which a work item is allocated is picked at random from those that satisfy the selection criteria for potential assignment.
  1. N/A