Professional Documents
Culture Documents
27-Jan-2008
Telecom3/ Motorola
vivekanandan.ms@tcs.com
17 March 2009
TCS Internal
Agenda
Workflow Notifications
Example
TCS Internal
17 March 2009
Oracle Workflow automates and streamlines business processes both within and beyond
the enterprise, supporting traditional applications based workflow as well as e-business
integration workflow.
TCS Internal
17 March 2009
TCS Internal
17 March 2009
TCS Internal
17 March 2009
Standalone
With the Oracle Database (both Standard Edition and Enterprise Edition)
With the Oracle Application Server
With the Oracle Collaboration Suite
TCS Internal
17 March 2009
TCS Internal
17 March 2009
Oracle workflow Builder is a graphical tool that lets you create, view, or modify a business process
with simple drag and drop operations.
Using the workflow Builder, you can create and modify all workflow objects, including activities,
item types, and messages.
The workflow definition files can either directly be saved to the database or can be saved as a flat
file.
Oracle workflow builder consists of two parts:
Navigator tree
Process Diagram
TCS Internal
17 March 2009
It 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.
In addition to being a standalone server program, the workflow definitions Loader is also
integrated into Oracle workflow Builder, allowing you to open and save workflow definitions in both
a database and file.
TCS Internal
17 March 2009
Oracle Server
Workflow Engine
The workflow engine is a set of tables and PL/SQL stored procedures that manages the execution
of a workflow process and tracks work in process.
Manages the state of activities for each process instance
Calls the Notification System to send notification messages
Executes function activities automatically
Supports results-based branches, parallel branches, loops, and sub-processes
Maintains a history of completed activities.
Detects error conditions and executes error processes.
TCS Internal
17 March 2009
10
Oracle Server
Business Event System
The Business Event System is an application service that uses the Oracle Advanced Queuing
(AQ) infrastructure to communicate business events between systems.
Workflow with the business event system can act as a system integration messaging hub that
relays business event messages among systems
The Business Event System consists of the Event Manager, which lets you register subscriptions
to significant events, and event activities, which let you model business events within workflow
processes
When a local event occurs, the subscribing code is executed in the same transaction as the code
that raised the event.
Subscription processing can include executing custom code on the event information, sending
event information to a workflow process, and sending event information to other queues or
systems.
TCS Internal
17 March 2009
11
Oracle Server
Notification System
Routes notifications to a role, which can be a single user or group of users
Enables users to receive and respond to notifications using an e-mail application or web browser
of choice.
sends e-mail notifications and processes e-mail responses using the JavaMail API
allows any users with access to the internet to be included in a workflow process
TCS Internal
17 March 2009
12
Oracle Server
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.
WF_USERS: Contains information on user names, display names, notification preferences and email 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
A role could be a user, an employee, a responsibility or a holder of a position in the position
hierarchy
If the workflow is embedded in Oracle Applications, then the workflow directory service views are
automatically based on a unified oracle applications environment.
TCS Internal
17 March 2009
13
Application Server
Application Server
The application server is the environment outside of the RDBMS.
This environment includes ancillary services such as the Oracle Application Server (OracleAS) as
the web server, and notification mailers
Notification Mailer
A notification mailer performs e-mail send and response processing for the Oracle Workflow
Notification System, using the JavaMail API.
Oracle Workflow Manager can be used to manage the notification mailers.
TCS Internal
17 March 2009
14
End-User Client
End-User Client
The end-user client is the workstation or PC that an end user uses to perform daily tasks.
This client includes browser support for reviewing and responding to notifications in the Worklist,
the Workflow Monitor, and other Workflow web pages, as well as mail applications for reviewing
and responding to notifications by e-mail.
It also includes the Workflow Manager component accessed through Oracle Applications
Manager (OAM) for the version of Oracle Workflow embedded in Oracle E-Business Suite.
TCS Internal
17 March 2009
15
TCS Internal
17 March 2009
16
Item Type
Item Types
An item type is a classification of the components that make up a workflow process.
Any component that is created for a process, such as a function activity or a message, with a
particular item type must be associated with an Item Type.
TCS Internal
17 March 2009
17
Internal Name
The internal name of an object is the name that will always be referred to within the workflow.
This must be unique within the item types.
TCS Internal
17 March 2009
18
TCS Internal
17 March 2009
19
An item type can have more than one runnable process activity associated with it.
PL/SQL selector functions are used to determine which process activity to run in a particular
situation.
A selector function can be extended to be a general callback function so that item type context
information can be reset as needed if the SQL session is interrupted.
TCS Internal
17 March 2009
20
TCS Internal
17 March 2009
21
TCS Internal
17 March 2009
22
TCS Internal
17 March 2009
23
TCS Internal
17 March 2009
24
TCS Internal
17 March 2009
25
TCS Internal
17 March 2009
26
TCS Internal
17 March 2009
27
TCS Internal
17 March 2009
28
TCS Internal
17 March 2009
29
The attribute value is an Oracle Applications internal form function name and its optional form
function parameters.
This attribute type is not relevant for the standalone version of Oracle Workflow.
If you include a form-type attribute in a notification message as a message attribute, the
notification, when viewed from the Notification Details Web page, displays an attached form icon
that lets users drill down to the referenced form
TCS Internal
17 March 2009
30
TCS Internal
17 March 2009
31
Document Attributes
Document Attributes
Attributes of type document can represent data from the database in various formats, generated
from a PL/SQL procedure.
PL/SQL document: Represents data as a character string
PL/SQL CLOB document: Represents data as a character large object (CLOB)
PL/SQL BLOB document: Represents data as a
binary large object (BLOB)
These attributes can appear in a notification message as an inline link (PL/SQL and PL/SQL CLOB
documents only) or as an attachment icon (PL/SQL, PL/SQL CLOB, and PL/SQL BLOB
documents).
When users view their notifications, they can click a link or an attachment icon to open the
referenced document.
TCS Internal
17 March 2009
32
Document Attributes
TCS Internal
17 March 2009
33
URL Attributes
URL Attributes
An attribute of type URL references a Universal Resource Locator (URL) to a network location
such as a web page.
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.
These attributes appear in a notification message body as an inline hypertext link or below the
message as an attachment icon.
TCS Internal
17 March 2009
34
URL Attributes
TCS Internal
17 March 2009
35
TCS Internal
17 March 2009
36
TCS Internal
17 March 2009
37
TCS Internal
17 March 2009
38
TCS Internal
17 March 2009
39
TCS Internal
17 March 2009
40
TCS Internal
17 March 2009
41
TCS Internal
17 March 2009
42
TCS Internal
17 March 2009
43
TCS Internal
17 March 2009
44
TCS Internal
17 March 2009
45
TCS Internal
17 March 2009
46
TCS Internal
17 March 2009
47
TCS Internal
17 March 2009
48
TCS Internal
17 March 2009
49
TCS Internal
17 March 2009
50
TCS Internal
17 March 2009
51
TCS Internal
17 March 2009
52
TCS Internal
17 March 2009
53
TCS Internal
17 March 2009
54
TCS Internal
17 March 2009
55
TCS Internal
17 March 2009
56
TCS Internal
17 March 2009
57
TCS Internal
17 March 2009
58
TCS Internal
17 March 2009
59
TCS Internal
17 March 2009
60
TCS Internal
17 March 2009
61
TCS Internal
17 March 2009
62
17 March 2009
63
TCS Internal
17 March 2009
64
TCS Internal
17 March 2009
65
TCS Internal
17 March 2009
66
TCS Internal
17 March 2009
67
WF_ENGINE.CompleteActivity notifies the engine that the specified activity has been completed
for the item, identifying the activity by the activity node label name.
WF_ENGINE.BeginActivity determines if the specified activity can currently be performed and
raises an exception if it cannot.
WF_ENGINE.AssignActivity assigns an activity to another performer.
WF_ENGINE.AbortProcess aborts process execution and cancels outstanding notifications.
WF_ENGINE.SuspendProcess suspends process execution so that users cannot transition items
to new activities.
WF_ENGINE.ResumeProcess returns a suspended process to normal execution status.
WF_ENGINE.ItemStatus returns the status and results for the root process of the specified item
instance.
TCS Internal
17 March 2009
68
TCS Internal
17 March 2009
69
TCS Internal
17 March 2009
70
TCS Internal
17 March 2009
71
TCS Internal
17 March 2009
72
Package Spec
Package Body
Training workflow
Initiate workflow
TCS Internal
17 March 2009
73
TCS Internal
17 March 2009
74
TCS Internal
17 March 2009
75
As a workflow developer, you can use access protection to allow or discourage customers of
your workflows from modifying your seed data workflow definitions.
As a customer of predefined workflows provided by Oracle, you can use access protection to
preserve valid customizations you have made to a predefined workflow during a workflow
definition upgrade.
TCS Internal
17 March 2009
76
TCS Internal
17 March 2009
77
TCS Internal
17 March 2009
78
Protection Levels
If you protect an object against customization, you effectively assign the object a protection level
equal to your current access level.
Objects protected against customizations are considered seed data.
Only users operating at an access level equal to or lower than the protection level of the object
can modify the object.
Users operating at an access level greater than the protection level of the object will see a small
lock on the icon for the object in the navigator tree, indicating that the object is read-only.
TCS Internal
17 March 2009
79
Customization Levels
If you set an object to be customizable, its protection level is set to 1000.
The customization level of an object is set to the access level of the initial user who customizes
the object.
A customized object is locked from further modification except from users with access levels
equal to the customization level of the object.
The customization level is relevant only with respect to unprotected workflow objects.
If an object is protected at a certain level, it shouldnt be modified at all except by an access level
equal to or less than the protected level of the object.
You can change your access level in the About Oracle Workflow Builder dialog box available
from the Help menu. Enter an integer value in the Access Level field and click OK.
TCS Internal
17 March 2009
80
Customization Levels
TCS Internal
17 March 2009
81
Select the Access tab for an object in Oracle Workflow Builder to display the Access property page.
The indicator bar provides a visual range of access levels that can edit the object.
The Levels region shows the customization, access, and protection levels of the object based on the settings in
the Options region.
Use the Options region to set the protection and customization levels of an object.
Preserve Customizations
Lock at this Access Level
The indicator bar provides a visual range of access levels that can edit the object Black vertical line: Current access level
White range: Cannot edit the object
Solid green: Can edit the object
Cross-hatch green: Usually cannot modify the object because it has been customized, but can now do
so because Oracle Workflow Builder is set to Upload mode so that customized objects can be modified
TCS Internal
17 March 2009
82
TCS Internal
17 March 2009
83
TCS Internal
17 March 2009
84
Preserve
Customizations
Lock at this
Access Level
Both
Customization = 0
Access = 100
Protection = 1000
Customization = 100
Access = 100
Protection = 1000
Customization = 0
Access = 100
Protection = 100
Customization = 100
Access = 100
Protection = 100
TCS Internal
Edit Range
0-1000
100-1000
0-100
100
17 March 2009
85
Preserving Customizations
To ensure that your customizations are preserved during an upgrade of Oracle Workflow:
Check your access level before you make your modifications to the predefined workflow process.
Oracle E-Business Suite: 100
Standalone Oracle Workflow: 100 or higher
Set the appropriate options in the Access property page for any object that you modify.
Oracle E-Business Suite: Select both the Preserve Customizations and Lock at this
Access Level options.
Standalone Oracle Workflow: Select the Preserve Customizations option. Optionally
select the Lock at this Access Level option.
During an Oracle Workflow seed data upgrade, the Workflow Definitions Loader is
always run in Upgrade mode at an access level less than 100. As a result, the upgrade
will not overwrite any object with a customization level of 100 or higher
TCS Internal
17 March 2009
86
TCS Internal
17 March 2009
87
TCS Internal
17 March 2009
88
Status Monitor
Navigation
TCS Internal
17 March 2009
89
Status Monitor
Navigation
TCS Internal
17 March 2009
90
Status Monitor
TCS Internal
17 March 2009
91
Status Monitor
TCS Internal
17 March 2009
92
Status Monitor
TCS Internal
17 March 2009
93
Status Monitor
TCS Internal
17 March 2009
94
Status Monitor
TCS Internal
17 March 2009
95
Status Monitor
TCS Internal
17 March 2009
96
Status Monitor
TCS Internal
17 March 2009
97
Status Monitor
TCS Internal
17 March 2009
98
Workflow Notifications
TCS Internal
17 March 2009
99
Workflow Notifications
The Oracle Workflow Worklist Web pages let you view and respond to your notifications.
You can receive individual e-mail notifications
An e-mail notification contains all the details of the notification, including instructions on how to
respond to the notification.
TCS Internal
17 March 2009
100
TCS Internal
17 March 2009
101
TCS Internal
17 March 2009
102
Workflow Roles
Oracle Workflow roles are stored in the database, in the Oracle Workflow directory service.
The workflow Roles are referenced in the Workflow Process
One example of how roles are referenced in a workflow process is when you include a notification
activity in a process as a node. You must assign that node to a performer. The performer can be a
designated role or an item type attribute that dynamically returns a role.
To assign a performer to a role, you must initially load the roles from your Oracle Workflow
database into your Oracle Workflow Builder session.
Oracle Workflow allows you to create new ad hoc users and roles within a workflow process, to
add to your directory service. To do so, you define a function activity that makes a server-side call
to the appropriate WF_DIRECTORY API and include that function activity in your process
diagram.
TCS Internal
17 March 2009
103
TCS Internal
17 March 2009
104
GetRoleUsers
CreateAdHocRole
GetUserRoles
AddUsersToAdHocRole
IsPerformer
RemoveUsersFromAdHocRole
UserActive
SetAdHocUserStatus
GetUserName
SetAdHocRoleStatus
GetRoleName
SetAdHocUserAttr
GetRoleDisplayName
SetAdHocRoleAttr
TCS Internal
17 March 2009
105
Thank You
TCS Internal
17 March 2009
106