Working with the Business Process Monitor

This chapter provides overviews of the business process monitor, business process development and annotation guidelines, and discusses how to:

Click to jump to parent topicUnderstanding the Business Process Monitor

This section discusses:

Click to jump to top of pageClick to jump to parent topicBusiness Process Monitor Overview

The business process monitor provides functional users with the ability to view status information of business process instances which are initiated successfully. From the monitor, users see the progress of process instances in the form of milestones predefined in the business process at the time of development. Milestones are business process activities with annotations and they represent the culmination of significant events that happen in a process. You can use annotations to determine when, to whom, and in what name a milestone should be displayed on the monitor.

Users can launch the monitor from multiple places: the transaction in which the process was initiated, the 360-Degree View, and the corresponding worklist entry on My Worklist.

When a user clicks a business process instance link to access the monitor, the business process monitor retrieves information of the instance from the BPEL Engine (by supplying the instance ID). The information includes conversation ID, node name, process name and description, transaction name, link and description, the submitted by value, and the Java Naming Directory Interface (JNDI) details (based on the node name) that are provided on the JNDI Details page. The monitor then parses the XML data that is collected (removing the details regarding unannotated and nonviewable activities and displays the clean, processed milestone data accordingly.

The business process monitor is designed to provide monitoring capabilities that are sufficient to meet the needs of functional users, and it does not replace the BPEL Console monitor (external to the CRM system), which shows complete process details in a graphical format and is targeted for the technical-savvy audience to troubleshoot issues.

Note. The business process monitor provides status information for asynchronous process instances only. Information for synchronous process instances is not available on the monitor.

In order for the BPEL Engine to collect the necessary details needed for the business process monitor to display relevant details properly, you must set the value of the auditLevel property for the BPEL domain to production. Use the Manage BPEL Domain link that is available on the BPEL Console to set the property value.

Click to jump to top of pageClick to jump to parent topicMilestone Annotation

The business process monitor supports the display of two types of BPEL activities: invoke and scope. An invoke activity can call out to either other business processes or web services. A scope activity is a structured activity that can contain multiple activities (including scope). Functionally, a scope activity can be used to group related activities together and marked as a milestone of a business process.

In order for business process information to be displayed on the monitor in an accurate and effective manner, you must identify milestones in business processes and they must be annotated according to rules and guidelines. Also, make sure that the end users can comprehend the level of completion based on milestones details. Two types of annotation categories are available: general and analysis. Use the general category for annotating milestones to be shown on the monitor. This table lists the annotation attributes that are supported by the business process monitor:

Annotation Attribute

Value

Description

EUM_MILESTONE_TYPE

NORMAL and EXCEPTION

Determines whether the activity should be shown as a normal milestone or as an exception milestone. A normal milestone will always be visible whereas an exception milestone will only be shown if it has been executed.

Only scope and invoke activities are supported. For invoke child activities, only in-domain asynchronous child processes are supported.

EUM_VIEW_INTERNAL

Y and N

Determines who can see the milestone. If this attribute is not specified, everyone can see this milestone.

EUM_NAME

string type

Specifies the name of the milestone to be displayed on the monitor. The form of the name can be either a simple string (non-localized) or a message set entry having the form MessageSetNumber;MessageNumber;DefaultMessageString

Note. Predefined values for these supported annotation attributes are case sensitive. If you enter a value for an attribute that is not predefined, the attribute will be ignored.

You can make milestones visible to some but not all users by using annotations. The system delivers two views for users to access information on the monitor: external for customers and internal for agents. By default, any user who is associated with a delivered business process role has access to all information on the monitor and can switch between these two user views. If any of these users has a role and it is linked to the permission list that is specified for the external user view, then the user cannot see any internal milestones, which have the EUM_VIEW_INTERNAL annotation attribute set to Y. Using this attribute and permission list, you can provide a link on self-service pages for customers to access the monitor and view process instance information that is not intended for internal viewership. By default, all milestones are available for everyone who has a business process role unless specified in the annotation attribute. The CRM system provides a pagelet for self-service users to access cases and orders for their insurance policies and financial accounts from the self-service application.

Note. The business process monitor does not display the status of milestones that create manual worklists and are currently waiting for a response. The monitor can associate the worklist item with the milestone only after the worklist item is completed. The monitor cannot modify or cancel manual worklists created by milestones.

See Understanding Business Process Development and Annotation Guidelines.

Click to jump to parent topicUnderstanding Business Process Development and Annotation Guidelines

This section discusses:

Click to jump to top of pageClick to jump to parent topicDevelopment and Annotation Guidelines

The business process monitor displays business process status information using milestones. During the design phase of business process development, it is important to identify places where status checks make sense and add milestones to these areas. Milestones must be annotated in accordance to CRM-specific rules and guidelines, otherwise data maybe unavailable or displayed incorrectly on the monitor.

Note. This section describes development and annotation considerations from the perspective of the business process monitor and does not document the actual development and annotation process. Refer to the Oracle BPEL Process Manager documentation for more information on how to annotate a business process.

You use the annotation capabilities provided by the Oracle BPEL Designer to annotate milestones in a business process. In order to generate a useful and functional representation of business processes on the business process monitor, certain guidelines on how to design and annotate processes apply. It is recommended that these guidelines be observed to optimize the monitor's displaying capabilities. In addition to guidelines, rules exist and they must be followed strictly so that data can be displayed properly.

This table lists rules that apply when developing and annotating business processes that will be viewed by users on the business process monitor:

Rule

Description

Note

Explicit Milestone

By default, all activities are considered invisible on the business process monitor unless marked otherwise. Developers have to turn the option on explicitly.

A process without any annotation only has overall process and state information (any information below this level is not available).

Top Level shown on default

By default, only the top-level milestone will be shown when the business process monitor is opened initially. If visible inner milestones are available, users have to expand each level and access them manually.

N/A

Milestone Restriction

Only properly annotated scope and invoke activities will be shown.

Other annotated activities will be ignored.

Sensor Data Rule

Sensor to database should be used to pass data back to the monitor. Sensor name must start with EUM_.

The business process monitor ignores any sensor with a name that does not start with EUM_.

Scope Sensor

Only sensors on annotated scopes can be retrieved by the monitor from the BPEL engine.

N/A

Exception Milestone

Milestones must be marked as Exception if they should not show unless they have been executed.

N/A

Children Milestone

If an invoke activity is annotated and the invoked process is an in-domain asynchronous business process, that means the milestone contains a child process and users can drill down to see additional milestones.

Only in-domain asynchronous business process can be drillable child processes.

Process Level Status

A business process can set a process level status through the setMetadata() Java call using the outcome mechanism.

Do not use the setStatus() call that is available because it is used internally by the BPEL Engine to denote the business process activity that is current in progress.

No Parsing

The business process monitor does not parse or interpret a business process to determine whether or not a milestone (marked as normal) will be executed given the current state. Therefore, no milestones will be eliminated from the display if their type is normal.

N/A

No milestones inside a loop

Sensor data within a milestone does not display correctly.

N/A

This table lists guidelines that apply when developing and annotating business processes that will be viewed by users on the business process monitor. It is highly recommended that these guidelines be followed for the monitor to display data properly:

Guideline

Description

Note

Root Visible

All root level activities should be annotated to be a normal milestone for everyone.

This guideline provides a protection against any activities that are not marked to be shown at the lower level because one high level step will always show something. If the guideline is not followed, there may be instances where the overall state of the process does not reflect in the currently visible milestones.

Root Visible to All

Some, if not all, root level milestones should be seen by everyone.

This guideline eliminates problems where either there is no data to be shown to an external user, or milestones at the root level are not visible to certain users so they may be confused. If this guideline is not followed, there may be instances where the overall status is reporting problems but users don't see them in any of the steps.

Visibility Hierarchy

Inner milestones should have equal or greater restricted visibility as their parent.

This guideline is to eliminate an inner milestone from being visible to users while its parent is not visible. Because the parent will not be displayed, therefore users will not be able to drill down the parent milestone to see the inner milestones.

Milestone/Worklist mapping

Each milestone shown on the business process monitor should correspond to only one worklist activity. The milestone should make the worklist information available to the monitor via the sensor mechanism.

If a milestone contains multiple worklist activities, the milestone can only select one worklist to be exposed to the business process monitor. Create a milestone for each worklist activity that needs to be displayed on the business process monitor.

Parallel Flow

No visual indication on the business process monitor to show if milestones are actually executing in parallel.

It is highly recommended to wrap parallel milestones within a scope and make that scope a milestone with a name or description to state that milestones within it are executed concurrently.

Note that Oracle provides multilanguage capabilities for data (such as outcomes) that is stored in the PeopleSoft CRM system; however, internalization of data from the Oracle BPEL Process Manager needs to be specified as part of the business process design.

Click to jump to top of pageClick to jump to parent topicDevelopment and Annotation Examples

This section discusses examples of some of the common business process designs that can cause issues to the business process monitor display:

Activities Without Annotations

In this example, suppose the business process has two annotated activities to display on the monitor: Scope_1 and callbackClient. However, the other intermediary activity, Java_Embedding_1, is not.

Suppose that the business process is currently in progress (overall state is In Progress) and Java_Embedding_1 is being executed, and this is the status information available on the monitor:

Milestone

State

Outcome

Start Date

End Date

Scope_1

Completed

-

May 2, 2005

May 2, 2005

callbackClient

Not Yet Started

-

-

-

Notice that none of the milestones being shown are in the In Progress state; the overall and milestone-level states are not synchronized.

Now if the business process fails in Java_Embedding_1, an activity that is not displayed, the overall state of the business process becomes Completed but failed. However, users cannot see this information at the milestone level because that particular milestone is not displayed.

To resolve the issue, adhere to the annotation guidelines and rules when designing activities, and make sure to use only scope or invoke activities that are supported by the monitor. In this scenario, put Java_Embedding_1 in a scope and annotate the scope.

Conditional Activities

In this example, the business process contains four annotated activities to display on the monitor: CheckSchool, CheckWorkHistory, Confirmation, and SendResponse. CheckSchool and CheckWorkHistory are conditional activities, which means only one of them runs as a result of the condition evaluation. The scope activity, CheckApplication, is not annotated as a milestone.

Suppose that the business process is currently in progress (overall state is In Progress), and this is the status information available on the monitor:

Milestone

State

Outcome

Start Date

End Date

CheckSchool

Completed

Okay

May 2, 2005

May 10, 2005

CheckWorkHistory

Not Yet Started

-

-

-

Confirmation

In Progress

-

May 11, 2005

-

SendResponse

Not Yet Started

-

-

-

The monitor does not indicate that CheckSchool and CheckWorkHistory are mutually exclusive. CheckWorkHistory would not run if CheckSchool did and the monitor reflects the states correctly. However, users cannot see the relationship of these two activities and either activity always has the status of Not Yet Started.

To resolve this issue, try putting a switch activity in the scope activity and mark the scope as a milestone. Within the switch statement, do not mark the conditional activities as normal milestones. If it is important to show conditional activities as milestones, make them exception milestones.

Parallel Activities

In this example, this business process has five annotated activities to display on the monitor: VerifyInput, CheckCredit, CheckWork, CheckBank, and callbackClient. The flow activity is not enclosed within a scope activity.

Suppose that the business process is currently in progress (overall state is In Progress), and this is the status information available on the monitor:

Milestone

State

Outcome

Start Date

End Date

VerifyInput

Completed

Successfully

May 1, 2005

May 2, 2005

CheckCredit

Completed

Okay

May 2, 2005

May 2, 2005

CheckWork

In Progress

-

May 2, 2005

-

CheckBank

Completed

Successfully

May 2, 2005

May 10, 2005

callbackClient

Not Yet Started

-

-

-

The monitor does not indicate that CheckCredit, CheckWork, and CheckBank are parallel activities; therefore, it does not explain why an activity completed before the one preceding it.

To resolve the issue, put the flow activity within a scope activity (CheckApplication) and annotate the scope as a milestone with a name indicating that it is a parallel activity, for example, CheckApplication (P). A cleaner representation of the statuses is displayed on the monitor like so:

Milestone

State

Outcome

Start Date

End Date

VerifyInput

Completed

Successfully

May 1, 2005

May 2, 2005

CheckApplication (P)

In Progress

-

May 2, 2005

-

- CheckCredit

Completed

Okay

May 2, 2005

May 2, 2005

- CheckWork

In Progress

-

May 2, 2005

-

- CheckBank

Completed

Successfully

May 2, 2005

May 10, 2005

callbackClient

Not Yet Started

-

-

-

Exception Activities

In this example, the business process has these annotated activities to display on the monitor: Reservation, CarReservation, HotelReservation, ReservationError, Rollback, and callbackClient. Both ReservationError and Rollback are activities that occur when exceptions happen.

Suppose that the business process is currently in progress (overall state is In Progress), and this is the status information available on the monitor:

Milestone

State

Outcome

Start Date

End Date

Reservation

In Progress

-

May 2, 2005

-

- ReservationError

Not Yet Started

-

-

-

- Rollback

Not Yet Started

-

-

-

- HotelReservation

Completed

Successfully

May 2, 2005

May 2, 2005

- CarReservation

In Progress

-

May 2, 2005

-

callbackClient

Not Yet Started

-

-

-

The monitor does not indicate that both ReservationError and Rollback activities do not happen under normal circumstances.

To resolve the issue, mark them as exception milestones so they don't appear on the monitor until they are executed.

Click to jump to top of pageClick to jump to parent topicBusiness Process Monitor Error Messages

The monitor displays an error on the browser when a problem with data retrieval occurs. If the error takes place while refreshing the monitor (which has some data), the system displays the appropriate error message and the data that is being shown is not deleted.

This table lists several common errors and the messages that appear when the errors occur:

Error

Error Message Displayed on Browser

Bad or invalid XML data that is returned from the BPEL Server

Invalid data returned. The process being retrieved contains invalid data and might need to be redesigned. Contact your administrator.

Cannot connect to the BPEL Server

We are unable to connect to the server. Either the network is down, or the server is down. Contact your administrator.

Invalid ID

The ID passed for this process is invalid. This may be a design issue with the process or an application issue. Contact your administrator.

Stale ID

The ID for the process instance belongs to a process whose schema does not exist in the system anymore.

Missing BPEL Server JNDI information

Child business processes may invoke business process on the BPEL Engine that is not identified in the BPEL Engine mapping table.

Click to jump to parent topicSetting Up the Business Process Monitor

To set up the business process monitor, use the JNDI Details (RBB_JNDI_SETUP) and View Setup (RBB_VIEW_SETUP) components.

This section discusses how to:

Click to jump to top of pageClick to jump to parent topicPages Used to Set Up the Business Process Monitor

Page Name

Definition Name

Navigation

Usage

JNDI Details

RBB_BPEL_JNDI

Set Up CRM, Common Definitions, Business Process, Infrastructure, JNDI Details, JNDI Details

Specify JNDI connection details to the BPEL Process Manager server.

View Setup

RBB_VIEW_SETUP

Set Up CRM, Common Definitions, Business Process, End-User Monitor, View Setup, View Setup

Define user views to see data on the business process monitor.

User Test Page

RBB_EUM_TEST_PG

Set Up CRM, Common Definitions, Business Process, End-User Monitor, User Test Page, User Test Page

Test annotations in business processes.

Note. This page is intended only for business process developers to test the annotations the corresponding transactional pages are ready for use.

Click to jump to top of pageClick to jump to parent topicSpecifying JNDI Connection Details

Access the JNDI Details page (Set Up CRM, Common Definitions, Business Process, Infrastructure, JNDI Details, JNDI Details).

Both the business process monitor and the Java module use this information to query the BPEL Process Manager server. The business process monitor uses this information to get the status information of business process instances and their activities.

ORMI URL (Oracle remote method invocation uniform resource locator) and ORMI Port

Enter the of the URL and port number of the BPEL Engine.

The ORMI URL can vary based on the installation of the BPEL engine. Examine the local environment for details on the ORMI URL. It could be as simple as orml://hostname/orabpel or a more complex URL in a managed, middle-tier environment like opmn:ormi://adas0144.peoplesoft.com:6003:oc4j_soa/orabpel

The default ORMI port can vary based on platform: it may be 23791 for a simple environment or 6003 for a middle-tier environment. See your environment for details.

 

Username and Password

Enter the JNDI user name and password to access the JNDI interface.

PeopleTools provides an API to retrieve the BPEL node, the domain name, and password for a given operation.

Click to jump to top of pageClick to jump to parent topicDefining User Views

Access the View Setup page (Set Up CRM, Common Definitions, Business Process, End-User Monitor, View Setup, View Setup).

The system delivers two views for displaying data on the business process monitor, external user and internal user.

View Name

Enter the names for both external and internal user views. These names appear as values for the View field on the business process monitor.

Permission List

Select the permission list that is assigned to roles with which external users need to be associated.

Users who are linked to this permission list cannot view milestones that are specified for an internal audience.

Click to jump to top of pageClick to jump to parent topicTesting Business Process Annotations

Access the User Test Page page (Set Up CRM, Common Definitions, Business Process, End-User Monitor, User Test Page, User Test Page).

Note. As delivered, this page is not initially available via menu navigation. You may need to enable the page by adjusting its Content Reference (CREF). Navigate to PeopleTools, Portal, Structure and Content to disable hiding this page from navigation.

Use this page to test if business processes are annotated properly to be displayed on the business process monitor.

Conversation ID

Enter the conversation ID of the business process to be tested.

You can test a business process in the BPEL Console by initiating a test instance manually. Use the conversation ID that you specify there to test the business process annotation on this page.

Monitor Mode

Always use the HTML mode.

Processor AppClass (processor application class)

Always leave the field blank.

Click to jump to parent topicMonitoring Business Processes

This section discusses how to:

Click to jump to top of pageClick to jump to parent topicPages Used to Monitor Business Processes

Page Name

Definition Name

Navigation

Usage

Related Actions (page name varies by component: refer to the documentation for the parent component).

RO_ASSOCIATION

RC_ASSOCIATION

Varies by component: refer to the documentation for the parent component.

Access initiated business process instances and resubmit those that are not initiated.

Business Process Monitor

RBB_EUM_CONVID

Click the service operation link on a component (that can initiate business processes) at runtime.

Monitor business process instances.

Click to jump to top of pageClick to jump to parent topicAccessing Business Process Instances At Runtime

Access a transaction that has initiated business processes (navigation varies by component: refer to the documentation for the parent component).

Click the service operation link to access the business process monitor and view details of the process instance.

Click to jump to top of pageClick to jump to parent topicMonitoring Business Process Instances

Access the Business Process Monitor page (click the service operation link on a component that can initiate business processes at runtime).

To be able to access the business process monitor, users must have roles that are associated with any of these permission lists: CRRBBADMIN, CRRBBSU, or CRRBBUSER.

The top part of the page displays basic information about the business process and the transaction from which the said process is initiated. The page also shows a navigation path of the process when users are currently viewing steps in nested nodes. The path gives users an idea where they are in the process and provides a quick way to go back to the parent node if needed.

Collapse

Click to collapse all nodes underneath the same parent node.

Only two levels are shown when the grid is in collapsed mode. This button is not available if there are no collapsible nodes or the customer view is in use.

Expand

Click to expand all nodes in the grid.

This button is not available if there are no expandable nodes or the customer view is in use.

Refresh

Click to refresh the grid.

This button is not available if all the process steps displayed are completed.

Highlight State

Select a state for which steps that are in it are highlighted in the grid.

Values are Complete, In Progress (default value), and Not Yet Started. This field is not available if all the process steps displayed are completed.

If you want to highlight line items based on the selected highlighted state, expand the tree structure first. That way the browser is aware of all the nested milestones and can highlight them as necessary.

View

Select a view in which data is presented.

The system delivers two views: Customer (external) and Agent (internal) views. This field is not available if the user is associated with only one view. For example, customers are usually given the customer view only; therefore, this field does not show if a customer accesses the monitor. Agents, on the other hand, are given both views because they may also need to know what a customer sees.

The customer view enables users to view process steps at a high level. The structure is not expandable or collapsible, and there will be no links in this view to get to more information.

Process Steps

Displays milestones (scopes) of all activities within the business process. Child processes are shown as links; click to access the content of the selected child process in the same browser window.

State

Displays the status of the activity that is returned from the BPEL server.

Values are Complete, In Progress, and Not Yet Started.

Outcome

Displays any outcome that is returned from the CRM application to the BPEL server, if applicable.

Details

Click to access the worklist outcome page to view the outcome and any application-specific information that pertains to the corresponding completed worklist entry. Information is read-only.

Start Time and End Time

Displays the start and end times of the activity or process that are returned from the BPEL server, if available.

Launch BPEL Console

Click to launch the Oracle BPEL Console where users (typically administrators or developers) can manage and debug the business process.

This link is available to users who are associated with any of these permission lists: CRRBB1000, CRRBB1100, or ALLPAGES.

Click to jump to top of pageClick to jump to parent topicViewing Worklist Entry Details

See Completing Business Process Worklist Entries.