A human task is a component that involves a person interacting with a service or another person.
The interaction can be initiated either by a person or by an automated service. A service that is initiated by a person can be either an automated implementation or a service that is provided by another person. A human task that is invoked by an automated service can be replaced easily by an automated implementation, and vice versa.
Tasks can be used to implement staff activities in business processes that require human interactions, such as manual exception handling and approvals. All other exception handling is modeled natively in Web Services Business Process Execution Language (WS-BPEL, abbreviated to BPEL), by using faults and fault handlers, or compensation.
Who can interact with a task can be determined using one of the supported staff directories. Work items are created for users who have a reason to view or interact with the task.
Inline tasks | Stand-alone tasks |
---|---|
Part of the business process. | Independent of the business process. This implementation can also be used in scenarios that do not include business processes. |
The life cycle of the task is usually controlled by the process. | The life cycle is independent of the process. |
A participating task is a human task activity in a process. | A participating task is an invoke activity in the process. |
Inline tasks can access process context data, for example, variables, staff assignments, or custom properties. | Stand-alone tasks cannot access process context data. |
Task descriptions, display names, and documentation for participating and originating tasks support only one language. | Task descriptions, display names, and documentation for participating and originating tasks support multiple languages. |
Inline tasks are not visible as SCA components, and therefore they are not reusable (cannot be wired). | Stand-alone tasks are reusable. Participating and originating tasks are visible as SCA components (can be wired). |
Supported kinds of tasks: participating tasks, originating tasks, and administrative tasks. | Supported kinds of tasks: participating tasks, originating tasks, and purely human tasks. |
A subtask is an additional unit of work that is split out from a parent task. The subtask model can be selected from a template or it can be defined at runtime. Input data is provided by the person that creates or starts the subtask. The parent task waits until all of its subtasks are finished. The owner or editor of the parent task consolidates the subtask output data, and then completes the parent task.
If the subtask fails to complete within a specified period of time, the parent task can be escalated. The escalation indicates that the parent task is still waiting for subtasks to complete.
Subtasks can be purely human tasks or originating tasks.
A follow-on task is a task that is created to complete an existing task. The follow-on task model can be selected from a template or it can be defined at runtime. Input data is provided by the person that creates or starts the follow-on task. The output and fault message types of the follow-on task must be the same as those of the previous task. The previous task is put into the forwarded state and it does not report completion to the service or person that invoked it.
When the follow-on task finishes, it reports its output or fault data to the service or person that invoked the original task. Escalations of the previous task continue to run and escalate. The follow-on task has its own escalations.
Follow-on tasks can be only purely human tasks.
An escalation is a course of action that is executed when a task is not completed satisfactorily within a specific period of time. For example, if tasks are not claimed or are not completed within a defined time limit. You can specify one, or more, escalations for a task. These escalations can be started either in parallel or as a chain of escalations.
(c) Copyright IBM Corporation 2005, 2006.
This information center is powered by Eclipse technology (http://www.eclipse.org)