Course Title - ConfluentMinds

Download Report

Transcript Course Title - ConfluentMinds

Oracle Workflow
Version 1.0
1
Agenda


Overview
Workflow Builder
–
–
–







Workflow Components
Create Workflow Process
Item Type - “Standard”
Workflow Architecture
Workflow Directory Services
Workflow Monitor
Workflow Item attributes
Business Event System
Workflow development Approaches
Workflow Technical Architecture
Version 1.0
2
Objectives




Know what is Oracle workflow
Know how business processes are modelled with workflow builder
Know how workflow processes can be monitored
Know architecture of Oracle workflow
Version 1.0
3
Overview


Oracle Workflow is a Business Process Management tool.
It is used for modeling, automating & monitoring Business
processes, during which documents, information or tasks are passed
from one participant to another for action, according to a set of
procedural rules. Here is a sample workflow process diagram..
Version 1.0
4
Overview (Contd.).
Oracle Workflow accomplishes these important business requirements:
1. Models Business Process with Rules :
–
–
Oracle Workflow lets you model sophisticated business processes with loop,
branch, parallel flows and then decompose into subflows.
Oracle Workflow can decide which path to take based on the result of a stored
PL/SQL procedure.
2. Routes Information for necessary Action :
–
–
Routes information through Oracle Apps for action or notification.
The attachments include self-service Web page and Application forms.
3. Delivers Electronic Notifications :
–
–
Delivers electronic notifications to any Oracle Applications user.
Delivers electronic notifications to any e-mail or Internet user.
4. Integrating Systems
–
–
Version 1.0
Oracle Workflow lets you set up subscriptions to business events which can
launch workflows.
You can communicate events among systems within your own enterprise and
with external systems as well to achieve complex system integration scenarios.
5
Workflow Builder
Oracle Workflow Builder is a graphical tool that lets you create, view, or modify a
business process with simple drag and drop operations.
Version 1.0
6
Workflow Components

Data Store: A database connection or flat file that holds a workflow process

Item Type: A specific business document or transaction eg. Purchase order can be






definition.
an item type. All the workflow components mentioned below are grouped together as
an Item type.
Item Type Attribute: A feature of the item type which stores information that can
be globally referenced by any activity in a process. Also referred to as an item
attribute.
Process Activity: A series of actions that need to be performed to accomplish a
business goal. A process is represented by a workflow diagram. A process can include
function activities, notification activities, event activities, and other subprocesses.
Event Activity: A business event modeled as an activity so that it can be included in
a workflow process.
Notification Activity: A unit of work that requires human intervention. A
notification activity sends a message to a performer.
Function Activity: An automated unit of work, usually defined as a PL/SQL stored
procedure. A function activity can also run an external function. In the standalone
version of Oracle Workflow, a function activity can also run a Java program on the
middle tier.
Message: The information sent by a notification activity. The message may request
the performer to do some work or may simply provide information.
Version 1.0
7
Workflow Components (Contd.).

Lookup Type: A list of values that can be referenced by any activity in a workflow
process. The values in the list are called lookup codes.

Transition: The relationship that defines the completion of one activity and the
activation of another activity within a process. In a process diagram, a transition is
represented as an arrow between two activities.

Item: A specific business document or transaction. For example, purchase order can
be an item type while a purchase order identified by a particular ID number is an
item of that item type.

Process Instance: A unique item being managed by a process.
Version 1.0
8
Workflow Components (Contd.).
F
Process:
T
Result A
N
Result B
Y
Result Type =
Lookup Type
Function:
PL/SQL code
returns Result
Notification:
Message
}
Result T
Result F
‘Send’
Attributes
FYI
Response
Required
Event:
Event Message
Version 1.0
}
‘Send’ and
‘Respond’
Attributes
Receive
Raise
Send
}
RESULT
Resp 1
Resp 2
…
}
Result Y
Result N
(No Result)
9
Create Workflow Process
Version 1.0
Version 1.0
10
Create Item Type





Version 1.0
Open or create a data store in Navigator
window. Right click and create an item type.
Assign an eight character internal name in
upper case without colons or spaces.
Specify a persistence type of temporary or
permanent. If temporary, then provide the
no. of days after which its audit trail will be
purged, once the workflow item instance is
completed.
If any workflow item type has more than one
runnable processes, the selector function
identifies the specific process the workflow
Engine should execute when a workflow is
initiated for this item type.
Select the Access tab page to set the access
and customization levels for this item type.
11
Create Item Attribute


