Oracle BI Publisher Enterprise Cluster Deployment: An Oracle White Paper August 2007
Oracle BI Publisher Enterprise Cluster Deployment: An Oracle White Paper August 2007
Oracle BI Publisher Enterprise Cluster Deployment: An Oracle White Paper August 2007
Cluster Deployment
An Oracle White Paper
August 2007
Oracle BI Publisher Enterprise
INTRODUCTION
This paper covers Oracle BI Publisher cluster and high availability deployment.
Oracle BI Publisher Enterprise is a standard lightweight J2EE application. By
lightweight, we mean that Oracle BI Publisher is based solely on the JSP and
Servlet specifications of the J2EE 1.4 platform. This enables it to be installed on a
lightweight servlet container, for example Oracle Container for Java (OC4J),
without requiring a fully fledged J2EE application server. Oracle BI Publisher can
be deployed on different commercial and open source application servers, such as
Oracle Application Server 10g, BEA WebLogic, IBM WebSphere, Apache Tomcat
and others.,
This paper provides a generic explanation for how to perform a cluster
deployment. It is beyond the scope of the paper to describe the specific steps
required for a particular application server. For information about how to
implement cluster on a specific application server please refer to the appropriate
documentation.
TYPES OF CLUSTERS
This section describes the different types of computer clusters.
High-Availability (HA)
The main function of High-Availability clusters is to improve the availability of the
computing system in case of a breakdown. In HA clusters not all nodes may be
contributing to the operation at a given moment. Some of the nodes are redundant
standby nodes that operate only in case of the failure of the main node. This
configuration is referred to as ‘active-passive’ deployment.
Load-Balancing
Load-Balancing clusters are used to increase performance by distributing the load
among different computing nodes in the cluster deployment. A load balancer,
which is installed in front of all computing nodes, is responsible for distributing the
load. In case of a node failure the remaining node(s) will take over to service future
requests. Load-Balancing clusters also act as a HA clusters. This configuration is
referred to as ‘active-active’ deployment.
Grid Computing
Grid Computing achieves some of the HPC features; unlike HPC the Grid treats
each node in the cluster as a separate machine and not as part of a single computer.
This provides Grid with the robustness missing in HPC but at the expense of
performance compared to HPC.
CLUSTER OVERVIEW
CLUSTER COMPONENTS
This section describes the different components in an Oracle BI Publisher Cluster.
Load Balancer
The load balancer’s job is to distribute requests coming from the client to the
different Oracle BI Publisher servers installed in the cluster. The minimum
requirement for the load balancer is to support the sticky session feature, by
redirecting requests from each unique client to the same server based on the
jsessionid HTTP memory cookie.
Oracle BI Publisher works with many types of load balancers, such as software load
balancers, for example Oracle Web Cache, or hardware load balancers, for example
F5 BIG-IP. The load-balancing algorithm could vary from a simple round-robin
scheme, to a more sophisticated intelligent routing algorithm that senses server load
and adapts depending on that. This is purely a customer choice based on
requirements and budget.
Servers
Each server unit in the cluster is composed of two main components: an HTTP
server, for example Apache, and a J2EE container, for example Oracle Application
Server. The HTTP server acts as a front end to the J2EE container. It should be
configured to service all static content in Oracle BI Publisher, such as images. The
J2EE container should service all the dynamic content, such as report repository
navigation or report generation. This arrangement is used to utilize the Web
server’s optimized architecture for serving static content and to offload some of the
load from the J2EE container. Figure 2 shows the details of a server.
Oracle BI Publisher
The application server could be used to create a cluster group that is composed of
the different machines that you want to deploy on. Then Oracle BI Publisher’s
WAR file should be deployed on that cluster group, using the application server’s
admin interface. The exact steps are specific to each application server; please refer
to the manual of your application server. For Oracle Application Server 10g, see the
Oracle Application Server Enterprise Deployment Guide at http://download-
west.oracle.com/docs/cd/B31017_01/core.1013/b28939/toc.htm.
For advanced installations, you might choose to install the Web server and the
application server on two physically separate machines. This option is preferred for
high load installations. We discuss this option later in the document.
Repository
The repository is shared among different servers in the cluster. Oracle BI Publisher
supports both file-based repositories and Oracle XMLDB repositories. The
different options are as follows:
• File-Based: This is basically a shared file system accessible by a local
network segment connecting cluster members. It can be an NFS directory
mounted on a common server, an NFS on a NAS or a SAN running a
global file system, such as Oracle Cluster File system. NFS and NAS are
the simplest solutions, while SAN is more complex to implement but
offers the best performance.
• Oracle XMLDB: This is Oracle’s XML repository solution implemented
on top of Oracle RDBMS. It has the added benefit of being able to be
deployed on an Oracle Grid, which provides performance advantages, the
removal of single point of failure, and integration with DBMS backup
mechanisms.
Simple Cluster
This is similar to the minimal cluster deployment described above. The only
difference is in the number of cluster nodes. Error! Reference source not found.
shows this variation.
Ultra-scalable Cluster
This deployment, Error! Reference source not found.5, is a step up from the
previous deployment. The main benefit of this deployment is that there is no
pairing between the Web servers and the application servers, which make this
deployment more robust to the breakdown of any single node. It is more complex
and expensive to install.
SYSTEM CONFIGURATION
This section discusses the different configuration requirements.
Clock Synchronization
The clocks of all servers participating in the cluster, must be synchronized to within
one second difference. This is accomplished using a single network time server and
then pointing each server to that network time server. The actual procedure of
pointing to the network time server is different from Windows to Linux. Please
refer to your operating system’s manual.
Scheduler configuration
Make sure that the scheduler is configured to operate in a cluster node as described
in the Oracle BI Publisher User's Guide. This could be done by using Oracle BI
Publisher’s administration UI, please refer to the documentation.
Sticky Session
Make sure you configure your load balancer to redirect requests to the same server
based on the jsessionid HTTP header cookie. Please refer to your load balancer’s
documentation for information about how to do this.
CONCLUSION
In summary, Oracle BI Publisher Cluster deployment follows that of a normal
J2EE application in a cluster deployment with a sticky session configuration. This
configuration is both simple to install and manage and offers the best performance.
The only drawback an end user will experience in case of a server failure is to have
to re-login and re-execute the report he/she was seeing online.
Additional information can also be found at:
http://www.oracle.com/technology/products/applications/publishing/index.html
Please contact your Oracle sales representative to schedule a demonstration of
Oracle BI Publisher.
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracle.com