Pattern 15 (Random Allocation)
The ability to allocate work items to a selected resource chosen from a group of eligible resources on a random basis.
The Judge case work item is allocated to a Magistrate on a random basis.
Random Allocation provides a non-deterministic mechanism for allocating work items to resources.
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.
There are no specific context conditions associated with this pattern.
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.
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.
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.
|Websphere MQ Workflow||3.4||-||Not supported|
|COSA||4||+||Directly supported via random function in user/group language|
|iPlanet||3.1||+/-||Indirectly achievable via customised (external) distribution algorithm|
|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