3 Understanding Oracle Service Bus Clusters

This chapter describes how to configure and deploy Oracle Service Bus in a clustered environment.

This chapter contains the following topics:

3.1 Understanding Oracle Service Bus Clusters

Clustering allows Oracle Service Bus to run on a group of servers that can be managed as a single unit. In a clustered environment, multiple machines share the processing load. Oracle Service Bus provides load balancing so that resource requests are distributed proportionately across all machines. An Oracle Service Bus deployment can use clustering and load balancing to improve scalability by distributing the workload across nodes. Clustering provides a deployment platform that is more scalable than a single server.

An Oracle WebLogic Server cluster domain consists of only one Admin Server, and one or more Managed Servers. The Managed Servers in an Oracle Service Bus domain can be grouped in a cluster. When you configure Oracle Service Bus clusterable resources, you normally target the resources to the named cluster. The advantage of specifying a cluster as the target for resource deployment is that it makes it possible to dynamically increase capacity by adding Managed Servers to your cluster.

Note:

Oracle Service Bus domains can support a single cluster, and all Managed Servers in the domain must belong to that cluster.

The topics in this section provide the information you need to configure Oracle Service Bus in a clustered environment. Although some background information about how Oracle WebLogic Server supports clustering is provided, the focus is on procedures that are specific to configuring Oracle Service Bus for a clustered environment.

Before proceeding, we recommend that you review the following sections of the Oracle WebLogic Server documentation to obtain a more in-depth understanding of clustering:

3.2 Designing a Clustered Deployment

The following sections provide the information you need to design a clustered deployment:

3.2.1 Introducing Oracle Service Bus Domains

Before you begin designing the architecture for your clustered domain, you need to learn how Oracle WebLogic Server clusters operate.

3.2.1.1 Creating Domains

Domain and cluster creation are simplified by the Oracle Fusion Middleware Configuration Wizard, which lets you generate domains from basic and extension domain templates. Based on responses to user queries, the Oracle Fusion Middleware Configuration Wizard generates a domain, server, and enterprise application with the appropriate components preconfigured and assets included. For information about creating Oracle Service Bus domains using the Oracle Fusion Middleware Configuration Wizard, see the Oracle Fusion Middleware Installation Guide for Oracle Service Bus Installation Guide.

3.2.1.2 Clustered Servers

A server can be either a Managed Server or an Admin Server. An Oracle WebLogic Server running the administration service is called an Admin Server and hosts the Oracle WebLogic Server Administration Console. In a domain with multiple Oracle WebLogic Servers, only one server is the Admin Server; the other servers are called Managed Servers. Each Managed Server obtains its configuration at startup from the Admin Server.

Note:

Managed servers that start without an Admin Server operate in Managed Server Independence (MSI) mode. For information about MSI mode, see "Managed Server Independence Mode" in Oracle Fusion Middleware Managing Server Startup and Shutdown for Oracle WebLogic Server.

You can enable an SSL port, an HTTP cleartext port, or both ports for the Admin Server. In secure installations, the HTTP cleartext port can be disabled. However, when Oracle Service Bus is used in combination with a UDDI registry (for example, Oracle Service Registry), you must ensure that the server's HTTP cleartext port is enabled.

For general information about WebLogic clusters, see Oracle Fusion Middleware Using Clusters for Oracle WebLogic Server. This document includes details regarding recommended basic, multi-tiered, and proxy architectures. For information about security considerations in the design of WebLogic clusters, see "Security Options for Cluster Architectures" in Oracle Fusion Middleware Using Clusters for Oracle WebLogic Server.

3.2.2 Oracle Service Bus Deployment Resources

For each server in a clustered domain, you can configure a variety of attributes that define the functionality of the server in the domain. These attributes are configured automatically when you create an Oracle Service Bus domain using the Oracle Fusion Middleware Configuration Wizard. Advanced users can also configure these attributes manually using the Servers node in the Oracle WebLogic Server Administration Console.

For a list of configurable Oracle Service Bus deployment resources, see Appendix B, "Oracle Service Bus Deployment Resources." It describes the default targeting of each resource in a clustered Oracle Service Bus domain and provides instructions on how to navigate to each resource in the Oracle WebLogic Server Administration Console.

3.2.2.1 Singleton Resources

While most resources used by Oracle Service Bus are deployed homogeneously across the cluster, there are a number of resources that must be pinned to a single Managed Server in order to operate correctly. The following table lists these components, describes how they are targeted, and provides a link for more information.

Table 3-1 Oracle Service Bus Singleton Resources

Resource How and Where to Target For more information, see...

File, FTP, and Email pollers for proxy services

Specified manually in the proxy service definition using the Oracle Service Bus Administration Console. The poller is deployed on all Managed Servers, but the poller on only one Managed Server will poll for a given proxy service.

Oracle Fusion Middleware Installation Guide for Oracle Service Bus Installation Guide

ALSB Domain Singleton Marker Application

Targeted in the Oracle Fusion Middleware Configuration Wizard

Oracle Fusion Middleware Installation Guide for Oracle Service Bus Installation Guide

SLA Manager

Targeted in the Oracle Fusion Middleware Configuration Wizard

Oracle Fusion Middleware Installation Guide for Oracle Service Bus Installation Guide

Oracle Service Bus JMS server on each Managed Server

