OBIEE/ADF Integration using the Action Framework

makeshiftluteSoftware and s/w Development

Jul 14, 2012 (5 years and 1 month ago)

598 views

T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Mark Rittman, Technical Director, Rittman Mead
UKOUG Conference, Birmingham 2011
OBIEE/ADF Integration using the Action Framework
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Mark Rittman

Mark Rittman, Co-Founder of Rittman Mead

Oracle ACE Director, specialising in Oracle BI&DW

14 Years Experience with Oracle Technology

Regular columnist for Oracle Magazine

Author of forthcoming Oracle Press book on OBIEE 11g

Technical Director at Rittman Mead (
http://www.rittmanmead.com
)

Oracle BI Foundation Specialist Gold Partner

Offices in UK, USA, India and Australia

Writer for Rittman Mead Blog :
http://www.rittmanmead.com/blog

Email :
mark.rittman@rittmanmead.com

Twitter : @markrittman
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Andrejus Baranovskis

CEO and Founder of Red Samurai Consulting

Oracle ACE Director specializing in ADF, WebCenter, UCM, SOA and BPM

Regular blogger at
http://andrejusb.blogspot.com/

Red Samurai – Oracle Specialized Partner

Oracle Fusion Middleware Innovation Award 2010

SOA Partner Community Award for Outstanding Contribution Across the World 2010

2010 Enterprise 2.0 Blazer: Enterprise 2.0 Leader Award

Email :
abaranovskis@redsamuraiconsulting.com

Twitter : @andrejusb
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Oracle Business Intelligence 11g (11.1.1.5)

Oracle’s BI platform, now at release 11.1.1.5 (11gR1)

Wide range of servers, tools, metadata stores based around Oracle FMW11g

Based on Siebel Analytics with additions from Oracle and Hyperion products

Often used in conjunction with the BI Applications and EPM Suite
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Web-Based Delivery of Analytics and Analysis

Users access information and analytics through role-based dashboards

Can also publish reports to PDF, distribute, or access through MS Office
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Web-Based Delivery of Analytics and Analysis

Users access information and analytics through role-based dashboards

Can also publish reports to PDF, distribute, or access through MS Office
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Web-Based Authoring Tools for “Power Users”

Reports and analyses are created using web-based tools

Point-and-click creation of tables, pivot-tables, charts, maps, gauges
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Web-Based Authoring Tools for “Power Users”

Reports and analyses are created using web-based tools

Point-and-click creation of tables, pivot-tables, charts, maps, gauges
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
All Built Using Shared “Common Enterprise Information Model”

All reporting tools can take their data from a shared metadata layer

Defined as dimensional model, embeds common calculations and drill paths

Subject-area and row-level security

Three-layer design to provide
abstraction from underlying
complicated source systems
Simplification
of the Data Model
Integration
of Disparate DataSources
Addition of
Business Logic
and
Calculations
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Based on Fusion Middleware 11g Platform

Built on a foundation of Oracle Fusion Middleware 11g

Common security (Oracle Identity Management, Oracle Access Manager)

Deployed on WebLogic Server

Managed through Fusion Middleware
Control (Enterprise Manager)

Built using multiple technologies
including JDeveloper (ADF)
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Oracle Application Development Framework (ADF)

Oracle’s Java framework for building enterprise applications

Visual and declarative approaches to Java EE development

Uses the MVC (Model-View-Controller) architecture

Uses JDeveloper 11g to create applications (free download)

Runtime element included in
Oracle Application Server license

Tooling that is used to create the
Fusion Applications
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
ADF Architecture

Aim is to minimize the amount of Java code you write (a.k.a., the successor to Forms)

MVC (Model-View-Controller) approach separates the application into

A
Model
layer that handles
interactions with data sources

A
View
layer that handles
the UI, and

A
Controller
layer that
handles the application flow

Also adds a
Business Services
layer that provides access to
data from various sources

Model layer then acts
as an abstraction layer
over Business Services layer
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
OBIEE 11g and ADF 11.1.1.5+ Integration Points

OBIEE Analyses, dashboards and scorecards can
be embedded in ADF pages

OBIEE Semantic layer can be a data source for
ADF business components

OBIEE Repositories can use ADF View Objects
as data sources

OBIEE Analyses and ADF regions
can exchange parameters and events

OBIEE, through the Action Framework,
can leverage ADF web services

Both OBIEE and ADF can share common
security, and hosting in WebLogic Server
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Building Blocks for the Oracle Fusion Applications

