8.1 Understanding Human Tasks

Human Workflow is a component of the Oracle SOA and BPM suites that allow you to define how users interact with your business applications. Human Workflow also provides a runtime environment for managing this interaction.

Human tasks are the specific component of Oracle Human Workflow that allows you to define the user interaction of your application. Oracle Business Process Composer enables you to create and edit human tasks.

Note:

Not all properties of human tasks can be created or edited using Oracle Business Process Composer. To create and edit these properties, you must use Oracle JDeveloper. See the Oracle BPM Modeling and Implementation Guide for more information.

Human tasks enable you to specify the following:

Routing

Assignment

Deadlines

Notification

Presentations

Task data

These components are described in the following sections.

8.1.1 Introduction to Routing and Participants

Human tasks enable you to determine the order in which users perform different tasks within your application. This order is the routing of the human task. Participants are the users or groups that are responsible for performing each task. You can use the human task editor specify the routing flow and participant for a user task.

8.1.1.1 Participant Types

Human tasks support the following patterns for common routing scenarios:

For example, a vacation request is assigned to a manager. The manager must act on the request task three days before the vacation starts. If the manager formally approves or rejects the request, the employee is notified with the decision. If the manager does not act on the task, the request is treated as rejected. Notification actions similar to the formal rejection are taken.

Parallel

This participant indicates that a set of people must work in parallel. This pattern is commonly used for voting.

For example, multiple users in a hiring situation must vote to hire or reject an applicant. You specify the voting percentage that is needed for the outcome to take effect, such as a majority vote or a unanimous vote.

FYI

This participant also maps to a single user, group, or role, just as in single approver. However, this pattern indicates that the participant just receives a notification task and the business process does not wait for the participant's response. FYI participants cannot directly impact the outcome of a task, but in some cases can provide comments or add attachments.

For example, a regional sales office is notified that a candidate for employment has been approved for hire by the regional manager and their candidacy is being passed onto the state wide manager for approval or rejection.

Serial

This participant indicates that a set of users must work in sequence. While working in sequence can be specified in the routing policy by using multiple participants in sequence, this pattern is useful when the set of people is dynamic. The most common scenario for this is management chain escalation, which is done by specifying that the list is based on a management chain within the specification of this pattern.

8.1.1.2 Routing Types

However, human tasks support more complex types of routing that give you more control. These routing types are:

Sequential

In sequential routing different participants act on a task sequentially. Figure 8-2 shows an example of sequential routing. In this example, Participant_1 is the first participant in the routing flow. After Participant_1 finishes acting on a task, the task is passed to Particpant_2. After Participant_2 finishes acting on the task, the human task is completed.

In parallel routing, participants act on a task simultaneously. Figure 8-3 shows an example of parallel routing. In this example, both Participant_1 and Participant_2 act on the task at the same time.

Parallel routing allows you to define an outcome for the routing that determines how the task flow continues to the next participant after the parallel block. See Section 8.1.1.3, "Outcome" for more information.

8.1.1.3 Outcome

Outcome specifies possible outcome arguments of the Human Task. Oracle BPM Worklist displays the possible outcomes you select as the available tasks to perform at run time.

You can specify a voted-upon outcome that overrides the default outcomes selected in the Default Outcomes list. This outcome takes effect if the required percentage is reached. Outcomes are evaluated in the order listed in the table as shown in.

8.1.2 Introduction to Participant Assignment

Participant assignment is the process of mapping human task participants to the people in your organization that will use your application. This is done by mapping each participant to one of the following:

Users

You can assign individual users to act upon tasks. For example, you may assign users jlondon or jstein to a particular task. Users are defined in an identity store configured with the SOA Infrastructure. These users can be in the embedded LDAP of Oracle WebLogic Server, Oracle Internet Directory, or a third party LDAP directory.

As with users, groups are defined in the identity store of the SOA Infrastructure.

Groups

You can assign groups to act upon tasks. Groups contain individual users who can claim and act upon a task. For example, users jcooper and fkafka may be members of the group LoanAgentGroup that you assign to act upon the task.

Application Roles

You can assign users who are members of application roles to claim and act upon tasks.

8.3.8 How to Create Task Data for a Human Task

Using the human task editor, you can define the data types used within the human task. This data is used to store the information entered during user interaction.

To create task data for a human task:

Open the human task where you want to create task data.

Select the Data tab.

Click the Add button.

Select one of the following:

string

int

boolean

TaskExecutionData

The task data appears in Task Data table.

Enter a name for the new task data in the table

8.3.9 How to Specify the Presentation of a Human Task

Presentations define the user interface of your application. Oracle Business Process Composer does not allow you to view or edit the presentation of a human task. However, you can specify the connectivity information used to access the presentation at runtime.

Note:

This information should be provided by a process developer or administrator.

To specify the presentation of a human task:

Open the human task whose presentation you want to specify.

Select the Data tab.

Expand Presentation.

Enter the following:

Hostname: Specifies the hostname of the server where the presentation is deployed.

HTTP Port: Specifies the port of the server where the presentation is deployed.

HTTPS Port: Specifies the secure port of the server where the presentation is deployed.