Anda di halaman 1dari 51

Action Framework

A Practical Guide To The Galaxy! Kevin McGinley (kevin.mcginley@accenture.com)

Action Framework, As Advertised

Insight

Action

Copyright 2012 Accenture All Rights Reserved.

What Do We Use It For?

Copyright 2012 Accenture All Rights Reserved.

Action Framework, As Advertised

Insight

Action

Copyright 2012 Accenture All Rights Reserved.

Action Framework, Co-Opted

Insight

Beam me up to another application, Scotty

Copyright 2012 Accenture All Rights Reserved.

Action Framework, Co-Opted Again

Insight

Let me do something you didn't ETL, Scotty

Copyright 2012 Accenture All Rights Reserved.

Action Framework, Co-Opted Yet Again

Insight

Let me do something you did ETL, Scotty

Copyright 2012 Accenture All Rights Reserved.

Contents
Integrating with ERP! Short-Cutting ETL! Integrating with ETL! One More Thing...

Copyright 2012 Accenture All Rights Reserved.

Integrating with ERP

Copyright 2012 Accenture All Rights Reserved.

Integration Options

Navigate from EBS to OBIEE

Navigate to EBS from OBIEE

Navigate to EBS from OBIEE (with parameters)

Initiate EBS workow from OBIEE

Required
Copyright 2012 Accenture All Rights Reserved.

Action Framework

Navigate Overview

EBS cong for OBIEE

OBIEE cong for EBS

EBS Forms cong

AF EBS cong Action

Metalink Note: Integrating Oracle Business Intelligence Applications with Oracle

E-Business Suite [ID 1343143.1]! OBIEE 11g Integrators Guide! EBS R12 base install does not require any patches for this functionality to work. ! EBS 11i will require patchset 5473858 (which is 11i.ATG_PF.H.delta.5)

Copyright 2012 Accenture All Rights Reserved.

EBS Config Overview


Create EBS Function(s) for OBIEE! Create EBS Menu with OBIEE Function! Assign Menu to Responsibility (New or Existing)! Assign Responsibility to a User! Create a System Profile for Responsibility

Copyright 2012 Accenture All Rights Reserved.

EBS Config

Create functions for OBIEE dashboards and Answers, if desired.

Copyright 2012 Accenture All Rights Reserved.

EBS Config

Enter the full host and port names for OBIEE.

Copyright 2012 Accenture All Rights Reserved.

OBIEE Config Overview


Add Connection Script to Init Block Connection Pool! Create Authentication Init Block and Session Variables! Update AuthenticationSchemas.xml with EBS ICX Authentication Cookie Name and Session Variable Name! Update InstanceConfig.xml Authentication Tags

Copyright 2012 Accenture All Rights Reserved.

OBIEE Config

EBS_RESP_ID, EBS_RESP_APPL_ID, EBS_SEC_GROUP_ID, EBS_RESP_NAME, EBS_USER_ID, EBS_EMPLOYEE_ID, USER


Copyright 2012 Accenture All Rights Reserved.

OBIEE Config
authenticationschemas.xml

TIP: Log into EBS and type javascript:document.write(document.cookie) in the address bar to get nameInSource.

instancecong.xml

Copyright 2012 Accenture All Rights Reserved.

EBS Forms & AF Config Overview


Edit ActionFrameworkConfig.xml to Enable EBS! Identify Form Parameters to Pass! Create a Trigger Event on the Form! Create OBIEE Action

Copyright 2012 Accenture All Rights Reserved.

ActionFrameworkConfig.xml

<Oracle Middleware Home>\user_projects\domains\bifoundation_domain\config\fmwconfig \biinstances\coreapplication

Copyright 2012 Accenture All Rights Reserved.

Form Parameters

Copyright 2012 Accenture All Rights Reserved.

Create Trigger
This value goes into a parameter in the action.

Copyright 2012 Accenture All Rights Reserved.

Create Action
It's a good idea to x and/or hide the Function Code and Connection Pool.

Once attached to a report, pass a column on the report to the parameter.


Copyright 2012 Accenture All Rights Reserved.

Demo

Copyright 2012 Accenture All Rights Reserved.

Call EBS Workflow - Overview


Install and enable the Integrated SOA Gateway! Apply numerous EBS patches for Integrated SOA Gateway! Expose a service and assign it to user(s)! Test exposed web service with SoapUI or similar tool! Make sure proper EBS parameters are exposed in Soap Header! Use SOA Monitor UI tool to diagnose errors in EBS! Add proper credentials to credential store! Validate SOAP policies! Create OBIEE Action