The Oracle Fusion Applications are built using Oracle ADF + Oracle BI EE

ADF applications, using Fusion Middleware and a SOA architecture

BI components embedded in all pages

Workflow, data entry, analysis, collaboration all in one hybrid application
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Building Blocks for the Oracle Fusion Applications

The Oracle Fusion Applications are built using Oracle ADF + Oracle BI EE

ADF applications, using Fusion Middleware and a SOA architecture

BI components embedded in all pages

Workflow, data entry, analysis, collaboration all in one hybrid application
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Building Blocks for the Oracle Fusion Applications

The Oracle Fusion Applications are built using Oracle ADF + Oracle BI EE

ADF applications, using Fusion Middleware and a SOA architecture

BI components embedded in all pages

Workflow, data entry, analysis, collaboration all in one hybrid application
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Building Blocks for the Oracle Fusion Applications

The Oracle Fusion Applications are built using Oracle ADF + Oracle BI EE

ADF applications, using Fusion Middleware and a SOA architecture

BI components embedded in all pages

Workflow, data entry, analysis, collaboration all in one hybrid application
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Why Is ADF of Interest to OBIEE Developers?

Allows you to create composite applications that create a workflow around OBIEE

Escape the restrictions of a dashboard, to create a proper LOB application

ADF also has early access to new DVT visualizations that may be useful for your project

Gantt Charts

Organization charts

More graph types
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Why Is ADF of Interest to OBIEE Developers?

Allows you to create composite applications that create a workflow around OBIEE

Escape the restrictions of a dashboard, to create a proper LOB application

ADF also has early access to new DVT visualizations that may be useful for your project

Gantt Charts

Organization charts

More graph types
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Why is OBIEE of Interest to ADF Developers?

Organizes reports into a catalog, with full report authoring tools

Metadata (semantic) layer, adds business context and integration to data

Pre-built integration with EBS, Fusion Applications, PSFT, Siebel etc

Full range of visualizations including scorecards, KPIs, maps, pivot tables

New Action Framework in OBIEE 11g integrates with web services, ADF events etc

Ability to connect to analytic
data sources such as

Essbase

TimesTen

Teradata

Oracle OLAP

BI Automation through agents,
conditions and actions
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
The OBIEE 11g Action Framework

Provides the ability for OBIEE to call web service and other application functionality

Define
actions
that leverage web services, server-side scripts and other functions

Part of the Action Framework

Detect business events through
Agents

Analyze
through BI dashboards, analyses, scorecards etc

Respond through
Actions

Allows you to combine BI and transactional
applications in “closed loop analytics”
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Why Not Just Use the ADF Data Visualization Tools Components?

ADF has a number of data visualization components (DVT)

These are actually the components that OBIEE tables, pivots, charts are built on

But they do not come with a metadata layer

And they are basic; they do not support KPIs, scorecards, interactions, actions

No ability to leverage Essbase and other non-SQL sources

Building blocks, not a BI platform
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Integration Example: A Composite ADF / OBIEE 11g Application

To demonstrate how this integration works, we created a sample application

Demonstrate a number of integration points

Embed BI objects into an ADF application

Pass parameter from the ADF application to the BI objects

Pass context (parameters) from the BI object to the ADF components

Have the BI objects call JDeveloper web services from the dashboard

Other integration points to be developed in future

Combine OLTP and BI data in single ADF form

Source ADF BC data from OBIEE metadata layer

ADF application call BI alerts, actions from ADF application
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Combined ADF / OBIEE Application Built on OFM 11.1.1.5
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Combined ADF / OBIEE Application Built on OFM 11.1.1.5
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Combined ADF / OBIEE Application Built on OFM 11.1.1.5
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Steps to Create the BI Content
1.
Create the Oracle BI Repository (the metadata layer)
2.
Create analyses against repository data, add calculations, graphs etc
3.
Create key performance indicators & KPI watchlist
4.
Create agents and actions
5.
Create dashboards that implement these objects
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Creating the BI Content Step 1 : Create the Oracle BI Repository

Use the Oracle BI Administration tool to create an Oracle BI Repository

Import tables, views and other objects from the OE Sample Schema

Create joins and keys in the
Physical
layer

Define logical dimensional model, calculations and hierarchies in the
Business Model

Publish as a subject area in the
Presentation
layer
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Adding ADF Business Components View Objects as a Data Source

Using OBIEE 11g, ADF Business Component View Objects can be a data source

Read from the view object as if it were a regular data source