Version 1.0
Create an item attribute , assign it an
internal name which must be uppercase,
maximum 8 characters. this is not updatable
and should not have colons or spaces.
It acts as a global variable that can be
referenced or updated by any activity within
a process.
12
Create Lookup Type


Version 1.0
A lookup type is a static list of values. These
lists can be referenced as Result type by
function and notification activities. A
message attribute can reference a lookup
type as a means of providing a list of
possible responses to the performer of a
notification.
We can create an “Approval” lookup type,
which will have 2 lookup codes viz:
Approved & Rejected.
13
Create Lookup Code


Version 1.0
Lookup codes represent the actual values in
a lookup type. The lookup codes for a
lookup type are defined in the navigator tree
beneath the lookup type.
Right click on the lookup type and choose
New lookup code to create a “APPROVED”
lookup code.
14
Create Message





Version 1.0
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, which is defined in
Notification node.
The subject can include message attributes
that get token replaced with runtime values.
To include a message attribute, use an
ampersand (&) followed by the message
attribute’s internal name.
You can enter plain text or html formatted
message in the body.
15
Create Message Result and Attributes





Version 1.0
Specify a display name and description for
Message Result.
Select a lookup type from the poplist field.
The lookup type you select should be
identical to the lookup type specified for the
notification activity’s result type.
Enter message attribute internal name.
Specify ’Send’ or ’Respond’ in the Source
field to indicate whether this attribute
should send information or prompt a
recipient for a response.
The Display Name appears as the response
prompt, If this is a ’Respond’ message
attribute.
16
Create Notification Activity




Version 1.0
The message sent by a notification activity
can simply convey information or it can
require a response.
If the message requires a response, then
create “Send” message attributes that
provide enough information for the
recipient to respond, and also create
“Respond” message attributes that prompt a
response.
If you plan to assign this notification to a
role consisting of multiple users and you
want to send an individual copy of this
notification to each user in the role, then
check Expand Roles. If you uncheck Expand
Roles, then only one copy of the notification
is delivered to the role as a whole.
If you provide a PL/SQL procedure as
Function, then it lets you add processing
logic to the notification activity and also
known as a post-notification function.
17
Create Function Activity


Version 1.0
The PL/SQL procedure for a function
activity can return some result that
determines the next transition the Workflow
Engine takes.
That result should be defined as a code in a
lookup type.
18
Create Event Activity

Version 1.0
An event activity can either receive, raise, or
send a business event from the Business
Event System. An event activity does not
have a result, but you can branch on the
contents of an event message using
comparison activities provided in the
Standard item type.
19
Create Process Activity



You can drag and drop activities from the navigator tree into the process window or create
activities directly in the process window by right-click and choosing the option.
You define transitions between activities by drawing arrows from one node to the next by clicking
the right mouse button and drawing it to the next activity while keeping it pressed.
Notification, function, event, and process activities make up the nodes of a process.
Version 1.0
20
Workflow Technical Architecture
Version 1.0
Version 1.0
21
Master Table List
WF_PROCESS_ACTIVITIES
WF_ACTIVITIES
WF_ACTIVITY_ATTRIBUTES
WF_ITEM_TYPES
WF_ITEM_ATTRIBUTES
WF_MESSAGES
WF_MESSAGE_ATTRIBUTES
WF_ROUTING_RULES
WF_ROUTING_RULE_ATTRIBUTES
Version 1.0
22
Transaction Table List
WF_ACTIVITY_ATTR_VALUES
WF_ACTIVITY_TRANSITIONS
WF_ITEM_ACTIVITY_STATUSES
WF_ITEM_ACTIVITY_STATUSES_H
WF_ITEMS
WF_ITEM_ATTRIBUTE_VALUES
WF_NOTIFICATION_ATTRIBUTES
Version 1.0
23
Views used in Workflow
Workflow uses views for effective querying of data. These views
are de-normalized so as to provide a faster access to data over
networks.
Some of the important views are:
WF_ITEMS_V
WF_ITEM_ACTIVITY_STATUSES_V
WF_NOTIFICATIONS_VIEWS
WF_ROLES
WF_USERS
WF_USER_ROLES
Version 1.0
24
API’s used in Workflow
Various PL/SQL APIs exist for the working of Oracle Workflow.
WF_ENGINE
WF_CORE
WF_PURGE
WF_MONITOR
WF_QUEUE
WF_NOTIFICATIONS
These APIs can be used to create WF processes, send notifications, purge etc. These can
essentially be used by the developer while developing any WF components (either customizing
or creating new WF item types).
Version 1.0
25
Workflow Transitions
Version 1.0
26
Workflow Transitions

