Pattern 1 (Direct Distribution)

FLASH animation of Direct Distribution pattern


The ability to specify at design time the identity of the resource(s) to which instances of this task will be distributed at runtime.


The Fix Bentley task must only be undertaken by Fred


Direct Distribution offers the ability for a process designer to precisely specify the identity of the resource to which instances of a task will be distributed at runtime. This is particularly useful where it is known that a task can only be effectively undertaken by a specific resource as it prevents the problem of unexpected or non-suitable resource distributions arising at runtime by ensuring work items are routed to specific resources, a feature that is particularly desirable for critical tasks.


The Direct Distribution pattern is specified as a relationship between a task and a (non-empty) group of resources. At runtime, work items associated with the task are distributed to one or more of these resources.


There is no specific context conditions associated with this pattern.


Most PAIS offer some form of support for Direct Distribution of tasks to specific resources. In most cases, the distribution is to a single resource, however Staffware allows a work item to be allocated to a series of specific resources (achieved by specifying the names of multiple resources for potential allocation) and at runtime, the work item is routed to all of these resources and each of them is required to release it before the work item can be deemed to have finished and the case can progress.


One of the main drawbacks of this approach to work distribution is that it effectively defines a static binding of all work items associated with a task to a single resource. This removes much of the advantage associated with the use of process technology for managing work distribution as the PAIS is offered little latitude for optimising the distribution of work items in this situation.


There is no real solution to this problem although the use of deadline and escalation mechanisms offer ways of ensuring that situations are detected where a specific resource becomes overloaded and cannot deal with its assigned workload in a reasonable timeframe.

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.





Staffware 9 + Directly supported
Websphere MQ Workflow 3.4 + Directly supported
FLOWer 3.0 + Where there is a 1-1 correspondence between a specific role and an actual resource
COSA 4 + Directly supported
iPlanet 3.1 + Directly supported
BPMN 1.0 + Through the notion of Pool, as it can be used to denote a specific business entity, e.g. a specific actor. The notion of Lane could be used for this purpose as well
UML 2.0 + Directly supported by basing a partition on a single object (resource) instance
Oracle BPEL 10.1.2 + Oracle BPEL PM supports this pattern directly. The resources can be specified statically or dynamically. The organization structure, together with resources, their identities, and other characteristics can be specified via JAZN admintool. When adding a task to the process model, the workflow wizard allows specifying a single user, a set of the users, or a group. Each of the task parameters specified by means of the wizard can be modified later in the designer view or in the corresponding BPEL code.
jBPM 3.1.4 + jBPM supports this pattern and allows a task to be assigned to a user (through <assignment expression="user(username)"> for a task).
OpenWFE 1.7.3 - OpenWFE does not support this direct allocation as work is distributed to roles but not to individual resources.
Enhydra Shark 2 + Enhydra Shark supports direct allocation. A Participant in the workflow model can be mapped directly to a specific User defined in the process manager.

Summary of Evaluation

+ Rating

+/- Rating

  1. Workflow has an integrated organisational model
  2. Work items can be allocated to a specific resource identified in the organisational model
  1. Work items can be routed ot a specific resource by some means (e.g. queue, work list etc.)