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 |
---|---|
|
|