Activity-Each activity is a node, a logical step that contributes
toward the completion of a process.

Transitions-Transitions appear as arrows in your diagram and
represent the completion of one activity and the activation of
another.
Different Types of Transitions:-
a.
b.
c.
Version 1.0
Self-looping Transitions
<Default> Transitions
<Any> Transitions
27
Self-looping Transitions
Activity loops
back to itself
on Timeout
Version 1.0
28
<Default> Transitions
 The Workflow Engine follows a <Default> transition if no
other transition matching the completion result exists.
Version 1.0
29
<Any> Transitions
A p p ro v e
D o c um e nt
A p p ro v e d
S ta rt
R e v ie w
D o c um e nt
E n d (A p p ro v e )
Ye s
R e je c t
No
<A n y >
D o c um e nt
R e je c te d
E n d (R e je c t)
Lo g R e v ie w
 The Workflow Engine follows an <Any> transition regardless of what
completion result the activity returns. This allows you to include a
generic activity in the process that the Workflow Engine executes in
parallel with the result–specific activity.
Version 1.0
30
Workflow Item Type - Standard
Version 1.0
Version 1.0
31
Item Type - Standard

Version 1.0
The seeded item type “Standard” includes function and
notification activities provided by Oracle Workflow that can
be included in your process diagrams. These activities include:
 And/Or : In a process diagram where multiple branches
transition to a single node, use this logic can be to
progress further.
 Compare Date/Number/Text : Use this to compare an
item attribute with a constant value or another attribute.
 Wait : You can wait until a time period after this activity
is encountered or until a specific date or until a day of
the week/month.
 Block : The Block activity lets you pause a process until
some external program or manual step completes and
makes a call to the CompleteActivity Workflow Engine
API.
 Launch Process : This lets you launch another workflow
process from the current process.
 Noop : Use this activity in the workflow process, where
you want to place a node without performing an action.
32
Item Type – Standard (Contd.).





