SOA 11g: Human Workflow Overview

 

Concepts

Design and Runtime Concepts

Task Assignment and Routing

* Supports declarative assignment and routing of tasks.
* Participant: a user or group of users in the assignment and routing policy definition.
* Participant type:
- Single approver
- Parallel (commonly used for voting)
- Serial (e.g. escalation chain)
- FYI
* Participate assignment:
- Users
- Groups
- Application roles
* Ad hoc routing
* Outcome-based completion of routing flow (complete without finishing rest of steps).

Static, Dynamic, and Rule-Based Task Assignment

* Assign tasks statically.
- A single user, group, or role.
- A comma delimited string of above.
* Assign tasks dynamically.
* Assign tasks with business rules.

Task Stakeholders

* Owner
* Initiator
* Reviewer
* Admin
* Error Assignee

Task Deadlines

* Reminders
* Escalation
* Expiration
* Renewal

Notifications

* Email
* Voice message
* IM
* SMS

Task Forms

* Can be created in JSF, .NET, or any other client technologies using APIs.
* Can be auto-generated using ADF.

Advanced Concepts

* Rule-based routing
* Rule-based participant assignment
* Stages: A stage is a way of organizing the approval process for blocks of participant types.
* Access rules
* Callbacks (extension hooks)

Reports and Audit Trails

* Out-of-box reports for task analysis:
- Unattended tasks
- Tasks priority: Analysis of tasks assigned to a user, reportees, or their groups, based on priority.
- Tasks cycle time: Analysis of the time taken to complete tasks from assignment to completion based on users' groups or reportees' groups.
- Tasks productivity: Analysis of assigned tasks and completed tasks in a given time period for a user, reportees, or their groups.
- Tasks time distribution: The time an assignee takes to perform a task.
* Audit trails lists all versions created by the following tasks:
- Initiate task
- Reinitiate task
- Update outcome of task
- Completion of task
- Erring of task
- Expiration of task
- Withdrawal of task
- Alerting of task to the error assignee

Features

Use Cases

* Task assignment to a user or role.
* Use of various participant types.
* Escalation, expiration, and delegation.
* Automatic assignment and delegation. e.g. auto-route to direct report managers.
* Dynamic assignment of users based on task content. e.g. orders larger than 5k needs director approval.

Architecture

* Starting with release 11g, all human task metadata is stored and managed in the Metadata Service (MDS) repository.

Human Workflow Services

* Task service:
- task state and persistence management.
- exposes operations to update a task, complete a task, escalate and reassign tasks, and so on.
- used by Oracle BPM Worklist to retrieve tasks assigned to users.
- determines if notifications are to be sent to users and groups when the state of the task changes.
- Consists of:
~ Task routing service.
~ Task query service.
~ Task metadata service.
* Identity service:
- a thin web service layer on top of the Oracle WebLogic Server 11g security infrastructure or any custom user repository.
- enables authentication and authorization of users and the lookup of user properties, roles, group memberships, and privileges.
* Notification service.
* Metadata service: manages metadata related to workflow users, such as user work queues, preferences, vacations, and delegation rules.
* Runtime config service:
- provides methods for managing metadata used in the task service runtime environment.
- It principally supports management of task payload mapped attribute mappings.
* Evidence service: supports storage and nonrepudiation of digitally-signed workflow tasks.

How to Use Human Task

* Associated with a BPEL process.
* Standalone human task:
- Not associated with a BPEL process.
- Client can create the task themselves.

Human Task Service Engine

* All human task service components, regardless of the SOA composite application of which they are a part, are executed in a single human task service engine.

References

* Getting Started with Human Workflow