Wednesday, January 2, 2013

Middle-ware[Weblogic] Integration with BIEE

People sometimes get confused what this Middle-ware  is doing in OBIEE. How it is integrating the OBIEE components.Her i am going to give you some of the glimpse which will let you understand about integration of OBIEE with weblogic.

Weblogic is basically a java based application server which is completely JEE compliant used to deploy web applications.It is market leading web application server because of its ability to build and support scalable,secure and robust java applications.

We have few terminology which we commonly use while dealing with OBIEE and sometimes get confused whether it is OBIEE component or weblogic component.

Below are few terminology which i am going to use are weblogic components :-

Admin Server

It is a special instance of Weblogic Server (WLS) for managing the domains rather than running the applications.One domain can be managed by only one Admin server.That means there is one to one relation between domain and admin server.Concept of Domain will facilitate you to manage the Weblogic env.In other words you can say that domain is a logically related group of java components.
Summary :-
  1. The weblogic and BI Domain is managed by Adminserver.
  2. The Admin Server hosts the console URL for configuring,monitoring and managing the domains.
  3. To interact with the Administration Server, We can use: 
      •  WebLogic Server Administration Console 
      •  Enterprise Manager FMw Control 
      •  WebLogic Scripting Tool (WLST), or 
      •  A third party or custom Java Management Extension (JMX) client
Managed Server

Any additional servers you create after the creation of the default Admin server are Managed server.Managed servers host the business application/component.
You should always start Admin Server before you start Managed server.This is because the Managed server contacts the Admin server,only when you start it up.Once the Managed server starts running ,it operates independent of Admin server.
A managed server basically hosts your Java Applications such as JDBC connections,Message beans,Java Transactional API's.

Node Manager

Node Managers are basically used to remotely start,stop,suspend and restart Managed servers.It also kills Managed servers that sometimes exhibit unstable behavior.

Security Realm

It protects the resources of WLS resources.We can say it as logical container to hold user,group,roles,policies and security providers. WLS uses a default security Realm named "myrealm".

Awareness to Node Manager Configuration Files

Let us consider our weblogic home is set in below variable :-
$WLS_HOME ="/kmayank/Obiee11g/Oracle/Middleware/wlserver_10.3/"

$WLS_HOME/common/nodemanager/nodemanager.properties - This is the configuration file used by the Java-based version of Node Manager (config file) 
$WLS_HOME/common/nodemanager/nodemanager.domains - This file contains mappings between the names of domains managed by Node Manager and their corresponding directories 
$WLS_HOME/common/nodemanage/nm_data.properties - This file stores the encryption data the Node Manager uses as a symmetric encryption key. The data is stored in encrypted form. 
$DOMAIN_HOME/config/nodemanager/nm_password.properties -This file stores the Node Manager username and password. 
$DOMAIN_HOME/servers/server_name/data/nodemanager/boot.properties - Node Manager uses this file to specify user credentials when starting a server 
$DOMAIN_HOME/servers/server_name/data/nodemanager/startup.properties - Per managed server, controls startup. 
$DOMAIN_HOME/servers/server_name/data/nodemanager/server_name.addr - stores IP when server starts. 
$DOMAIN_HOME/servers/server_name/data/nodemanager/server_name.lck - internal lock ID 
$DOMAIN_HOME/servers/server_name/data/nodemanager/server_name.pid - process ID 
$DOMAIN_HOME/servers/server_name/data/nodemanager/server_name.state - this file is used to determine the servers current state. Do not delete or alter. 

Node Manager Log Files:

WLS_HOME/common/nodemanager/nodemanager.log 
DOMAIN_HOME/servers/server_name/logs/server_name.out (example: bi_server1.out)

Console Screenshot










Node manager on each server and the communication with the AdminServer.






How does Oracle Business Intelligence work?

On a broader or high level perspective OBIEE access your data through two main servers.They are :-
1. Oracle Business Intelligence (BI) server
2. Oracle BI Presentation Server

Before the reports/analyses presented to end users data must be processed through the above mentioned server.

Steps of events occurs when an end user request for report results :-

1. Web browser requests a dashboard of data consisting of analyses or published report.
2.The request is acknowledged by Oracle BI Presentation Server.The presentation server translates the individual request into logical SQL queries.
3. These logical SQL queries are passed to Oracle BI server.Oracle BI repository translate them into native SQL and MDX queries.
4. These native SQL and MDX queries are further passed to underlying data source.
5.Finally the underlying data source returns the results to Oracle BI server and Oracle BI server passes the result set to Oracle BI Presentation Server.
6.These results are finally presented to end user in the form of analyses