Version 1.0
Loop Counter : Use this to limit the no. of times workflow
engine transitions through a particular path.
Start/End : These activities mark the start or end of a
process and does not perform any action.
Vote Yes/No :This activity lets you send a notification to a
group of users in a role and tally the Yes/No responses
from those users. The results of the tally determine the
activity that the process transitions to next.
Continue Flow/Wait for Flow : One activity lets you
pause a process and the other signals the halted process
to continue. To use these activities, you place one activity
in the master process and the other in each detail
process.
Assign : Lets you assign a value to an item attribute.
33
Workflow Directory Services
Version 1.0
34
Directory Services
The directory service for Oracle Workflow is implemented as a set of
views that are mapped across the user tables of the underlying
application.
Create Roles:
Adhoc roles can be created using User Management Responsibility or
through PL/SQL in database. If you use PL/SQL to create roles make
sure you give all user names and role names in UPPER case to avoid
some problems
·
Script to Create a Adhoc Role
·
Script to Add user to existing Adhoc Role
·
Script to Remove user from existing Adhoc Role
·
Using Adhoc roles in workflow notifications
·
Adhoc Roles Tables
Version 1.0
35
Script to Create a Adhoc Role
DECLARE
lv_role varchar2(100) := 'DEMO_ROLE';
lv_role_desc varchar2(100) := 'DEMO_ROLE';
BEGIN
wf_directory.CreateAdHocRole(lv_role,
lv_role_desc,
NULL,
NULL,
'Role Demo for erpschool users',
'MAILHTML',
'NAME1 NAME2', --USER NAME SHOULD BE IN CAPS
NULL,
NULL,
'ACTIVE',
NULL);
dbms_output.put_line('Created Role' ||' '||lv_role);
End;
/
Version 1.0
36
Script to Add user to already existing Adhoc Role
DECLARE
v_role_name varchar2(100);
v_user_name varchar2(100);
BEGIN
v_role_name := 'DEMO_ROLE';
v_user_name := 'NAME3';
WF_DIRECTORY.AddUsersToAdHocRole(v_role_name,
v_user_name);
--USER NAMES SHOULD BE in CAPS
END;
Version 1.0
37
Script to Remove user from existing Adhoc Role
DECLARE
v_role_name varchar2(100);
v_user_name varchar2(100);
BEGIN
v_role_name := 'ERPSCHOOLS_DEMO_ROLE';
v_user_name := 'NAME3';
WF_DIRECTORY.RemoveUsersFromAdHocRole(v_role_name,
v_user_name); --USER NAMES in CAPS
END;
Version 1.0
38
Using Adhoc roles in workflow notifications
Navigation: File > Load Roles from Database
Select roles you want to use and then click OK.
Open the notification properties and then navigate to node tab, select
performer as the role you just created and loaded from database.
WF_USERS: Contains information on user names, display names,
notification preferences and e-mail addresses
WF_ROLES: Contains information on the roles of which users can be
members
WF_USER_ROLES: Contains information on the association of
users with roles
WF_LOCAL_ROLES
WF_USER_ROLE_ASSIGNMENTS
Version 1.0
39
Oracle Workflow Monitor
Version 1.0
40
Oracle Workflow Monitor
•Workflow administrators and users can view the progress of a work item in a workflow
process by connecting to the Workflow Monitor using a standard Web browse.
•The Self-Service Monitor in Oracle Applications lets you view and administer
workflows that you own. You can use the monitor to review the notifications sent by
a workflow, check the progress of the workflow by viewing the status diagram, and
examine participant responses to notifications sent by the workflow.
Version 1.0
41
Oracle Workflow Monitor
•The Workflow Monitor
displays an annotated view
of the process diagram for a
particular instance of a
workflow process
•Users can get a graphical
depiction of their work item
status.
•The Workflow Monitor also
displays a separate status
summary for the work item,
the process, and each activity
in the process.
Version 1.0
42
Oracle Workflow Architecture
Version 1.0
43
Workflow Architecture
Advanced
Queuing
Web
Notification
Worklist
Web
Monitor
Users Roles
Oracle
HTTP
Server
Web
Analysis
Tools
Mail
Applications
End-User
Client
Version 1.0
Directory
Services
Business
Event
System
Workflow
Builder
Workflow
Engine
Notification
System
Notification
Mailer
Application
Server
Workflow
XML
Loader
Workflow
Definitions
Loader
Oracle Workflow
Enabled Application
Workflow
Definition
Files
Oracle Server
Workflow
Development
Client
44
Workflow Architecture (Contd.).

