Vous êtes sur la page 1sur 6

Things they never told you about Oracle Workflow

Muzaffer Lakdawala and Robert Yoos


PricewaterhouseCoopers LLP

Introduction
Oracle® Workflow is a workflow management system that supports business process definition and automation. Its
enables automation and continuous improvement to business processes, routing information of any type according to
user-defined business rules. It allows you to provide all parties in a business process with all the information they
need to make the right decision in an efficient manner. It can route summary and detail information to each decision
maker in your workflow process. Oracle Workflow lets you reference documents in your business process that are
dynamically generated from data in your Oracle Application. It allo ws you to model and maintain business
processes using a graphical workflow builder. It can define processes that loop, branch into parallel flows and
rendezvous, decompose into sub-flows, branch on task results, timeout, and more.

Key Components
Oracle Workflow Builder
Oracle Workflow Builder allows you to create, view, or modify a business process. Using the Workflow Builder,
one can create and modify all workflow objects, including activities, item types, and messages. You can add,
remove, or change workflow activities, or set up new prerequisite relationships among the activities

Workflow Engine
The Workflow Engine monitors workflow states and coordinates the routing of activities for a process. Changes in
workflow state, such as the completion of workflow activities, are signaled to the engine via a PL/SQL API or a
Java API. Based on flexibly–defined workflow rules, the engine determines which activities are eligible to run, and
then runs them. The Workflow Engine supports sophisticated workflow rules, including looping, branching, parallel
flows, and sub-flows.

Workflow Definition Loader


The Workflow Definitions Loader is a utility program that moves workflow definitions between database and
corresponding flat file representations. It can be used to move workflow definitions from a development to a
production database, or to apply upgrades to existing definitions.

Workflow Process Components

Attribute
An attribute acts as a global variable that can be referenced or updated by any activity within a process. An item
type attribute provides information about an item that is necessary for the workflow process to complete e.g.
Doc_Cost_Center stores information about the document cost center. Applications as well as function activities can
reference and set item type attributes using the Oracle Workflow Engine APIs.

Process
Oracle Workflow manages business processes according to rules that you define. The rules, which we call a
workflow process definition, include the activities that occur in the process and the relationship between those
activities. An activity in a process definition can be an automated function defined by a PL/SQL stored procedure, or
a notification to a user or role that may optionally request a response, or a sub-flow that itself is made up of a more
granular set of activities e.g. manager approval process in iExpenses is a process.

Things they never told you about Oracle Workflow.doc Page 1 of 6


Created: Feb 16, 01 Edited: Apr 11, 01 1:22 PM Printed: Mar 5, 03 8:55 AM
Copyright © 2000 by Muzaffer Lakdawala, Robbert Yoos and Jim Kennedy
Notifications
A notification activity sends a message to a performer. A notification activity may or may not expect a response.

Functions
A function activity represents a PL/SQL stored procedure that the Workflow Engine executes automatically. A
function activity can also have activity attributes associated with it.

Messages
A message is what a notification activity sends to a role in a workflow process. A message can prompt a user for a
reply or an action to take that determines what the next activity in the process should be. The recipient of a
workflow message is called the performer. Each message is associated with a particular item type. This allows the
message to reference the item type’s attributes for token replacement at runtime when the message is delivered.

Lookup Types
A lookup type is a static list of values. These lists can be referenced by activities and by item type, message or
activity attributes. For example, an activity can reference a lookup type for its possible result values, while a
message attribute can reference a lookup type as a means of providing a list of possible responses to the performer
of a notification.

Web Application Directory Services


Oracle Workflow offers you flexibility in defining who your workflow users and roles are. Using the views you can
determine the directory repository you want Oracle Workflow to reference for users and roles. These views are:
? ? WF_USERS
? ? WF_ROLES
? ? WF_USER_ROLES

In addition, Oracle Workflow provides three local tables called WF_LOCAL_USERS, WF_LOCAL_ROLES, and
WF_LOCAL_USER_ROLES You can use these tables to store users and roles not included in your existing
directory repository. In Oracle Applications, your Oracle Workflow directory service views are automatically based
on a unified Oracle Applications environment. The unified environment maps over Oracle Human Resources tables,
Oracle Application Object Library tables, various Oracle Applications tables, and WF_LOCAL tables.

WF_LOCAL_USER
You can use this table to define users which are not included in unified Oracle Application Environment.

WF_LOCAL_ROLES
You can use this table to define roles which are not included in unified Oracle Application Environment.

WF_LOCAL_USER_ROLES
The Wf_Local_User_Roles table is an intersection of the users and roles in Wf_Local_Users and Wf_Local_Roles.

System: Mailer
Use the System: Mailer item type in Oracle Workflow Builder to configure the templates that Oracle Workflow uses
to send E– mail notifications. The System: Mailer item type has attributes that represent every part of the notification
message. You can reorganize the layout of these attributes in each template to customize the E– mail messages sent
by the Notification system. The messages of the System: Mailer item type is not true messages; rather they act as
template for any E– mail messages the Notification system sends. System: Mailer messages determine the basic
format of an E– mail notification, including what header information to include, or whether and where to include
details such as the message due date and priority.

