enabling real-time operational analytics
TRANSCRIPT
-
7/31/2019 Enabling Real-Time Operational Analytics
1/19
Enabling Real Time OperationalAnalytics: Integration between OracleE-Business Suite 11.5.10 and OracleBAM 10.1.2
Open Notifications OperationalDashboard
Technical White Paper
November 2005
-
7/31/2019 Enabling Real-Time Operational Analytics
2/19
Enabling Real Time Operational Analytics:Integration between Oracle E-BusinessSuite 11.5.10 and Oracle BAM 10.1.2
Introduction........................................................................................................2Oracle Business Activity Monitoring ..............................................................3Business Event System......................................................................................3Business Event System and Oracle BAM Integration..................................4
Oracle E-Business Suite Setup ....................................................................5Create a Queue with the JMS Provider Payload Type ........................5Create an Agent within the Business Event System............................5Create an Event Subscription .................................................................7
Standalone OC4J Setup................................................................................8Change the data-sources.xml Configuration.........................................8
Change the application.xml Configuration ...........................................9
Oracle BAM Setup........................................................................................9Define or Change the Class Path in Oracle BAM to IncludeOJMS Libraries..........................................................................................9Define an Enterprise Message Source...................................................9Create a Data Object..............................................................................12Design Data Extraction and Consolidation Layer.............................13Oracle BAM JNDI Setup ......................................................................14
Design Reports ............................................................................................14Total Open Notifications per Task View............................................15Total Open Notifications per Workflow and Priority.......................16Total Open Notifications per User and Priority ................................16Total Open Notifications ......................................................................16
View Reports................................................................................................17Conclusion ........................................................................................................17
-
7/31/2019 Enabling Real-Time Operational Analytics
3/19
-
7/31/2019 Enabling Real-Time Operational Analytics
4/19
3. Create an Oracle BAM report based on notification details.
ORACLE BUSINESS ACTIVITY MONITORING
Customer demands and choices have forced enterprises to streamline their business operations and required
enterprises to promise 24x7 customer services and SLA (service level agreements). The enterprises themselves
need to measure KPIs (key performance indicators) to have real time visibility into their businesses to deliver onSLAs. For example, stockbrokers are promising transaction execution within a minute and FedEx is bound to
package delivery dates.
Clearly, enterprises need real time visibility into their operations, which can be provided by Oracle BAM, a key
technology component of Oracle Fusion Middleware. Oracle BAM also provides capabilities to correlate real time
information with business operations that have already happened, hence providing perspective around real time
metrics.
The core components of Oracle BAM include:
Enterprise Link real-time data integration engine to build data flow plans. For example, data from
multiple data sources could be aggregated into Oracle BAM with an enterprise link plan.
Active Data Cache high-performance, persistent, and memory-based storage system to feed active
streaming dashboard reports.
Event Engine monitors complex changing conditions in data in real time, based on user-defined rules.
Active Report Engine assembles and formats the data for presentation in live reports. Active reports are
not static reports, but rather any data change is directly fed into the report.
Alerts An alert on a report is triggered based on a rule to start another business process, send an email
to a mobile device, or any other corrective measure.
BUSINESS EVENT SYSTEM
A business event is a high-level business activity, which is about to happen or has happened. For example,
purchase order created is a business event, which serves two purposes:
An integration point for customers to connect with other applications. For instance when a purchase
order is created in the Oracle E-Business Suite, update the promised inventory level in a legacy
warehouse application.
A milestone in a business process that shall be monitored, and analyzed. For instance an operations
manager might want to monitor the purchase order pipeline and offer promotions when the order
pipeline is not looking good.
Oracle E-Business Suite provides the Business Event System (BES) framework to manage business events.
Subscriptions can be registered with the BES framework, which are invoked upon occurrence of the businessevent. The application behaviors and extensions that can be triggered and extended via BES subscriptions are:
Launching an Oracle Workflow process
Sending a notification
-
7/31/2019 Enabling Real-Time Operational Analytics
5/19
Executing custom Java or PL/SQL code
Publishing the event as a message on a JMS-compliant Advanced Queue
Business event monitoring and analysis provide business insights in real time to the operations manager and
executive managers. Business events can denote Key Performance Indicators (KPIs) as well as Service Level
Agreements (SLAs). For instance a KPI could be how many orders are shipped, and an SLA could be how long acustomer is waiting on the phone to speak with a service agent. These metrics (KPIs and SLAs) can be monitored
and analyzed by raising business events around them. An enterprise might have a timebound SLA with customers.
For instance, a customer will not have to wait more than 10 minutes to speak with a service agent, which could be
at risk if business events around customer, service, and call waits are not monitored and analyzed. Clearly, BES
provides the core foundation for real time analysis and optimization of business processes.
BUSINESS EVENT SYSTEM AND ORACLE BAM INTEGRATION
The Business Event System leverages Oracle Advanced Queuing for asynchronous business event processing. So,
to monitor business events an advanced queue is leveraged as well to integrate Oracle E-Business Suite with
Oracle BAM. When a business event is raised then its event data is pushed to a common queue, which is registered
with Oracle BAM and Oracle BES. This same event data is read from the common queue and pushed onto anOracle BAM report. Open standards were leveraged to achieve integration between BES and Oracle BAM, which
are: JMS and XML.
The functional architecture is depicted in following diagram:
OC4J
OJMS
Workflow
Notifications
BES
Figure 1 Functional Architecture Diagram
Because an open notification was chosen for monitoring use case to build live reports, Oracle Workflow process
was created to generate notifications by raising the oracle.apps.wf.notification.send business event. In a
production Oracle E-Business Suite instance, the open notifications are generated by numerous business
workflows. BES routes these generated notifications to seeded event subscription to generate the notificationdetails and the notification mailer sends these via e-mail to the specified recipients. For further detail, an additional
event subscription was defined for the notification business event to publish the notification details as a message
onto a JMS compliant queue. Oracle BAM reads the notification message from the JMS queue using OC4Js JMS
provider within Oracle Application Server and analyzes the data to show in live reports.
-
7/31/2019 Enabling Real-Time Operational Analytics
6/19
Note: Oracle E-Business Suite provides a preference setting to users to receive notifications in any format. For
example a user could receive a notification message in HTML or plain text. This preference controls the
notification message body. For this example, HTML e-mail as the e-mail preference was the standard for all users
in the Oracle- E-Business instance to get consistent notification XML message bodies.
The example demonstrates how to calculate several basic metrics around open notifications. These metrics
include:
Total open notifications sent per workflow type
Total open notifications sent per task type
Total open notifications sent
Total open notifications sent per priority and user
The remainder of this white paper provides a step-by-step procedure to reproduce the example.
Oracle E-Business Suite Setup
Create a Queue with the JMS Provider Payload Type
In the example, a new queue using Oracle Advanced Queuing (AQ) technology was created. The queue name and
queue table name used were called bam_ttq and bam_ttq_tab respectively. Normally, Oracle does not
recommend making modifications to Oracle E-Business Suites database schemas, but for this example a queue in
the APPS schema was created for convenience. The SQL commands are as follows:
execute dbms_aqadm.create_queue_table( queue_table => 'bam_ttq_tab', queue_payload_type =>
'sys.aq$_jms_text_message', multiple_consumers => true );
execute dbms_aqadm.create_queue( queue_name => 'bam_ttq', queue_table => 'bam_ttq_tab' );
execute dbms_aqadm.start_queue( queue_name => 'bam_ttq' );
execute dbms_aqadm.add_subscriber(queue_name =>'bam_ttq', subscriber=>sys.aq$_agent('bam_ttq', null, 0),rule=>'1=1');
Note: The APPS schema already has permissions to create, alter, and drop AQ queues, so this schema was used in
the test environment for convenience. However, it is not recommended to changing Oracle E-Business Suites
APPS and APPLSYS schemas for this integration.
Create an Agent within the Business Event System
The following is step-by-step action list to create a BES agent.
1. To access the Business Event System, connect to the Workflow Administrator Web Applications responsibility
as a user with workflow administrator privileges, and choose the Administrator Workflow: Business Events link.
Note: Oracle E-Business Suite provides the Oracle Workflow administrator Web pages as a web-based
application. Please contact your Oracle E-Business Suite administrator for access to the Workflow Administrator
Web Applications responsibility to set up Oracle E-Business Suite for integration with BAM.
-
7/31/2019 Enabling Real-Time Operational Analytics
7/19
2. Select the Agents tab.
3. Press the Create Agent button.
4. Enter the information required to create an agent. For this example, an agent with the following information was
created:
Name: BAM_TTQ_AGENT
Display Name: BAM_TTQ_AGENT
Description: This is E-Biz and BAM named communication channel.
Protocol: Jms
Address: [email protected]
System: R11510C1.US.ORACLE.COM
Queue Handler: WF_EVENT_OJMSTEXT_QH
-
7/31/2019 Enabling Real-Time Operational Analytics
8/19
Java Queue Handler:
Queue Name: APPS.BAM_TTQ
Direction: Out
Status: Enabled
Create an Event Subscription
The event subscription defines the action that is executed when a business event is raised.
1. Select the Events tab.
2. Enter oracle.apps.wf.notification.send into the Name search field and press the Go button.
2. Press the Subscription button in the Results: Events table.
3. Press the Create Subscription button.
-
7/31/2019 Enabling Real-Time Operational Analytics
9/19
4. Enter the information required to create a subscription. For this example, a subscription was created with the
following details:
System: R11510C1.US.ORACLE.COM
Source Type: Local
Event Filter: oracle.apps.wf.notification.send
Source Agent:
Phase: 120 {Deferred Listener}
Status: Enabled
Rule Data: Message
Action Type: Send to Agent
On Error: Skip to Next
Out Agent: [email protected]
Owner Name: FND
Owner Tag: FND
5. Make sure to enter the qualified agent name as shown in the following screenshot.
This subscription will publish oracle.apps.wf.notification.send business events raised in the Oracle E-Business
Suite onto the BAM_TTQ queue.
Standalone OC4J Setup
For this example, a standalone instance of Oracle Application Server Containers for J2EE (OC4J) 10gRelease 2
(10.1.2) was installed. The configuration files corresponding to data sources and applications were configured to
reference the database schema where the BAM_TTQ queue is created.
Change the data-sources.xml Configuration
Add an entry in \j2ee\home\config\data-sources.xml for the Oracle E-Business database.
Use the following sample entry, but replace the username, password, HOST, PORT and SERVICE_NAME
corresponding to your Oracle E-Business Suite configuration parameters.
-
7/31/2019 Enabling Real-Time Operational Analytics
10/19
Change the application.xml Configuration
Add a resource provider entry in \j2ee\home\config\application.xml as shown here:
BAM for Generic
Oracle BAM Setup
For this example, Oracle BAM 10.1.2 was installed on a Microsoft Windows XP machine. Please refer to the
Oracle BAM 10.1.2 installation documentation for installation instructions.
Define or Change the Class Path in Oracle BAM to Include OJMS Libraries
Go to the Oracle BAM start page by opening the Oracle BAM URL, http ://
/oraclebam/, and click the BAM Administrator button. Select the
Manage Enterprise Message Source Type option in the BAM Admin options on the top left-hand corner of the
Oracle BAM Administrator console. Choose the Oracle message source to configure, and change the startup
parameters to:
JMS*".;\lib\jms.jar; \lib\jndi.jar;
\oc4j.jar;\rdbms\jlib\aqapi.jar;"
Replace and with your environments installed
components. Close the Oracle BAM Administrator console.
Define an Enterprise Message Source
Press the BAM Architect button from the Oracle BAM start page. Choose the Enterprise Message Source
option in the Oracle BAM Architect console and create a new EMS (enterprise message source) by clicking
create and choosing Oracle (AS JMS and OJMS). For this example, the following details were specified:
-
7/31/2019 Enabling Real-Time Operational Analytics
11/19
Initial Context Factory: com.evermind.server.rmi.RMIInitialContextFactory
JNDI Service Provider URL:ormi://amanchan-lap.us.oracle.com
This is the machine name where OC4J is installed.
TopicConnectionFactoryName:
java:comp/resource/BAMTTT/TopicConnectionFactories/bam_ttq_tab
Topic Name: java:comp/resource/BAMTTT/Topics/bam_ttq
JMS Message Type: TextMessage
Durable Subscriber Name(Optional):
Istante
Message Selector (Optional):
Client ID (Optional): ClientID1
Oracle BAM provides built-in tools to parse and transform incoming XML messages through XSLT
transformations or XPATH. A sample XML message for an open notification is:
OPEN
-
7/31/2019 Enabling Real-Time Operational Analytics
12/19
NID[841082/2738525262@WFMAIL] To submit yourresponse, reply to this message, including this responsetemplate with your reply. Copy and paste from this message ifnecessary to obtain an editable copy of the template. Insertyour response value between the quotes following eachresponse prompt. BAMAPP BAMAPP: "Approve" ApproveReject ______________________End of Response
Template_______________________ Notification Details:&BODY Due Date: ]]>
Continue with the Enterprise Message Source definition and click Add to define the XML to data object
mapping. The detailed mapping for an incoming XML message from BES in Oracle E-Business Suite to Oracle
BAM is depicted here:
-
7/31/2019 Enabling Real-Time Operational Analytics
13/19
Create a Data Object
A data object in Oracle BAM denotes a data container, which is equivalent to a table in a relational database. The
data object in Oracle BAM can have calculated columns based on existing data sets, which was leveraged in the
example as well.
Choose Data Objects in the Oracle BAM Architect console and click create to create a data object. The layout
for the data object used in the example is depicted here:
Figure 2 XML to Data Object Mapping
-
7/31/2019 Enabling Real-Time Operational Analytics
14/19
Figure 3 Data Object Layout
The last three rows are calculated fields used in this example to define the stacked bar chart described in the
Design Reports section below.
Design Data Extraction and Consolidation Layer
Oracle BAMs Enterprise Link (EL) component provides the ETL (Extract Transform Load) platform. Go to the
Oracle BAM Enterprise Link program folder in Microsoft Windows and launch the Design Studio application.
Create a new plan that pulls the message out of BES and loads it into the data object defined in Oracle BAM
Architect. Choose an Oracle BAM Enterprise Message Receiver data source from the list of available data sources
in EL. Bind this message receiver to the enterprise message source defined in Oracle BAM Architect. In the
example, a splitter to put data in the display sink was added as well as the data object defined in Oracle BAM
Architect. Drag and drop an Oracle BAM Insert from the list of available data source and connect it to the splitter.
Bind the Oracle BAM Insert to the data object defined in Oracle BAM Architect.
The following diagram depicts the EL plan to pull information out of Oracle E-Business Suite into the Oracle
BAM data object:
-
7/31/2019 Enabling Real-Time Operational Analytics
15/19
The Grid provides debug capabilities when the plan is updated manually. For this example, the following options
were set to Always to continue running the plan indefinitely:
Restart on failure
Restart on completion
Oracle BAM JNDI Setup
Create or modify the jndi.properties file in \j2re1.4.1_01\lib with the
following properties:
java.naming.security.principal=adminjava.naming.security.credentials=welcome1 (OC4J admin password)
These entries should match your local OC4J admin setup. For this example, a standalone OC4J was installed.
Please contact your system administrator to determine the appropriate OC4J credentials.
Design Reports
Press the Active Studio button on the Oracle BAM start page. Press the Create New Report button as
depicted in the following screenshot:
To recreate the report from the example, the steps are:
Figure 4 Enterprise Link Data Plan
Figure 5 Enterprise Link Data Flow Plan
-
7/31/2019 Enabling Real-Time Operational Analytics
16/19
1. Invoke the CREATE A NEW REPORT function.
2. Select a report template. For this example, a title report with four quadrants was selected.
3. For each quadrant, pick a view template. Some sample report templates are depicted in the following
screenshot:
4. Pick the data object that contains the notification data as depicted in the following screenshot.
5. Click Next and define the options for the view.
6. Click Finish.
For this example, four different view types were crated with the following options:
Total Open Notifications per Task View
View type: 3D Pie Chart
-
7/31/2019 Enabling Real-Time Operational Analytics
17/19
Total Open Notifications per Workflow and Priority
View type: 3D Bar Chart
Total Open Notifications per User and Priority
View type: 3D Bar Chart
Total Open Notifications
View type: Dial Gauge
Save the report after designing all the four quadrants of the report.
-
7/31/2019 Enabling Real-Time Operational Analytics
18/19
-
7/31/2019 Enabling Real-Time Operational Analytics
19/19
Enabling Real Time Operational Analytics: Integration between Oracle E-Business Suite 11.5.10 and Oracle BAM 10.1.2
November 2005
Author: Arun Manchanda
Contributing Author: Chuao Wang
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
www.oracle.com
Copyright 2005, Oracle. All rights reserved.
This document is provided for information purposes only and the
contents hereof are subject to change without notice.
This document is not warranted to be error-free, nor subject to any
other warranties or conditions, whether expressed orally or implied
in law, including implied warranties and conditions of merchantability
or fitness for a particular purpose. We specifically disclaim any
liability with respect to this document and no contractual obligations
are formed either directly or indirectly by this document. This document
may not be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, without our prior written permission.
Oracle, JD Edwards, and PeopleSoft, are registered trademarks of Oracle
Corporation and/or its affiliates. Other names may be trademarks
of their respective owners.