Narrow Qualifying Tasks Using Precise Filters

Oracle Human Workflow Performance Tuning 16-7 on clustered architecture, see Section 28.2, Using Clusters with Oracle Fusion Middleware .

16.4 Completing Workflows Faster

The time it takes for a workflow to complete depends on the routing type specified for the workflow. The workflow functionality provides some options that can be used to improve the amount of time it takes to complete workflows. Some of these options are discussed in this section: ■ Use Workflow Reports to Monitor Progress ■ Specify Escalation Rules ■ Specify User and Group Rules for Automated Assignment ■ Use Task Views to Prioritize Work

16.4.1 Use Workflow Reports to Monitor Progress

Several workflow reports and corresponding views are available that can make monitoring and proactively fixing problems easier. A few of these reports are listed below: ■ The Unattended Tasks Report provides a list of group tasks that need attention since they have not yet been acquired by any user to work on. ■ The Task Cycle Time Report gives an idea of how much time it takes for a particular type of workflow to complete. ■ The Task Productivity Report indicates the inflow and outflow of tasks for different users. ■ The Assignee Time Distribution Report provides a detailed drill-down of the time spent by each user during the task life cycle including the idle time when the task was waiting to be picked up by a user. All of these reports can be used effectively to fix problems. By checking unattended tasks report, you can assign tasks that have been in the queue for a long time to specific users. By monitoring cycle time and other statistics, you can add staff to groups that are overloaded or take a longer time to complete. Thus reports can be used effectively to ensure workflows complete faster.

16.4.2 Specify Escalation Rules

To ensure that tasks do not get stuck at any user, you can specify escalation rules. For example, you can move a task to a manager if a certain amount of time passes without any action being taken on the task. Custom escalation rules can also be plugged in if the task must be escalated to some other user based on alternative routing logic. By specifying proper escalation rules, you can reduce workflow completion times.

16.4.3 Specify User and Group Rules for Automated Assignment

Instead of manually reassigning tasks to other users or members of a group, you can use user and group rules to perform automated reassignment. This ensures that workflows get timely attention. For example, a user can set up a user rule such that workflows of a specific type and matching a certain filter criteria are automatically reassigned to another user in a specified time window. Similarly, a group rule can be used to automatically reassign workflows to a member of the group based on different 16-8 Oracle Fusion Middleware Performance and Tuning Guide routing criteria such as round robin or most productive. Thus rules can help significantly reduce workflow waiting time, which results in faster workflow completion.

16.4.4 Use Task Views to Prioritize Work

A users inbox can contain tasks of various types with various due dates. The user has to manually sift through the tasks or sort them to find out which one he or she should work on next. Instead, by creating task views where tasks are filtered based on due dates or priority, users can get their work prioritized automatically so they can focus on completing their tasks instead of wasting their time on deciding which tasks to work on. This also results in faster completion of workflows.

16.5 Tuning Identity Provider

The workflow service uses information from the identity provider in constructing the SQL query to determine the tasks qualifying for a user based on his or her rolegroup membership. The identity provider is also queried for determining role information to determine privileges of a user when fetching the details of a task and determining what actions can the user perform on a task. There are a few ways to speed up requests made to the identity provider. ■ Set the search base in the identity configuration file to nodes as specific as possible. Ideally you should populate workflow-related groups under a single node to minimize traversal for search and lookup. This is not always possible; for example, you may need to use existing groups and grant membership to groups located in other nodes. If it is possible to specify filters that can narrow down the nodes to be searched, then you should specify them in the identity configuration file. ■ Index all critical attributes such as dn and cn in the identity provider. This ensures that when a search or a lookup is done, only a subset of the nodes are traversed instead of a full tree traversal. ■ Use an identity provider that supports caching. Not all LDAP providers support caching but Oracle Internet Directory supports caching which can make lookup and search queries faster.

16.6 Tuning the Database

The Human Workflow schema is shipped with several indexes defined on the most important columns for all the tables. Based on the type of request, different SQL queries are generated to fetch the task list for a user. The database optimizer evaluates the cost of different plan alternatives for example, full table scan, access table by index and decides on a plan that is lower in cost. For the optimizer to work correctly, the index statistics should be current at all times. As with any database usage, it is important to make sure the database statistics are updated at regular intervals and other tunable parameters such as memory, table space, and partitions are used effectively to get maximum performance. For more information on tuning the database, see Section 2.6, Tune Database Parameters .