Workflow Canceled Mail template is used to inform the recipient that a previously sent notification is canceled.

Things they never told you about Oracle Workflow.doc Page 2 of 6


Created: Feb 16, 01 Edited: Apr 11, 01 1:22 PM Printed: Mar 5, 03 8:55 AM
Copyright © 2000 by Muzaffer Lakdawala, Robbert Yoos and Jim Kennedy
Workflow Closed Mail template is used to sent message informs the recipient that a previously sent notification is
now closed.
Workflow Invalid Mail template is used to sent message to user, when a user responds incorrectly to a notification.
Workflow Open FYI Mail template is used for all E– mail notifications that do not require a response.
Workflow Open Mail template is used for E– mail notifications that require a response.
Workflow Summary Mail template is used to send a summary of workflow notifications to users and roles that have
their notification preference set to ’SUMMARY’ in the Oracle Workflow directory service.
Workflow Warning Mail template is used to send a message to a user if it receives unsolicited mail from that user.

Microsoft® Exchange

Public Folders
Public folders allow you to collect organize and share information with others on your team or across your
organization. Public folders can be used to store any type of files or Outlook items. Public folders have E-mail
addresses used to post messages.

Why use Public Folders?


? ? Public folders can be used as a distribution list or to define your operations staff groups.
? ? Public folders can receive Workflow Notifications.
? ? Multiple operational staff can access the same folder and move work to their individual work folders
? ? People in these group can be managed outside Oracle Workflow world.
? ? Provides mechanism to distribute work evenly and efficiently.

Suggested Folder Structure

Public Folders

iExpenses Folders (Others) iExpense Folders (Production)

Operations Operations
operations.fdvl@us.pwcglobal.com operations.fprd@us.pwcglobal.com

Manager Manager
manager.fdvl@us.pwcglobal.com manager.fprd@us.pwcglobal.com

Help Desk Help Desk


helpdesk.fdvl@us.pwcglobal.com helpdesk.fprd@us.pwcglobal.com

Operational Support Issues and Solutions

Issues
Automated work processes are efficient, but can leave support staff feeling “out of touch” with their operation.
Operation support staffs now want to know how they can stay in touch with automated process ? Is it possible for
them to know when there is a problem ? Navigating through workflow diagram environment can be intimidating for
non-technical support personnel.

Things they never told you about Oracle Workflow.doc Page 3 of 6


Created: Feb 16, 01 Edited: Apr 11, 01 1:22 PM Printed: Mar 5, 03 8:55 AM
Copyright © 2000 by Muzaffer Lakdawala, Robbert Yoos and Jim Kennedy
Business Analyst wants to know how can they modify dynamic business rules and settings without constantly
changing and migrating the workflow processes? Now they have to deal with changes of support personnel
organization structure. Business rules in workflow validation programs need to be added and modified but constant
changes and migration to the workflow is costly and introduces chance of error.

Solutions
Through the creative use of workflow and its capabilities, all of the Operation issues just mentioned can be
addressed. These issues were addressed at Fortune -50 company during iExpenses implementations.

Notifications

Utilizing the ability of workflow to send e-mail notification messages, operation staffs were notified of any
significant issues, error conditions or process events. Intuitive and descriptive notification messages describing the
business conditions and process outcome that generated the message and awaited the user response. Process
outcomes were directed to the appropriate operation role. Any exceptions in the systems were managed by
notifications.

Using Roles instead of Individuals


Instead of using individuals to perform or respond to an activity roles were extensively used. Following are the steps
involved:
1. Create appropriate operational roles utilizing the Web Application Directory Services.
2. Associate these roles to employees in Wf_Local_User_Roles tables.
3. Used these roles as performers in the notifications.
With the changes in the operational staff there was no need to change the performers in the Workflow. Only
employees had to be re-associated in the Wf_Local_User_Roles table.

Integration of Microsoft Public Folders with Oracle Workflow


Taking one step further, you can use Microsoft Exchange to manage the association of Roles in the web application
directory services and employees. Below steps define the integration process
1. Define Public Fo lders in Microsoft Exchange.
2. Set ‘Default’ to ‘Contributor’ for the folder.
3. Add list of people who can process the notifications for that particular folder.
4. Assign necessary permissions to people allowing them to manage notifications.
5. Re-define these folders as local users and roles in Oracle Workflow Web Application Dictionary Tables.
6. Load users and roles from database into Oracle Workflow.
7. Use these local users and roles as ‘Performers’ in Workflow Notifications for all generated E-mail messages.
Using this method you can manage association of employees to roles in Microsoft® though a GUI based system.