Requires an OBIEEBroker shared library to be deployed to the ADF WLS server

Allows the BI dashboard to run off of the same data as the ADF application

Can also add
SQL Bypass
database that
takes the VO SQL and executes directly
on the DB, allow aggregations and functions
to be “function-shipped” to the DB

Approach taken by Fusion Applications for
OTBI (Oracle Transactional BI)
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Creating the BI Content Step 2 : Creating Analyses

Analyses (reports) are then created using the Business Intelligence application

Create filters, calculations and other criteria

Add tables, views, graphs, gauges

Save into the Presentation Services Catalog
1
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Creating the BI Content Step 2 : Creating Analyses

Analyses (reports) are then created using the Business Intelligence application

Create filters, calculations and other criteria

Add tables, views, graphs, gauges

Save into the Presentation Services Catalog
1
2
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Creating the BI Content Step 2 : Creating Analyses

Analyses (reports) are then created using the Business Intelligence application

Create filters, calculations and other criteria

Add tables, views, graphs, gauges

Save into the Presentation Services Catalog
1
2
3
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Creating the BI Content Step 3 : Create KPIs and KPI Watchlist

Using metrics and dimensions defined in the Oracle BI Repository, KPIs can be created

Made up of four elements

Actual measure, Target measure

Dimensionality, Thresholds (states)

KPIs can then be organized into KPI watchlists, and balanced scorecards

Provides additional business context for the data in the system
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Creating the BI Content Step 3 : Create KPIs and KPI Watchlist

Using metrics and dimensions defined in the Oracle BI Repository, KPIs can be created

Made up of four elements

Actual measure, Target measure

Dimensionality, Thresholds (states)

KPIs can then be organized into KPI watchlists, and balanced scorecards

Provides additional business context for the data in the system
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Creating the BI Content Step 4 : Creating Agents and Actions

A function provided by the JDeveloper application adds or removes credit holds

Provided by a web service developed in JDeveloper; WSDL URL then passed to BI

Action is created in the catalog that references this WSDL
1
2
3
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Creating the BI Content Step 4 : Creating Agents and Actions

Action is then added to the analysis

Web service parameters are then mapped to columns as inputs

Action can be made conditional (only display if credit currently on hold)

When triggered by the user, executes the web service asynchronously
via Action Service Java component in OBIEE 11g
1
2
3
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Creating the BI Content Step 5 : Creating Dashboards

All content is then added to a BI dashboard

Analyses, KPI scorecards or whole dashboards can then be added to the ADF
application, accessed through a connection to the catalog
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
BI Content for Demo
Demonstration
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
ADF Application Overview

Oracle Application Developer Framework (ADF) application
built using JDeveloper 11.1.1.5 (11.1.2 not compatible with BI objects in ADF page)

Created using the
Fusion Web Application
application template

MVC (Model, View, Controller)
design pattern

Model
consists of Business Component
View Objects

View
consists of JSF pages

Controller
is Java application logic
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Initial Application Design - Powerpoint Mockup

Initial design was mocked-up in Powerpoint

Four-tab application focused around supply chain, finance, sales, management

Each page will have elements of both BI, and ADF transactional elements
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
ADF / OBIEE Integration Tasks
1.
Create the Catalog Connection
2.
Create the framework application
3.
Add the drop-down menu
4.
Embed the BI content in the application
5.
Pass Context from BI to ADF via QDR
6.
Implement the transactional form & pass QDR values
7.
Deploy to WLS server
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
ADF/OBIEE Integration Step 1 : Adding the Catalog Connection

JDeveloper 11.1.1.5 allows you to create a connection to the OBIEE Presentation
Services Catalog

Once connected, can then drag and drop BI objects into the application
1
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
ADF/OBIEE Integration Step 1 : Adding the Catalog Connection

JDeveloper 11.1.1.5 allows you to create a connection to the OBIEE Presentation
Services Catalog

Once connected, can then drag and drop BI objects into the application
1
2
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
ADF/OBIEE Integration Step 1 : Adding the Catalog Connection

JDeveloper 11.1.1.5 allows you to create a connection to the OBIEE Presentation
Services Catalog

Once connected, can then drag and drop BI objects into the application
1
2
3
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Credentials / Security Integration Issues

When you add the catalog connection, the security credentials are stored in the
integrated WLS server used by JDev

These then need to be copied to the deployment WLS credential store like this:

1. Create
[Middleware_Home]\user_projects\bifoundation_domain\migration

