Oracle® Business Intelligence Enterprise Edition Deployment Guide > Clustering, Load Balancing, and Failover in Oracle Business Intelligence >

Communication Between Oracle BI Components in a Clustered Environment


This section describes the lines of communication between the Oracle BI components deployed in a clustered environment. Figure 1 depicts Oracle BI components deployed in a clustered environment. The following components are described:

v

Figure 1. Oracle BI Components in a Clustered Environment
Click for full size image

Web Server

Load balanced Web Servers are the entry points for web client requests to Oracle Business Intelligence.

  • For Internet Information Services (IIS), the BI Presentation Services Plug-in (ISAPI Plug-in) is deployed on all instances of the web server.
  • In the case of J2EE Application Servers, such as Oracle Application Server, multiple HTTP Servers can be load balanced and serve as the entry point for Oracle BI session requests. Multiple J2EE containers with BI Presentation Services Plug-in (Java Servlet) deployed in them serve to direct these requests to BI Presentation Services instances.

For a list of supported Web Servers and J2EE Application Servers, refer to the Oracle Business Intelligence System Requirements and Supported Platform Guide.

BI Presentation Services Plug-In

BI Presentation Services Plug-ins route session requests to BI Presentation Services instances using native protocol. The connections are load balanced using native load balancing capability.

BI Presentation Services

BI Presentation Services receives requests from BI Presentation Services Plug-in on the RPC Listener port (9710) set in the instanceconfig.xml configuration file. Although an initial user session request can go to any BI Presentation Services in the cluster, each user is then bound to a specific BI Presentation Services instance.

  • Communication with BI Servers

    For the processing of end-user requests, BI Presentation Services must communicate with the BI Servers. In a clustered environment, the first point of contact to the BI Servers is through the BI Cluster Controller. BI Presentation Services communicates with the Cluster Controller via the BI ODBC data source that is configured for the clustered environment to identify the Primary and Secondary Cluster Controllers and the ports they listen on. BI Presentation Services obtains from the Cluster Controller the BI Server instance to connect to. The connection to the BI Server is established via the BI ODBC, and subsequent requests in the same session go directly from the BI Presentation Services to this assigned BI Server. The ODBC session between BI Presentation Services and the BI Server is stateful and affinity must be maintained for the lifetime of the session.

  • Communication with BI Scheduler

    BI Presentation Services must be informed that communication is to occur with a clustered Scheduler. This is specified in the instanceconfig.xml file along with the Primary and Secondary Cluster Controller host names and the ports they listen on. BI Presentation Services first contacts the Cluster Controller, which relays the active BI Scheduler instance to BI Presentation Services. BI Presentation Services then establishes a session with the Scheduler instance.

  • Communication with BI Javahost

    Each BI Presentation Services instance is configured to communicate with multiple BI Javahost instances in a cluster. The requests to the BI Javahost instances are load balanced using native load balancing capability.

BI Cluster Controller

The Cluster Controller is the first point of contact for a new request and session from BI Presentation Services and other clients. The Primary and Secondary Cluster Controllers listen on CLIENT_CONTROLLER_PORT (9706), which is set in the NQClusterConfig.INI file.

The NQSClusterConfig.INI file contains the list of BI Servers participating in the cluster. The Cluster Controller connects to BI Servers on the MONITOR_SERVER_PORT (9701) that is configured in the same file. Each BI Server listens on MONITOR_SERVER_PORT (9701) and relays the number of sessions back to the Cluster Controller. The Cluster Controller determines which BI Server in the cluster to direct a request to based on BI Server availability and load.

The Cluster Controller serves as the first point of contact for requests to BI Scheduler. A list of the Scheduler instances that participate in the cluster is configured in the NQSClusterConfig.INI file. It determines the active BI Scheduler instance to which the client then connects.

The Cluster Controllers monitor each other's life cycle on MONITOR_CONTROLLER_PORT (9700). This port is configured in the NQSClusterConfig.INI file.

Oracle BI Servers

Multiple Oracle BI Servers can be installed and configured to create a BI Server cluster. The Cluster Controller dispatches requests from clients such as Presentation Servers to an active member of this cluster. The BI Server listens on RPC_SERVICE_OR_PORT (9703) configured in the NQSConfing.INI file for client requests.

  • Master BI Server

    The Master BI Server is the server that the BI Administration Tool connects to in order to perform online metadata changes in the RPD file. These metadata changes are then propagated out to the other servers.

    The Administration Tool uses a BI ODBC DSN that is configured for the clustered environment. It is directed to the Master BI Server via the Cluster Controller.

BI Scheduler

The BI Scheduler instances operate on an active-passive model. Only one BI Scheduler is active and processing requests at any one time. The BI Scheduler listens on port 9708 for Cluster Controller communication and on port 9705 for client requests. These ports are set in the configuration file for the Scheduler, namely, instanceconfig.xml in <ClusterPort> and <PortString> respectively.

  • Communication With BI Presentation Services

    BI Scheduler communicates with BI Presentation Services for jobs such as iBots that deliver alerts and reports to end users.

    Since no cluster controller exists for the BI Presentation Services instances, the list of BI Presentation Services instance must be configured in <Web_Server> in the Scheduler instanceconfig.xml. Connections for each unique user session of the iBot are load balanced using native capability in round robin fashion.

  • Communication With BI Javahost

    Scheduler is configured to communicate with the BI Javahost instances in the cluster. Round robin load balancing is done for Java jobs and Javahost extensions to iBots

BI Javahost

BI Javahost receives requests from BI Presentation Services and BI Scheduler on port 9810 configured in <Port> in the config.xml configuration file. Requests to multiple BI Javahost can be load balanced using the native load balancing capability.

Oracle® Business Intelligence Enterprise Edition Deployment Guide Copyright © 2006, Oracle. All rights reserved.