enabling real-time operational analytics

Upload: bhanuday

Post on 04-Apr-2018

220 views

Category:

Documents


0 download

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.