Oracle Workflow Functional Overview
Oracle Workflow Functional Overview
Oracle Workflow Functional Overview
Functional Overview
November 1999
Oracle Workflow
INTRODUCTION
Oracle Workflow is a complete workflow management system that facilitates
business process reengineering. Its unique server-centric architecture provides
speed, reliability, and scalability for high volume environments by embedding
the Oracle Workflow Engine in the state-of-the-art Oracle8i™ database. Based
on the Internet model, Oracle Workflow supplies sophisticated Internet
monitoring tools enabled by your choice of Oracle Application Server™ or
Oracle WebDB™.
Oracle Workflow allows your enterprise to:
• Automatically process and route information of any type
• Define sophisticated business rules that can easily be changed
• Include any person inside or outside your organization
All Information
1
Workflow also lets you reference documents in your business process that are
generated from data in your Oracle-based application or stored in select
document management systems.
All Rules
The Oracle Workflow Builder lets you create or modify a business process with
simple drag and drop operations. You can easily work with a summary level
model of your workflow process, expanding activities within the process as
needed to increasing levels of detail. Property sheets allow you to specify all of
the details for workflow objects that cannot be represented with a diagram. You
can operate the graphical Workflow Builder from a desktop PC or even from a
disconnected laptop.
2
Clear Visual Representation of Process
You can use Oracle Workflow process diagrams to communicate business tasks
and operation flows to end users. Use any of the pre-defined icons to represent
process, function and notification activities or create your own custom Windows
icons to incorporate into your process diagrams.
Oracle Workflow Builder lets you quickly define the components of a workflow
process such as activities, messages, and lists of values using property sheets.
You can also define unlimited item and message parameters of type: text, date,
number, list of values, URL, Document, or Role, to support your process. All
property sheets guide you through the definition of your components and
reference appropriate lists of values to ensure accurate data entry.
Using the Workflow Builder, you can create and modify reusable workflow
objects. You need only create them once and drag and drop them into a
workflow process as many times as needed. Every occurrence of an activity in a
process diagram is uniquely labeled for process execution.
To provide activities and supporting objects that are common to most business
processes, Oracle Workflow provides a wide range of pre-defined workflow
objects for both standard and exception processing. These objects range from
3
simple result lists like approval codes, to more complex pieces like a voting sub-
process and its accompanying vote request notification activity and vote tallying
function activity. These seeded processes, activities, messages, and lists of
values can be dropped into your business processes or easily supplemented using
the Workflow Builder and PL/SQL.
You can use the Workflow Builder and the power of PL/SQL to tailor your
workflow processes to your specific business requirements. For example, you
can create a message in the Workflow Builder and attach it to a notification
activity, write a new PL/SQL procedure and reference it in an existing function
activity, or create a new process and drag it into another process as a sub-process
activity.
Process Verification
4
modeled with a branch to another activity, verifies that the type of response
requested by a notification activity matches the result type assigned to the
message being sent, validates that activity nodes marked as END points in a
process do not branch to any further activities, and, especially important in cases
of nesting processes, checks that a process does not contain itself as a sub-
process activity.
Server Centric
Many business processes involve interaction with documents, but what if the
information coming into your enterprise does not take a document form? What
if the data is completely electronic, entering your organization through Web-
based applications, EDI, or interfaces from legacy systems? How do you access
this type of data in a workflow process? Oracle Workflow takes full advantage
of the power of Oracle8i by storing processing logic directly in the database
close to your Oracle-based data. The Workflow Engine is made up of a set of
state tables and PL/SQL procedures that manage the creation and execution of
the workflow process. The Workflow Engine can execute a workflow activity
immediately or defer its execution to a separate session using a “background
engine.” The Workflow Engine accesses Oracle-based data at RAM speeds
instead of at network speeds. With this architecture, the execution of process
activities, the access of data, and the work associated with progressing along the
workflow process, all occur within the database. The result is dramatically
improved throughput and reduced network traffic.
5
through Oracle Workflow tables. The Status of active processes are stored in
current process tables while completed process state information is transferred to
history tables. Both current and historic state information can be analyzed using
Oracle Workflow Web-based reports or any ad-hoc query tool like Oracle
Discoverer™. Oracle Workflow jump starts your analysis by supplying views
that you can use in Oracle Discoverer to simplify your setup.
Complete Extensibility
The open and flexible architecture of Oracle Workflow makes it easy for you to
workflow-enable any Oracle-based application. Using simple PL/SQL calls, an
application can notify Oracle Workflow that predefined activities are completed.
Oracle Workflow can call any application’s PL/SQL functions as activities in a
workflow process. Oracle Workflow allows integration with functions external
to the database through use of Oracle8i Advanced Queues. Oracle Workflow
makes every workflow function available for use. There are no hidden APIs for
Oracle’s internal use only. Workflow APIs can be called by an application
program or a workflow function during runtime to communicate with the
Workflow Engine, to change the status of the activities, or to retrieve
information about workflow users and roles. Oracle Workflow also provides
Java APIs to communicate with the workflow engine and notification service.
Simple Administration
One of the more compelling aspects of the Oracle Workflow architecture is that
the Notification Service is independent of the Workflow Engine that starts and
controls run-time workflow processes. These two systems communicate with
each other using public APIs. These APIs allow any Oracle-based application,
whether workflow-enabled or not, to use the Notification Service to
communicate between itself and people. Notifications can be sent and received,
and responses returned without interaction with the Workflow Engine.
Conversely, Oracle-based applications that do not require interaction with
humans can be automatically executed by the Workflow Engine without
interaction with the Notification Service.
6
Overview of Oracle Workflow Architecture
Proof of Concept
7
capabilities are also available to you with Oracle Workflow. What other
software company provides a proven workflow product embedded in their
packaged applications and available for your own use?
ENGINE OPERATION
Some workflow products force you to stop their workflow engine to make
changes or to introduce new process definitions to the system. With Oracle
Workflow you can create new processes and make changes to existing processes
while the Workflow Engine continues to execute. When you make changes to
an existing activity, Oracle Workflow creates a new version of the activity. It
saves the new version to the database without overwriting older versions and
without interrupting active work items running against those older versions. If a
process is running at the time you make a change, Oracle Workflow continues to
use the version of the activity that was in effect when the process was started. It
does not switch versions of the activity mid-way through the process or require
you to shut down a process to make your change.
Your business processes include tasks that can be automated and those that
require human interaction. Unlike some workflow products that only allow you
to route documents connected by approval steps, Oracle Workflow lets you
define your workflow processes to include complex automated activities as well
as notifications that require a response from a person or group of people.
When the Workflow Engine encounters an automatic activity it evaluates the
processing cost associated and either executes the activity immediately or defers
processing to a background engine. Notifications can be an informative note or
can prompt the recipient for a response. When the Workflow Engine encounters
a notification activity it issues a simple Send API call to the Notification
Service. When a required response is received the Notification Service calls the
Workflow Engine and processing continues to the next activity.
8
Sophisticated Structure Capabilities
Voting
Voting is one of the more sophisticated structures for a workflow product to
model but so common in practice that anyone could describe it. Oracle
Workflow supplies a Voting process with accompanying function and
notification activities for you to drop into any of your workflow processes. You
can model any of the following examples of voting schemes: a simple majority
with or without default outcomes, a popularity contest, a Black Ball where a
single vote for a specific response decides the outcome, or an All or Nothing
vote. You can alternatively create your own custom voting scheme. The Voting
process can be easily supplemented using PL/SQL to meet any unique voting
requirements.
9
The pre-defined voting activity has simplified what has traditionally been a
complex task to model. Voting combined with our standard deadline and
default branching capabilities allow you to create powerful and complete voting
processes.
Oracle Workflow lets you model activities that proceed along parallel paths until
they join in a rendezvous point. The rendezvous can be an AND-Join or an OR-
join requiring either all parallel paths to complete before continuing in the
process or at least one path to complete before continuing. This structure can
result in a reduction of the total processing duration of the process by allowing
tasks without a sequential dependency to be performed in parallel.
10
Loops
Oracle Workflow gives you the capability to repeat a sequence of activities until
an end condition is met. This powerful construct is handled very simply. Create
a loop of activities and the Workflow Engine re-executes all of the activities
until the loop condition tells it to stop. You can configure the process loop so
that before executing a new iteration the Workflow Engine compensates for any
previous work done.
11
Sub-Processes
You can modularize your business process by defining sub-processes that are
interrelated. A sub-process is a complete process that acts like an activity. Once
you define a process it can be used as a sub-process activity in any other process.
Oracle Workflow allows you to use as many sub-processes as you want and to
nest one inside another as deeply as you want. There are no artificial limits.
Oracle Workflow even allows you to specify whether a sub-process can only be
run within the context of another process. This prevents inadvertent execution
of activities that need information from a higher level to make sense.
12
TimeOut Notifications
What happens if a notification is sent but no one responds? Maybe the recipient
is sick, or on vacation or just swamped with other work. Your process needs the
response to continue. You can automatically send a reminder, send someone
else a message, set a default response and move on, or automatically assume it is
an error and break out to exception processing. You set the time frame. You
decide the action. Oracle Workflow executes it.
Ending Gracefully
A workflow process may have multiple processing paths active at any time with
corresponding end points. When Oracle Workflow reaches the first end point it
gracefully ends the process - closing any active branches, canceling any open
notifications, and immediately notifying the calling process (if any) of the result.
Error Handling
You can use Oracle Workflow to model the events you want to occur if anything
unexpected happens during the execution of a process. Use the default error
process supplied with Oracle Workflow, modify it, or create your own. Assign
an error process to any activity or process.
Oracle Workflow gives you the ability to balance the load of executing activities
across one or more background workflow engines. Generally, when the
Workflow Engine starts and executes a process, it completes all necessary
activities before moving on to the next eligible activity. But some activities use
a high level of processing resources or are very time consuming to complete.
13
Oracle Workflow allows you to defer the execution of these costly activities to a
supplemental background engine. You can run as many background engines as
you require. They can be configured to execute activities associated with
specific types of processes or with certain cost ranges. The result is parallel
processing that reduces the overall duration of all your business processes.
Multilingual Support
The Workflow Engine APIs give you complete programmatic control over your
processes. Through simple yet powerful calls to the Workflow Engine you can
suspend execution of a process, resume execution where it left off, or force
execution to stop.
Variable Support
14
Choose Your Preferred Method of Communication
For each workflow notification activity Oracle Workflow gives you a robust and
flexible method to select who will receive the message. The evaluation of these
rules may determine one user or many. You specify at design-time which
approach to use choosing from Shared Role Shared Queue, Expanded Role,
Workload Balancing, or Sequential delivery.
15
Expanded Role
You can direct the Workflow Notification Service to send an individual copy of
a notification to every user in a multi-user role. This powerful feature enables
complex workflow structures like voting and message broadcasting.
Workload Balancing
Spread the workload around by telling the Workflow Notification Service to
send the notification to the user in the role with the shortest worklist.
Sequential
Another approach to distributing the workload for everyone in the role; tell the
Workflow Notification Service to send the notification to the next user in the
role based on who has gone the longest without receiving a message of this type.
Create reusable messages with context-sensitive subject line, text and html body,
and response prompts using message variables. Message variables get replaced
with run-time values when the message is delivered. They can be used to send
context sensitive information or to prompt for a certain type of response. In
addition to the variable types of text, number, date, and list of values, send and
respond variables can also take the form of a URL or Document.
Let Oracle Workflow do the follow-up for you. Associate a time period during
which a notification must be responded. The Workflow Engine will enforce the
notification due date according to your process model; send a reminder that a
16
response is required, redirect the notification to a new role, assume a default and
move on, or run the exception workflow process. With the Workflow Engine
those important notifications will not go unanswered for long.
17
Worklist
18
Notification Routing Rules
Notification Routing Rules save you time and give you flexibility to assign
responsibility for notification responses for a variety of circumstances. Maybe
you have front line support to review certain requests to make sure that all
information you need is present before you make a decision. The Notification
Service can automatically forward these notifications to your assistant first.
Perhaps your assistant executes your decisions on routine matters. Why not
forward those messages automatically and focus your attention on the more
unusual requests that come your way? Or perhaps you are actually going on
vacation and want certain notifications to be handled by your backup support
while you are gone. The Notification Service can forward some notifications
while allowing others to wait in your worklist until you return. Handle the time
period in advance, specify a fixed window of time or leave it open-ended. By
combining Notification Routing Rules you can give the appropriate level of
coverage to all your notifications to accommodate any situation.
Workflow Monitor
Workflow supplies a number of Web pages allowing you to find and monitor
your workflow processes. You can view the graphical workflow process
diagram and the history of a specific workflow process instance. To ensure
appropriate use of the Workflow Monitor, Oracle Workflow evaluates whether
each user should have basic or administrative privileges. Administrators have
greater access to and control over workflow processes. The Workflow Monitor
allows administrators to manually intervene in the execution of a workflow
process.
19
Find Processes
You are sure to find timely, relevant, and useful workflow process information
using the Workflow Find Processes Web page. You can target a single
workflow process instance, a specific workflow process type, or combine
definition and runtime options for a thoroughly custom search.
Process List
Refer to the Workflow Monitor Process List when you need a summary of the
overall workflow process status. From here you can select a single process
instance to drill down to further detail.
20
Notifications List
Review the responses of all the notification recipients for a workflow process
through this brief listing. e-mail a responder by selecting the user link in the
Who column. Access the Diagram or Advanced Options if you need detail on
all the activities included in the workflow process.
Process Diagram
The Workflow Monitor Process Diagram provides a clear, color-coded graphical
representation of the status of a process. In one picture you can see which
activities have completed, which are active, and which are yet to be performed.
If you need more detail on an activity it is available in the Definition, Usage,
Status, Notification and Item files.
21
For a workflow administrator, the Workflow Monitor Diagram allows easy
manual intervention. The expedite feature is especially powerful. When
expediting a workflow process, you can skip an activity, retry an activity, or
“rewind” the process to an earlier activity. During a rewind, the activities
already visited are reset and the process re-executes.
22
Activities List
Designed for the development or administrative user, the Activities List Web
page provides the ultimate in runtime details. Choose the level of detail you
desire simply by checking the Activity Status and Type options. The resulting
list provides the current status. You can sort the activities by any column
heading to aid your analysis.
23
SUMMARY
The preceding sections of this overview explain how Oracle Workflow allows
your enterprise to automatically process and route information of any type using
sophisticated business rules to any person inside or outside your enterprise. This
is accomplished using the production level performance, scalability, and
throughput of the Workflow Engine embedded within the Oracle RDBMS along
with an architecture that provides independent and open Engine and Notification
Service Systems.
Oracle Workflow provides a solution for business process reengineering that
satisfies end users, business managers, and IT staff alike. End users get easy
access through e-mail or any Java-enabled Web browser along with the freedom
to choose from a variety of desktops. Business managers get increased
understanding, oversight, and throughput of their business processes. IT staff
get the centralized control and simplicity of administration that are key to cost-
effective operation.
24
Oracle Workflow
November 1999
Author: Robin Seiden
Contributing Authors: Kevin Hudson, Siu Chang, George Buzsaki, Anne Carlson
Copyright © Oracle Corporation 1998
All Rights Reserved Printed in the U.S.A.
This document is provided for informational purposes
only and the information herein is subject to change
without notice. Please report any errors herein to
Oracle Corporation. Oracle Corporation does not
provide any warranties covering and specifically
disclaims any liability in connection with this document.
Oracle is a registered trademark and Enabling the
Information Age, Oracle Workflow, Oracle Applications,
Oracle8i, and Oracle InterOffice
are trademarks of
Oracle Corporation.
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
415.506.7000
Fax 415.506.7200
Copyright © Oracle Corporation 1995
All Rights Reserved
25