Pattern 32 (Suspension/Resumption)
The ability for a resource to suspend and resume execution of a work item.
The Secretary has suspended all Board Meeting work items whilst the Board is being reconstituted.
In some situations, during the course of executing a work item, a resource reaches a point where it is not possible to progress it any further. Suspension provides the ability for the resource to signal a temporary halt to the system of any work on the particular work item and switch its attention to another.
Suspension and Resumption actions are generally initiated by a resource from their work list handler. A suspended work item remains in the resource's work list but its state is generally notated as suspended. It is able to be restarted at some future time. This pattern is illustrated by the R:suspend and R:resume arcs in Figure 6.
There are no specific context conditions associated with this pattern.
This pattern is implemented in a variety of different ways. Staffware allows work items that utilise a form to be suspended at any stage via the Keep option. Kept work items stay on the resource's work list and can be re-started later. WebSphere MQ doesn't allow individual work items to be suspended but does support the suspension of an entire workflow case. COSA directly supports the notion of suspension and where a work item is suspended, it is removed from the resource's work list and placed in a resubmission queue. At the point of suspension, a timeframe is nominated and after this has expired, the work item is again placed on the resources work list. Oracle BPEL provides suspend and resume functions within the worklist handler.
One issue that can arise for suspended items that remain in a shared queue is whether they can be executed by other resources that may have access to the same queue.
This situation arises in Staffware and is actually used as a means of sharing a work item to which several resources may wish to contribute. When an item is suspended, all data that is associated with the work item (e.g. form data elements) are saved and become available to any other resource that may wish to resume the task. Any resource that can access a work item can signal its completion via the Release function.
An offering achieves full support if it satisfies the description for the pattern. It achieves a partial support rating if there are any limitations on the work items that can be suspended or if the entire case must be suspended to achieve the same effect.
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||+/-||Supported for activites that have forms associated with them|
|Websphere MQ Workflow||3.4||+/-||Indirectly supported via case suspension|
|COSA||4||+||Resources can suspend work items currently being executed|
|Oracle BPEL||10.1.2||+||Oracle BPEL PM supports this pattern directly. "suspend" and "resume" are available actions in the worklist application|
|jBPM||3.1.4||+||In jBPM a work item can be suspended by selecting one of "Save" and "Cancel" menus for stateful or stateless suspension.|
|OpenWFE||1.7.3||-||OpenWFE does not support this pattern. Selecting "save" or "cancel" during the execution of a work item sends the work item back to the group work list from where everyone belonging to the group can select and continue it (which is the semantics for the Deallocation pattern).|
|Enhydra Shark||2||-||Enhydra Shark does not support Suspension/Resumption of a work item. In the evaluated version of the tool a "Suspension" and a "Resumption" button for a work item are displayed but not enabled for use. In Enhydra Shark a whole case can be suspended and resumed. In such a situation all work items available for the case are suspended (and resumed). They still appear in the work list(s), but they are not possible to allocate/start (when trying to do that a wrong error message is displayed, i.e. "the work item is allocated to another resource").|
Summary of Evaluation