wlsbJMSServer_auto_1-n

Targeted in the Oracle Fusion Middleware Configuration Wizard

Oracle Fusion Middleware Installation Guide for Oracle Service Bus Installation Guide


3.2.2.2 Monitoring and Alert Resources in a Cluster

The ALSB Domain Singleton Marker Application (domainsingletonmarker.ear) runs as a singleton service on one of the Managed Servers in the cluster. Data collection is performed on each of the Managed Servers in the domain. The ALSB Domain Singleton Marker Application is responsible for the collection and aggregation of data from all Managed Servers in the domain. The aggregated data are processed and classified by each Oracle Service Bus configuration.

Oracle Service Bus configurations can include rules defining Service Level Agreements (SLAs) for system performance. The Alert Manager is responsible for storing rules, and evaluates these rules against the data aggregated for the cluster. When a rule evaluates to true, the Alert Manager sends an email message, posts a message on a JMS queue, or logs a message according to the action associated with the rule.

For more information about these features, see "Monitoring" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus.

3.2.2.3 Cluster Configuration Changes and Deployment Requests

When a Managed Server is down during session activation, configuration changes from the activation are not reflected on that server. In addition, the task status of the session activation is listed as Partially Activated to indicate that the activation was not completed on all Managed Servers. After the Managed Server is restarted, it synchronizes with the information available with the Admin Server, and any unactivated changes are activated on the Managed Server. For more information about session activations, see "Using the Change Center" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus.

You can only re-configure a cluster (for example, add new nodes to the cluster or modify business service configuration) when its Admin Server is active.

If the Admin Server for a cluster is down, deployment or undeployment requests are interrupted, but Managed Servers continue serving requests. You can boot or reboot Managed Servers using an existing configuration, as long as the required configuration files (msi-config.xml, SerializedSystemIni.dat, and optionally boot.properties) exist in each Managed Server's root directory.

3.3 Load Balancing in a Oracle Service Bus Cluster

One of the goals of clustering your Oracle Service Bus application is to achieve scalability. For a cluster to be scalable, each server must be fully utilized. Load balancing distributes the workload proportionately across all the servers in a cluster so that each server can run at full capacity. The following sections describe inbound message processing load balancing for Oracle Service Bus clusters:

For more information about inbound message load balancing, see "Load Balancing in a Cluster" in Oracle Fusion Middleware Using Clusters for Oracle WebLogic Server. For information about configuring load balancing for business services, see "Transport Configuration" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus.

3.3.1 Load Balancing HTTP Functions in a Cluster

Web services (SOAP or XML over HTTP) can use HTTP load balancing. External load balancing can be accomplished through the WebLogic HttpClusterServlet, a WebServer plug-in, or a hardware router. For an overview of a cluster topology that includes load balancing, see Figure 5-1. Oracle WebLogic Server supports load balancing for HTTP session states and clustered objects. For more information, see "Communications in a Cluster" in Oracle Fusion Middleware Using Clusters for Oracle WebLogic Server.

In load-balancing environments, Oracle Service Bus supports sticky sessions, or session affinity, for business services using the HTTP transport. This means that all requests in a given session are directed to the server that processed first request in the session. You can configure session affinity in the HTTP transport properties for the business service. For more information, see "Transport Configuration" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus.

3.3.2 Load Balancing JMS Functions in a Cluster

Most JMS queues used by Oracle Service Bus are configured as distributed destinations. Exceptions are JMS queues that are targeted to single Managed Servers.

For detailed information on JMS load balancing, see "Controlling the Flow of Messages on JMS Servers and Destinations" in Oracle Fusion Middleware Performance and Tuning for Oracle WebLogic Server.

3.4 High Availability in an Oracle Service Bus Cluster

Message-driven beans consume messages from JMS destinations. A number of message-driven beans are deployed on each Oracle Service Bus destination.

3.4.1 Highly Available JMS for Oracle Service Bus

The ability to configure multiple physical destinations as members of a single distributed destination set provides a highly available implementation of WebLogic JMS. Specifically, for each node in a cluster, an administrator should configure one physical destination for a distributed destination. If one node in the cluster fails, making the physical destination for that node unavailable, then other physical destinations configured as members of the distributed destination can provide services to JMS producers and consumers. (This is how the Oracle Fusion Middleware Configuration Wizard generates domains for a cluster.)

Message-driven beans consume messages from distributed destinations. Distributed destinations contain one physical destination for each instance of Oracle WebLogic Server. A single message producer on a distributed queue is bound to a single physical destination. Message-driven beans are bound to the physical destination in the server on which they are deployed (server affinity).

For more information, see Chapter 5, "Understanding Oracle Service Bus High Availability."

3.5 Deploying Configurations

Configurations are deployed by importing the contents of one or more JAR files exported from the Oracle Service Bus Administration Console. You deploy an Oracle Service Bus configuration in a clustered environment following the same procedure as for a non-clustered deployment. For a description of the deployment procedure, see Section 2.4, "Step 4. Deploy an Oracle Service Bus Configuration."

Preparations for deployment of an Oracle Service Bus configuration in a production cluster environment involve more system administration tasks than for a non-clustered testing or staging environment. For a full description of the steps involved in a production cluster deployment, see Chapter 4, "Configuring a Clustered Deployment."