Lesson Learned
Following were the lessons learned trying to use e-mail messages for automating the business process
? ? Strong Mail Server Network is required to process increased emails.
? ? For i Expenses alone you could generate e-mails up to 5 times number of vouchers submitted.
? ? The Reply-To functionality is great but has to be implemented with caution:
? ? No E-mail signatures are allowed.
? ? Responses that split in more than one line require to be in quotes.
? ? The reply-to functionality can not be removed with out some modifications to standard workflow packages.
? ? People don’t read their E-MAILS.

Things they never told you about Oracle Workflow.doc Page 4 of 6


Created: Feb 16, 01 Edited: Apr 11, 01 1:22 PM Printed: Mar 5, 03 8:55 AM
Copyright © 2000 by Muzaffer Lakdawala, Robbert Yoos and Jim Kennedy
Custom Business Rules

Most of the businesses have their own policies and procedures for each Cost Centres. These rules can not be directly
mapped to Oracle as an out of box solution. Oracle iProducts are not intuitive to handle such custom business rules.
Using custom table you can define all custom business rules in a table. It can be used to hold rules for taxation,
required field specification, expense thresholds, per diem values etc. Using this method, most business rule changes
can be handled by operations staff and custom business rule validation programs don’t need to change every time a
business rule is modified.

A typical table structure would like below:


Cost_Centre Varchar2 Cost Centre for which the business rule applies.
Description Varchar2 Plain English meaning for the rule.
Effective_End_Date Date End date for the rule.
Effective_Start_Date Date Start date for the rule.
Rule_For Varchar2 Name of the expense type for which the business rule is applicable.
Rule_Name Varchar2 Name of the rule viz. Justification_Required, Receipts_Required,
Per_DIME.
Value1 Number Stores Business agreed numeric value viz. Mileage Rate.
Value2 Number Stores IRS allowed numeric value viz. Max Per DIME allowances.
Value3 Number Stores any other numeric value.
Yes_No_Null Varchar2 Rule applies if business corporate card was used or not used.

Implementing Custom Business Process Validation


To implement the custom business process validation perform the following steps:
1. Develop front end form using Developer/2000 to maintain business rules.
2. Business rules once defined should be end-dated and not deleted, to allow for audits.
3. Once the rule is end-date it should be re-activated with a new definition of the business rule.
4. Procedures, Functions and API’s to implement custom business process should be developed using Oracle
Workflow Coding Standards.
5. Using the Oracle Workflow designer window introduce the custom business functions at the appropriate place.
6. Migrate business rules defined in custom table using Migration Tools or SQL*Loader.

Lessons Learned
Following lessons were learned trying to implement custom business rules:
? ? Complex Business Rules require complex coding and complex testing procedures.
? ? If you don’t budget by it don’t have a rule for it.

Migration Methodology

Migration of the custom workflow from development stage to production offers unique challenges to the project
team. There is a need for clear understanding of

Migration from Development to Production :


Following steps could offer some insight into steps involved in successful migration:
1. Migrate the user and roles defined in the Wf_Local tables.
2. Change the email address in the Wf_Local tables to point to the right public folders defined in Microsoft
Exchange ®. (Operations.FDVL@us.pwcglobal.com to Operations.FPRD@us.pwcglobal.com).
3. Chain Link is not an available option to migrate Oracle Workflow.
4. Check-in Oracle Workflow into external version control programs for future modifications and upgrades.
5. Using Oracle Workflow Builder open the workflow file from FDVL / Test instance and save it back in FPRD. It
requires APPS password or
Using Workflow Definition Loader program defined in Oracle Applications load the workflow file. However
UNIX level access will be required for this method.
6. Allow the Production Folders set-up in Microsoft Exchange to accept E-mails.
Things they never told you about Oracle Workflow.doc Page 5 of 6
Created: Feb 16, 01 Edited: Apr 11, 01 1:22 PM Printed: Mar 5, 03 8:55 AM
Copyright © 2000 by Muzaffer Lakdawala, Robbert Yoos and Jim Kennedy
Refresh from Production to Development :
1. Change the email address in the Wf_Local tables to point to the right public folders defined in Microsoft
Exchange ®. (Operations.FDVL@us.pwcglobal.com from Operations.FPRD@us.pwcglobal.com).
2. Workflow is migrated from Production to Test instance during the refresh, as Oracle Workflow is stored in
tables.

Lessons Learned
? ? Constant changes and migration of workflow file is costly and introduces chance of error.

Results
?? Operational staff remains fully in control of the process.
?? Benefits of a streamlined automated process achieved without losing human touch.
?? Operations staff can obtain required business process information without being a workflow experts.
?? Workflow changes are not necessary for most changes to business rules and staff turnover.
?? Savings in operational cost and overheads from improved streamlined business process.

Acknowledgement
All products names mentioned herein above are registered TRADEMARKS of the respective vendors.

Things they never told you about Oracle Workflow.doc Page 6 of 6


Created: Feb 16, 01 Edited: Apr 11, 01 1:22 PM Printed: Mar 5, 03 8:55 AM
Copyright © 2000 by Muzaffer Lakdawala, Robbert Yoos and Jim Kennedy

Vous aimerez peut-être aussi