2. Copy all scripts from
[Middleware_Home]\oracle_common\modules\oracle.jps_11.1.1\scripts

to the above folder

3. Create a
config.xml
file to define the migration process

4. Copy the
cwallet.sso
file from the local JDeveloper project to the migration directory.

5. From command line execute the below command, to perform the migration
C:\Middleware\oracle_common\common\bin\wlst.cmd
migrateSecurityStore.py -type credStore
-configFile config.xml -src mySrc -dst myDest
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Config.XML File to Define Credentials Migration

Used to define what is migrated by the
migrateSecurityStore.py
script
<?xml version="1.0" encoding="UTF-8" standalone='yes'?>
<jpsConfig xmlns="
http://xmlns.oracle.com/oracleas/schema/11/jps-config-11_1.xsd
"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance
"
xsi:schemaLocation="
http://xmlns.oracle.com/oracleas/schema/11/jps-config-11_1.xsd
"
schema-major-version="11" schema-minor-version="1">
<serviceProviders>
<serviceProvider type="CREDENTIAL_STORE" name="credstoressp"
class="oracle.security.jps.internal.credstore.ssp.SspCredentialStoreProvider">
<description>SecretStore-based CSF provider</description>
</serviceProvider>
</serviceProviders>
<serviceInstances>
<serviceInstance name="credstore" provider="credstoressp" location="../fmwconfig">
<description>File Based Credential Store Service Instance</description>
</serviceInstance>
<serviceInstance name="srccredstore" provider="credstoressp" location="./">
<description>File Based Credential Store Service Instance2</description>
</serviceInstance>
</serviceInstances>
<jpsContexts default="myDest">
<jpsContext name="myDest">
<serviceInstanceRef ref="credstore"/>
</jpsContext>
<jpsContext name="mySrc">
<serviceInstanceRef ref="srccredstore"/>
</jpsContext>
</jpsContexts>
</jpsConfig>
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
ADF/OBIEE Integration Step 2 : Create Framework Application

Create the Model objects

ADF Business Component View Objects that
abstract data access to the OE schema

Provides access to data for the application

Create the View objects

JSF pages made up of page fragments

Tabs for navigation

Create the Controller

Java code to implement the
application logic

Four tabs created in the application

Supply Chain

Finance

Sales

Management
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
ADF/OBIEE Integration Step 3 : Add Drop-Down Menu

One of the integration points in the application is an ADF drop-down menu,
that will drive changes in an embedded BI analysis

This is therefore created by dragging and dropping an ADF BC View Object onto
one of the pages to create a drop-down menu
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Embed BI Content in the Application

Drag and drop analyses, dashboard, dashboard pages or KPI watchlists
from the catalog connection

Connect any analyses with filters to data controls on the page, to pass parameters
1
2
3
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
ADF/OBIEE Integration Step 4 : Pass Context from BI via QDR

As well as receiving parameters, BI objects can pass parameters (or “context”)

Passed as an ADF contextual event, with a QDR (“qualified data reference”) as payload

