OBIEE Integration with Salesforce.com – Part 4 Embed OBIEE to SFDC

OBIEE Integration with Salesforce.com

  1. Part 1 Setting Up SFDC
  2. Part 2 Setting Up ODBC Driver
  3. Part 3 Creating Your First Answers (Analysis) Report
  4. Part 4 Embed OBIEE to SFDC

From Part 3, you should have prepared everything from OBIEE side. There are 3 ways for us to embed OBIEE to Salesforce.com but 99% of the time, you would only use 2 of them hence I will teach the 2 different ways.

  1. Web Tabs – A basic tab in Salesforce.com which will embed the OBIEE
  2. VisualForce Page – A custom page within any Salesforce.com page.

O, but wait, there’s more to configure within OBIEE before we continue. For OBIEE to be displayed on Salesforce.com, there are 2 requirements from Salesforce.com

  1. SSL Enabled – In OBIEE, enable SSL through Weblogic but I will not go through this. There are many resources in the web which will walk you through this. Some reference sites: OBIEE SSL Oracle Documentation, Another Oracle OBIEE SSL DocumentationDebashis Blog Post. Yeah, I hope Debashis would update to a newer version too.
  2. Enable iFrame in OBIEE – which is quite simple and I will go through this here.

I would also suggest you to enable HTML5 if you are on 11.1.1.9 and if you are still on 11.1.1.7 then turn on PNG instead of Flash charts, for more information on how to do this, click here.

Configuring OBIEE iFrame

Step 1 – Make sure all services are turned off.
Step 2 – Add the following script to … instances\instance1\config\OracleBIPresentationServicesComponent\coreapplication_obips1\instanceconfig.xml


<Security>
<InIFrameRenderingMode>allow</InIFrameRenderingMode>
<!--This Configuration setting is managed by Oracle Enterprise Manager Fusion Middleware Control-->
<ClientSessionExpireMinutes>210</ClientSessionExpireMinutes>
</Security>

instanceconfig

Step 3 – Add the following script to … \Oracle_BI1\bifoundation\web\jbipsapp\WEB-INF\web.xml


<context-param>
<param-name>oracle.adf.view.rich.security.FRAME_BURSTING</param-name>
<param-value>never</param-value>
</context-param>

webxml

Step 4 – Start Services

Your ready!!!

Embedding OBIEE Using Web Tabs

Step 1 – Click Setup -> Type Tabs -> Click Tabs -> Click New next to web tabs.

Webtabs1

Step 2 – Choose layout, Full Page Width is the most common and then click next.

Webtabs2

Step 3 – Give the Tab a name, I’ve called mine Campaign Dashboard. Choose a tab style color and setup the Frame Height as well. Click Next.

Webtabs3

 

Step 4 – Fill in the link for the dashboard. Use the GO URL if you like. A comprehensive guide to Go URL can be viewed here.

Webtabs4

 

Step 5 – Click the “+” sign to add the Dashboard to the tabs. Click the Web Tab name you created from step 3.

Webtabs5

Step 6 – It should now appear in the tabs.

Webtabs6

Step 7 – Click the tab and check the results.

Webtabs7

Embedding OBIEE Using VisualForce Page – with Dynamic Parameters Passed to OBIEE

Since we are going to use VisualForce Page, I might as well go a little further by passing Campaign Type into OBIEE Prompts.

Step 1 – Click Setup -> Type Pages -> Click Pages -> Click Create New View

VisualForcePage1

Step 2 – Give the VisualForce Page a label -> Enter the following code in Visualforce Markup


<apex:page standardcontroller="Campaign" extensions="CampaignController" sidebar="false" showHeader="false">
    <headers> 
        <frame-options policy="SAMEORIGIN"/> 
    </headers>    

    <apex:iframe src="{!url}" height="600px" width="100%" />
    
</apex:page>

VisualForcePage2

Step 3 – Click Save

Step 4 – We are now required to go into developer console. You can do this after you have saved or via under your name.

DeveloperConsole

Step 5 – Your code should be displayed in the tab where it says .vfp for VisualForce Page. Double check it.

DeveloperConsole3

Step 6 – What we are interested in is the Controller Page. You will need to add the following controller codes. In the codes, we have added Type so that the dashboard will directly pass in the values of Type. We can also pass in the name but for now we will not.


public class CampaignController {
    public Campaign ca {get; set;}
    public string url {get;set;}
     public string url2 {get;set;}
    public CampaignController(ApexPages.StandardController controller){
    	ca = (Campaign)controller.getRecord();
        ca = [SELECT Name, Type From Campaign WHERE id = :ca.id];
url = 'https://steveyeung:7002/analytics/saw.dll?PortalPages&PortalPath=/shared/MondayBI SFDC/_portal/Campaigns&Page=Overview&Action=Navigate&P0=1&P1=eq&P2=CAMPAIGN.TYPE&P3=' + ca.Type;     
    }
}

DeveloperConsole2

Step 7 – Click Setup -> Type in Page Layout -> Click Campaign Page Layout -> Edit the Page Layout

PageLayout1

Step 8 – Click Visualforce Pages -> Drag and Drop your create page layout to the desired area on the page. Then click save.

PageLayout2

Step 9 – Click Campaign -> Click any campaigns

CheckResults1

Step 10 – Verify your page is shown like below

In Part 5, I will be going through some important best practices.

  1. Part 1 Setting Up SFDC
  2. Part 2 Setting Up ODBC Driver
  3. Part 3 Creating Your First Answers (Analysis) Report
  4. Part 4 Embed OBIEE to SFDC

 

Author: Steve Yeung

Being in the EPM & BI field for more than 8 years, it's about time I contribute to newcomers! As a founder of MondayBI.com I wish to give you all the help I can. Feel free to give any suggestions or questions. Hope you will all enjoy this blog! William Wong Essbase Certified Specialist OBIEE Certified Specialist

12 thoughts on “OBIEE Integration with Salesforce.com – Part 4 Embed OBIEE to SFDC”

Leave a comment