Copyright 2012 Accenture All Rights Reserved.

Short-Cutting ETL

Copyright 2012 Accenture All Rights Reserved.

Practical Possibilities
Currency Conversion!
On-demand translation of a single value versus storing and updating exchange rates !

Informational Attributes!
Call non-analytical attributes from other applications instead of storing dozens or hundreds of barely used attributes!

External Data Sources!


Call out to external data ondemand instead of capturing on a scheduled basis! Geo! Whois! Financial! Government (Census)! Healthcare (ICD-9, Hick-Picks)! General Conversions

Language Translation!
Conversion of text/description fields to another language

On-demand!

Copyright 2012 Accenture All Rights Reserved.

AF JavaScript vs Web Service


Pros:!
AF Browser Script Parameter Functionality! Offers great flexibility when dynamically interacting with external websites and web services! Also valuable dynamically linking to internal websites!

Pros:!
AF Browser Script Parameter Functionality! Native OBIEE call & result option!

Cons:!

Cons:!

Requires custom scripting and basic JavaScript skill set! No default OBIEE display results options

Requires wsdl's (and well structured ones at that)! Limited interactivity/ manipulation of values returned

Copyright 2012 Accenture All Rights Reserved.

Real Time Currency Conversion


Calculate currency conversion rates and target currency values in real time.! Feed product prices or other report parameters directly to 3rd party web services!
http://www.webservicex.net/CurrencyConvertor.asmx/ ConversionRate?FromCurrency=USD&ToCurrency=EUR! http://currencies.apps.grandtrunk.net/getlatest/USD/EUR!
!

Copyright 2012 Accenture All Rights Reserved.

Browser Setup
Anytime you begin leveraging interactive functionality in JavaScript youll need to adjust security settings.!
Turn off pop-up blocker! Add OBIEE as a trusted site and enable cross domain AJAX calls!

You can add a trusted site in IE via the Tools | Internet Options | Security tab. Then you can set the security for trusted site via the Custom level | Miscellaneous section. You'll see that, by default, the "Access data sources across domains" option is set to Prompt. However, Prompt is unsatisfactory because it will interrupt any current application that is running with a message box, asking the user to confirm that they want access to the service. Instead, set the option to Enable.

Copyright 2012 Accenture All Rights Reserved.

The Script - Key Parts


AF Browser Scripts calls are broken into 2 functions.!
The first function manages the parameters passed from OBIEE Action Framework to the JavaScript file for processing.! The second function actually calls the web service, captures the result, performs a calculation and opens an internet window to display results.!
!

<middleware home>/user_projects/domains/bifoundation_domain/servers/bi_ server1/tmp/_WL_user/ analytics_11.1.1.2.0/<installation dependent folder>/war/res/b_mozilla/actions/UserScripts.js

Copyright 2012 Accenture All Rights Reserved.

The Script (cont.)

Copyright 2012 Accenture All Rights Reserved.

The Script (cont.)

Copyright 2012 Accenture All Rights Reserved.

Action

Copyright 2012 Accenture All Rights Reserved.

Demo

Copyright 2012 Accenture All Rights Reserved.

Integrating with ETL

Copyright 2012 Accenture All Rights Reserved.

Practical Possibilities
Micro ETL!
Run filtered ETL job on-demand instead of running for all data on a frequent scheduled basis !

Use Cases!
Financial adjustments during month-end-close! Latest sales updates during a brief campaign to gauge demand! Process recently-updated semi-structured data set (spreadsheet)! Any potential for near-real-time that is hard to schedule or can be segmented by dimensional values

On-demand!

Copyright 2012 Accenture All Rights Reserved.

Overview with ODI

ODI RunTime Services

Interface Scenario Variable Action Framework

Copyright 2012 Accenture All Rights Reserved.

ODI Configuration
ODI Run-Time Services Overview! Installation Components! Extending the Web Logic Domain! Verifying ODI Java EE Agent deployment! Configure ODI Topology with Java EE Agent! Example ETL and Variable! Testing the OdiInvoke Web Service with SoapUI! Kicking off the ETL from OBIEE

Copyright 2012 Accenture All Rights Reserved.

Installation Components

Copyright 2012 Accenture All Rights Reserved.

Extend WLS Domain