QDR then has to be parsed to retrieve dimension values
{"_m":[
{"_g":{"%22Warehouses%20Dim%22.%22Warehouse
%20Name%22":["Mexico%20City"]}}
,
{"_g":
{"%22Products%20Dim%22.%22Product%20ID%22":
[3167]}}
,{"_g":{"%22Products%20Dim%22.%22Product
%20Name%22":["Manual%20-%20Vision%20OS/2.x"]}},
{"_g":{"%22Orders%20Fact%22.%22Quantity%20Ordered
%22":[216]} ... }}
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Enabling ADFContextualEvent in OBIEE 11.1.1.5

Passing ADF contextual events is a “hidden parameter” in OBIEE 11.1.1.5

Add the following entry to the instanceconfig.xml file:

Then a new action type will become
available when creating action links

Does not take parameters, and
passes values of all dimensions
through the QDR
<ActionLinks>
<EnableADFContextualEvent>true</EnableContextualEvent>
</ActionLinks>
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Detecting ADF Contextual Event

Add event details to the page definition that contains the ADF object that will
detect the ADF contextual event

Give the event a name and a consumer handler name

You will detect this in the next step
<eventMap xmlns="
http://xmlns.oracle.com/adfm/
contextualEvent
">
<event name="
handleBIContextualEvent
">
<producer region="*">
<consumer handler="
receiveBiQDREvent
">
<parameters>
<parameter name="qdr" value="$
{payLoad}"/>
</parameters>
</consumer>
</producer>
</event>
</eventMap>
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Parsing the ADF Contextual Event QDR

The QDR then has to be parsed to retrieve the dimension values

Performed by Java code inside a Javabean
public void receiveBiQDREvent(String incomingPayload) {
int index0 =
incomingPayload.indexOf("%22Warehouses%20Dim
%22.%22Warehouse%20Name%22");
int index1 = incomingPayload.indexOf("]}", index0);
String warehouseName = incomingPayload.substring(index0 + 49,
index1 - 1);
warehouseName = warehouseName.replaceFirst("%20", " ");
Integer warehouseId = 0;

DCBindingContainer dcBc =
ADFUtils.getDCBindingContainer();
OperationBinding ob =
dcBc.getOperationBinding("getWarehouseIdByName");

index0 =
incomingPayload.indexOf("%22Products%20Dim
%22.%22Product%20ID%22");
index1 = incomingPayload.indexOf("]}", index0);
String productId = incomingPayload.substring(index0 + 42,
index1);
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
ADF/OBIEE Integration Step 5 : Implement Form & Pass QDR

A form was added to the ADF application, to allow inventory items to be ordered

Shows how a transactional element can be added to the application

Can be used in isolation, and will be connected to the inventory management BI object
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Connecting the ADF Form to the BI Analysis QDR Results

The QDR from the BI analysis processed earlier is used to set values for the form
if (dcIb != null) {
ob.getParamsMap().put("name", warehouseName);
warehouseId = (Integer)ob.execute();
dcIb.setCurrentRowWithKeyValue(warehouseId.toString());

dcIb = dcBc.findIteratorBinding("ProductsView1Iterator");
dcIb.setCurrentRowWithKeyValue(productId);

ob = dcBc.getOperationBinding("getQuantityOnHand");
ob.getParamsMap().put("productId", productId);
ob.getParamsMap().put("warehouseId", warehouseId);
Integer quantityOnHand = (Integer)ob.execute();
ADFUtils.setBoundAttributeValue("stockLevelAttr", quantityOnHand);


AdfFacesContext.getCurrentInstance().addPartialTarget(warehouseChoiceList);
AdfFacesContext.getCurrentInstance().addPartialTarget(orderingForm);
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Connecting the ADF Form to the Transactional Database

When the form submit button is pressed, stock is re-ordered & reflected in BI analysis
Request Restock
public void requestRestock(ActionEvent actionEvent) {
DCBindingContainer dcBc = ADFUtils.getDCBindingContainer();

OperationBinding ob = dcBc.getOperationBinding("storeQuantityOnHand");

Integer result = (Integer)ob.execute();
ADFUtils.setBoundAttributeValue("stockLevelAttr", result);
}
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
ADF/OBIEE Integration Step 6 : Deploy to WebLogic Server & Test

Complete application is then deployed to the WLS server

For the example, it is deployed to the OBIEE 11g WLS server

In real-world, OBIEE WLS is limited use and you will need to use separate server
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
ADF and OBIEE Integration
Demonstration
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Experiences, and Lessons Learned

Check versions: Only certain JDev versions are compatible with OBIEE 11g

Don’t assume all versions will work; also this restricts use of WebCenter etc

This is very new functionality, and is not very well documented

ADF Contextual Events is not documented (or the documents are incorrect)

The main customer for these features is the Fusion Apps, not us

Beware of complexities around things like security, credentials, deploying libraries etc

Recommend that you have a dialog with us, or with Oracle development

Be prepared to spend time on getting the UI correct, and for debugging interactions

Consider how best to apply BI within the application

Don’t just dump analyses into the application

Think about how you can use BI contextually to add insight to the applicationT

Think in terms of sensors, workflows, what is the user trying to achieve?
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
More Information

Thank you for attending this presentation

More information can be found at
http://www.rittmanmead.com

Contact us at
info@rittmanmead.com
or
mark.rittman@rittmanmead.com

Look out for our book, “Oracle Business Intelligence Developers Guide” due Q1 2012

Follow-us on Twitter (@rittmanmead) or Facebook (facebook.com/rittmanmead)
Saturday, 10 December 11
T :
+44 (0) 8446 697 995
or

(888) 631 1410 (USA)


E :
enquiries@rittmanmead.com
W:
www.rittmanmead.com
Mark Rittman, Technical Director, Rittman Mead
UKOUG Conference, Birmingham 2011
OBIEE/ADF Integration using the Action Framework
Saturday, 10 December 11