Sunday, November 25, 2012

OBIEE integration with Hyperion





Embedding OBIEE11g into EPM 11.1.2.1 Workspace

I thought I would share the results of my Google searches that annoyed me to no end.


Continuing on with my learning of OFMA my challenge was to find a way to re-integrate OBIEE with my existing Hyperion Workspace. (The was previously built into the products but for some unknown reason was removed)



Here is what it looked like for those that want to know how it turns out.

 
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1HLBvKciKXyiZgQaGz2xjOXTMlT6llnXilanFybIi9rMSfIEblMDHClZIQfFz8vkhpTg7EeGKLpSQX8454ExF-KJgRaXvvSil6VkDUHz-MwUuJ6W0un62sW-pCqxKoGaJK-Uy8KyZEfc3/s640/Capture.PNG


Before I began fiddling i had
  • a working OBIEE 11g install
  • working OFMA dashboards (to come in more detail later post)
  • a working 11.1.2.1 environment
ENABLE IFRAME
Being a web based application ideally we could embed OBIEE into the EPM workspace much like a web portal.  If you try it fails with

“OBIEE content cannot be displayed in an IFrame”.


This is pretty annoying, but can be removed.


1) Locate the instanceconfig.xml file at the location:


[OBIEE_HOME]\instances\instance1\config\OracleBIPresentationServicesComponent\coreapplication_obips1\


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisWgZcMFfBMoWmGP4PAYaQIVwpMBWDg02eRY0SohvUdMdEoVo8xNqJLVDPr64mF6Bzq3228AK5yGWeUPedBQSTUnodo_l6gEUTYCghedNo84xb-eWMnLUnpEeS95Z8DQEmsc9FPmgrBr_6/s640/Capture.PNG
Update the instanceconfig.xml file to add the highlighted entry within the "security" tag (possible values are 'allow', 'prohibit' and 'sameDomainOnly'):

<Security>

<InIFrameRenderingMode>allow</InIFrameRenderingMode>
<!--This Configuration setting is managed by Oracle Business Intelligence Enterprise Manager-->
<ClientSessionExpireMinutes>210</ClientSessionExpireMinutes>
</Security>

Now, this will only get you half way. You'll still run into the error, which really doesn't help you any. The 2nd piece is as follows:


2) Edit the 'web.xml' file at the following location:


[OBIEE_HOME]\oracleBI1\bifoundation\web\app\WEB-INF\

Add the following highlighted entry to the file. The syntax is the opposite of what the syntax for instanceconfig.xml is, since the 'never' means to never block the rendering within IFrame (you can choose 'never' to always allow rendering in the IFrame, or 'differentDomain' to only allow rendering if it is in the same domain).



<servlet-mapping>

<servlet-name>SAWBridge</servlet-name>
<url-pattern>/saw.dll/*</url-pattern>
</servlet-mapping>

<servlet-mapping>

<servlet-name>RelatedContent</servlet-name>
<url-pattern>/RelatedContent</url-pattern>
</servlet-mapping>

<context-param>

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

<login-config>

<auth-method>CLIENT-CERT</auth-method>
</login-config>
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj25moMV_x-iYRDU2G5E8Ce49wS4UC21ONIg2VV8phPJV57Zw38YwVj4oovrqPCrUVZY1PVm3AjYHOrwYYB_hjndomdeqpUiem-tQq5qMP0Urd6nIGzE4C0zQ8oRoj8KsA6ScphEmrHTmas/s640/Capture2.PNG



3) Now that you've completed both steps, restart the OBIEE System Components using opmnctl (Stop opmnctl and Start opmnctl). If you need to find this, you'll find it in your start menu on the server under the 'Oracle Business Intelligence' folder, called 'Stop BI Services' and 'Start BI Services' respectively.


4) Before testing, be sure to clear your browser cache.


GO URL
Now to look at the GO URL

Sample GO URL:


http://localhost:9704/analytics/saw.dll?PortalPages&PortalPath=/shared/Paint%20Demo/_portal/&Page=Brand+Analysis&Syndicate=siebel&nquser=Administrator&nqpassword=Administrator


As you see above the following are the parameters


  1. PortalPath (Direct path to the Dashboards)
  2. Page (This points to the page within the dashboard)
  3. nquser (Username)
  4. nqpassword (Password)


But if you want more customizations the only way is to create custom styles and skins. Lets test out the above GO URL.


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1HLBvKciKXyiZgQaGz2xjOXTMlT6llnXilanFybIi9rMSfIEblMDHClZIQfFz8vkhpTg7EeGKLpSQX8454ExF-KJgRaXvvSil6VkDUHz-MwUuJ6W0un62sW-pCqxKoGaJK-Uy8KyZEfc3/s640/Capture.PNG


Now why isn't this built-in is my only question ?  If i wanted to put this into production we could look as SSO (transparent login)  using OAM ( Oracle Acess Manager)






https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1HLBvKciKXyiZgQaGz2xjOXTMlT6llnXilanFybIi9rMSfIEblMDHClZIQfFz8vkhpTg7EeGKLpSQX8454ExF-KJgRaXvvSil6VkDUHz-MwUuJ6W0un62sW-pCqxKoGaJK-Uy8KyZEfc3/s500/Capture.PNG