[HOME]/Oracle_ODI1/common/bin/config.bat! Extend existing domain! Select domain directory (bifoundation_domain if OBIEE)! Check Oracle Data Integrator Agent (JRF auto-checked)! Complete the wizard specific to your environment
http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/odi/odi_11g/ setup_jee_agent/setup_jee_agent.htm!

Copyright 2012 Accenture All Rights Reserved.

Verify Deployment

Copyright 2012 Accenture All Rights Reserved.

Configure ODI Topology with Agent


Physical

Logical

Copyright 2012 Accenture All Rights Reserved.

Example ETL and Variable

Copyright 2012 Accenture All Rights Reserved.

Test ODiInvoke Web Service


SoapUI gives us an easy layout of the request and the ability to test it out by putting in parameters where instructed.

Copyright 2012 Accenture All Rights Reserved.

XML Request Template with Parameters


REQUEST TEMPLATE:

! ! !

SAMPLE REQUEST WITH PARAMETERS:

! !

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:odi="xmlns.oracle.com/odi/OdiInvoke/"> <soapenv:Header/> <soapenv:Body> <odi:OdiStartScenRequest> <!--You may enter the following 2 items in any order--> <Credentials> <!--You may enter the following 3 items in any order--> <!--Optional:--> <OdiUser>?</OdiUser> <!--Optional:--> <OdiPassword>?</OdiPassword> <WorkRepository>?</WorkRepository> </Credentials> <Request> <ScenarioName>?</ScenarioName> <ScenarioVersion>?</ScenarioVersion> <Context>?</Context> <!--Optional:--> <Synchronous>true</Synchronous> <!--Optional:--> <SessionName>?</SessionName> <!--Optional:--> <Keywords>?</Keywords> <!--Zero or more repetitions:--> <Variables> <!--You may enter the following 2 items in any order--> <Name>?</Name> <Value>?</Value> </Variables> <!--Optional:--> <LogLevel>5</LogLevel> </Request> </odi:OdiStartScenRequest> </soapenv:Body> </soapenv:Envelope>

! !

! ! !

! !

! !

! !

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:odi="xmlns.oracle.com/odi/OdiInvoke/"> <soapenv:Header/> <soapenv:Body> <odi:OdiStartScenRequest> <!--You may enter the following 2 items in any order--> <Credentials> <!--You may enter the following 3 items in any order--> <!--Optional:--> <OdiUser>SUPERVISOR</OdiUser> <!--Optional:--> <OdiPassword>SUPERVISOR</OdiPassword> <WorkRepository>WORKREP</WorkRepository> </Credentials> <Request> <ScenarioName>UPDATESTOREREVENUE</ScenarioName> <ScenarioVersion>001</ScenarioVersion> <Context>ODI_DEMO_CONTEXT</Context> <!--Optional:--> <Synchronous>true</Synchronous> <!--Optional:--> <SessionName>?</SessionName> <!--Optional:--> <Keywords>?</Keywords> <!--Zero or more repetitions:--> <Variables> <!--You may enter the following 2 items in any order--> <Name>WS_DEMO.OFFICE</Name> <Value> Madison</Value> OBIEE passes in the value of the variable here! </Variables> <!--Optional:--> <LogLevel>5</LogLevel> </Request> </odi:OdiStartScenRequest> </soapenv:Body> </soapenv:Envelope>

! !

! ! !

! !

! !

Copyright 2012 Accenture All Rights Reserved.

Create Action

Copyright 2012 Accenture All Rights Reserved.

Create Action

Copyright 2012 Accenture All Rights Reserved.

Demo

Copyright 2012 Accenture All Rights Reserved.

One More Thing...

Copyright 2012 Accenture All Rights Reserved.

Action Menu Using OBIEE Presentation Web Services


Create an agent for the given report!
writeIBot() method!

Execute existing agent for the given report!


executeIBotNow() method!

Subscribe to an existing agent for the given report!


subscribe() method!

Unsubscribe to an existing agent for the given report!


unsubscribe() method!

Retrieve information about a column on the report!


describeColumn() method!

Create a copy of the given report in the user's My Folder!


copyItem() method

Copyright 2012 Accenture All Rights Reserved.

Use JavaScript to...


Call logon() method and capture sessionID! Call desired presentation web service and pass sessionID! Call logoff() method and pass sessionID

Copyright 2012 Accenture All Rights Reserved.

Anda mungkin juga menyukai