Oracle Workflow Architecture
– Workflow Development Client
• The development client is a PC running on Windows. This platform is used to
create and modify Oracle Workflow process definitions using Workflow Builder.
• Workflow Definitions Loader lets you transfer process definitions between a
database and a flat file. This allows to source-control the processes as flat file.
• Workflow XML Loader lets you transfer XML definitions for Business Event
System objects between a database and a flat file.
– Oracle Server
• The Oracle Server platform is the Oracle RDBMS. This platform hosts the
business applications such as the Workflow Engine, Business Event System,
Notification System, and directory services.
– Application Server
• The application server is the environment outside of the RDBMS. This
environment includes ancillary services such as the Oracle9i Application Server
(Oracle9iAS) as the web server, and the Notification Mailer.
– End-User Client
• The end-user client is the PC that an end user uses to perform daily tasks. This
client includes browser support for reviewing and responding to notifications in
the Notification Worklist, the Oracle Workflow Monitor and e-mail applications.
Version 1.0
45
Workflow Item Attributes
Version 1.0
46
Attribute Data Types
You can assign the following data types to attributes:
– Text
– Number
– Date
– Lookup
– Role
– Attribute
– URL
– Form
– Document
– Event
Version 1.0
47
URL Attributes
•URL Attributes : When you create an
item attribute of type URL, specify a
frame target for the attribute.
•If you reference this item attribute as
the default value of a message attribute
in a message, the URL frame opens
according to what you specified as the
frame target.
•The value of a URL attribute can be a
text string or can be token substituted.
•A URL value is specified in the format:
http://<location>
Version 1.0
48
URL Attributes
•The Notification Details web page
supports message attributes of type
URL. These attributes appear in a
notification message body as a
hypertext link or below the message
as an attachment icon. When you
open your notification, you can click
the link or attachment icon to display
the URL according to the frame
target specified for the attribute.
Click the attachment icon to launch an attached URL
in the Web browser
Version 1.0
49
Form Attributes
•Form Attribute Values : The value for an
attribute of type form must be the
internal function name of an Oracle EBusiness Suite form function, together
with any optional form parameters.
•The default value for the form attribute
must be entered using the following
format:
•function_name:parameter1=value1
parameter2=value2
...parameterN=valueN
•The value of a form parameter can be a
text string enclosed in quotes (“ “) or can
be token substituted with another
predefined item type attribute in either of
the following ways:
•parameterN =
“&item_type_attribute”
•parameterN = “Value
&item_type_attribute”, where
&item_type_attribute represents the
rest of the value
Version 1.0
50
Form Attributes
Click the form icon to
launch an attached
Oracle E-Business Suite form
Version 1.0
•Form Attributes : The Notification
Details web page supports message
attributes of type form.
•These attributes appear in a
notification message as a form icon.
•When you open your notification,
you can click the attached form icon
to drill down to the referenced form.
•Form attributes cannot be attached
to e-mail notifications. To view form
attachments, you must view the
notification in the Notification
Details web page.
51
Document Attributes
•Document attribute: The value for a
document attribute should be a PL/SQL
document ie. a document representing
data from the database as a character
string, generated from a PL/SQL
procedure.
A PL/SQL document value is
specified in the format:
PLSQL:<procedure>/<docume
nt_identifier>
Version 1.0
52
Document Attributes
The Notification Details web page
supports message attributes of type
document. These attributes appear
in a notification message as an inline
link or as an attachment icon. When
you open your notification, you can
click a link or an attachment icon to
open the referenced document.
Click the attachment icon
to open an attached document
Version 1.0
53
Business Event System
Version 1.0
54
Business Event System
An Event is a business activity that takes place in your system viz:
A Purchase Order is approved
A Sales Order is Booked
When an event occurs, you may want to do some processing by means
of calling a Workflow or by executing some PL/SQL Function. Such
a workflow or a PL/SQL is called subscription.
eg: Booking an Order is an event and Sending an Acknowledgement to
the Customer is a subscription.
Version 1.0
55
Create Event and Subscription
Version 1.0
56
Name the pl/sql function
which we are attaching to the
event. You may even attach a
workflow type and process to
the event.
Version 1.0
57
Raise Business Event
Raise the Business event using wf_event.RAISE function from
anonymous block or from a trigger when a Business transaction
happens. As per the event subscription the pl/sql function will be
executed or the workflow process will be executed.
–
wf_event.RAISE(p_event_name => x_event_name
,p_event_key => x_event_key
,p_parameters => x_event_parameter_list
);
Version 1.0
58
Workflow Development Approaches
Version 1.0
59
Workflow Approaches
Two approaches for creating work flow: -
1.
Bottom Up Approach
2.
Top Down Approach
Version 1.0
60
Bottom Up Approach
1.
Define the item type of the process.
2.
Define the item type attributes for the process.
3.
Define lookup types and lookup codes.
4.
Define messages.
5.
Define message attributes.
6.
Define the activities in the process as Function, Notification or Process.
7.
Diagram the relationship of the activities.
Version 1.0
61
Top Down Approach
1.
Use the Quick Start Wizard to create the process framework.
2.
Define activities without underlying dependencies.
3.
Diagram the relationship of the activities.
4.
Define item type attributes for the process.
5.
Define lookup types and lookup codes.
6.
Define messages.
7.
Define message attributes.
8. Update processes, functions, and notifications with underlying components.
Version 1.0
62
References
1. Oracle Applications Documentation library - Oracle workflow
Developer's Guide, http://downloaduk.oracle.com/docs/cd/B25516_08/current/html/docset.html
Version 1.0
63