Monday, December 17, 2012

[OBIEE 10g] Changing The Default URL


  

    Changing the default URL of OBIEE



We have a limitation that we can only install one OBIEE server and 1 presentation server on a machine


So basically even if we have a number of web servers running on different ports, we would still be able to work only with 1 catalog at a time (We are talking about a 1 machine system here)


It is important to note that only 1 OBIEE server is possible on a machine but this limitation does not trouble us a lot. We can specify a number of repositories in nqsconfig.ini file and an OBIEE server will load all those repositories



A sample of one such log loading 2 repositories is below
 
2011-03-14 23:06:26

     Copyright (c) 1997-2009 Oracle Corporation, All rights reserved

2011-03-14 23:06:26

     [36007] Loading repository E:\OracleBusinessIntelligenceEnterproseEdition\OracleBI\server\Repository\Reports.rpd.

2011-03-14 23:06:27

     [14055] Loading subject area: HR ...

2011-03-14 23:06:27

     [14056] Finished loading subject area: HR.

2011-03-14 23:06:27

     [36007] Loading repository E:\OracleBusinessIntelligenceEnterproseEdition\OracleBI\server\Repository\paint.rpd.

2011-03-14 23:06:28

     [14055] Loading subject area: Paint ...

2011-03-14 23:06:28

     [14056] Finished loading subject area: Paint.

2011-03-14 23:07:17

     [nQSError: 43059] Init block 'yesterday': Dynamic refresh of repository scope variables has failed.

     [nQSError: 16001] ODBC error state: S1000 code: 12170 message: [Oracle][ODBC][Ora]ORA-12170: TNS:Connect timeout occurred.

2011-03-14 23:08:00

     [58002] Query Cache loaded with 13 entries from saved cache files.

2011-03-14 23:08:00

     [43030] :                       Oracle BI Server started.  Version: 10.1.3.4.1.090414.1900.



Below is a screenshot of the nqsconfig.ini file







So, we can load multiple OBIEE repositories on a single OBI server.

Now we have to figure out ways in which we can use host multiple webcats on the same machine. Unfortunately this is not possible. Since only 1 presentation service can be hosted on a machine and since each presentation service would have only 1 instanceconfig.xml file which can again have only 1 entry of a webcat so basically we can have only 1 presentation service running

Again it must be noted that hosting different web servers on the same machine operating at different ports will not solve this as it is the OBIEE presentation service which is a limitation and not the web server

Now let’s start building the above concept and see how we can change the default url on the portal. Below is the url structure of OBIEE







Using a proxy server is obviously the best mechanism of hiding the details of your server but we will try to understand the ways in which we can change individual parts of the above URL

Now we can hide the ip address of the actual web server either by using virtual ip or by using the using a load balancer.
The port is the port on which the web server is operating. This port is configurable at the time on installation of the web server.

The next thing is the context root of the application. This is like a mapping to analytics.war package on the portal.


I will now describe a step by step process to change this mapping. This part deals with the web server you are working with. I have a default OC4J container installed along with the OBIEE application on windows platform.

Below is a screenshot of the home page of enterprise manager. Click on the ‘Deploy’ button (The last in the array of buttons)
  




Give the path of analytics.war package. This would be under <OracleBIHome>\web




Give your new application name and your context root. This context root will be a part of your new URL




Below screenshot shows your final settings. Click on the ‘Deploy’ button at the bottom of the page

 

The below page shows that the new application is deployed






Below page shows the new application i.e. ‘newapp’




Now let’s talk about changing the next part of the url i.e. servlet mapping

This part is again very simple. Change the web.xml file in the <OracleBIHome>\OracleBI\web\app\WEB-INF path

Then get into the following path on command prompt
<OracleBIHome>\OracleBI\web





Run the command: jar -cf analytics.war -C app .

Pick the analytics.war file in <OracleBIHome>\OracleBI\web path.
Then deploy the application as discussed above. I deployed another application called ‘newapp2’ which has the edited web.xml file. Below is the screenshot. Note that 'saw.dll' has been changed to 'vishal.dll'










No comments:

Post a Comment