The main advantages of using WebSphere clusters and Network Deployment (ND) to create and administer process choreographer instances are:
Configuration options
You can configure process choreographer in many different ways, so cluster configurations are usually very complex. Some of the main options to consider before you start creating application servers are outlined in the following descriptions:
Workload balancing between different process choreographer instances requires that the queue managers used by the business process container of each application server are members of the same WebSphere MQ cluster.
Cluster types: This topic refers to two different types of cluster. A WebSphere cluster groups application servers together to share workload and increase service availability. A WebSphere MQ cluster, previously known as an MQSeries cluster, groups together WebSphere MQ queue managers and can be used to achieve intraprocess workload balancing.
High availability
To achieve high availability of process choreographer services, consider the following:
Vertical clustering to maximize resource utilization
To improve performance, you might have to create multiple application server instances on the same node so that process choreographer can use the available system resources.
Workload balancing
If you want different instances of process choreographer to share the same workloads, they must:
The result of only putting to queue managers that host no queues is that the messages are distributed evenly across all the "get" queue managers in the cluster. After using the installation wizard to install and configure the business process container on the cluster, you must manually change the two connection factories per application server to point to the local "get" and "put" queue managers.
Process choreographer database
Hosting the database on a dedicated machine, preferably one with a hot standby is recommended. The database can be on a machine that is outside the WebSphere cell, however the deployment manager must have access to it.
When planning the database, consider the following points:
WebSphere MQ
Process choreographer uses MQ queues for receiving requests and sending replies. Therefore each application server that hosts process choreographer requires one of the following options:
Process choreographer also supports embedded messaging. However, embedded messaging is not recommended for complex configurations because it does not support WebSphere MQ clustering.
In a WebSphere cluster environment, the use of embedded WebSphere MQ is also not recommended. This is because WebSphere MQ does not support a high-availability, hot-standby solution, such as HCAMP on AIX.
Central queue manager
By using a central queue manager for all queues, administration becomes easier. One queue manager is used by all cloned business process containers. However, using a central queue manager creates a single point of failure that needs to be hosted on a high availability system.
The following figure shows all the application servers in a WebSphere cluster using a single central queue manager on another machine.
Local queue manager without WebSphere MQ clustering
This is the standard, stand-alone process choreographer configuration. Each business process container has one local queue manager. This approach does not offer intraprocess workload sharing.
WebSphere MQ clustering
This complex technique supports intraprocess workload sharing for process choreographer services in a WebSphere cluster. The business processes in the cluster must all run on UNIX only, or Windows machines only; a combination of UNIX and Windows machines does not work.
Each application server requires two local queue managers, one for putting and one for getting messages. All the queue managers become members of the same WebSphere MQ cluster. On Windows systems, all the queue managers must use the same binding protocol. On UNIX systems, the put and get queue managers must use different protocols. For example, you can modify the queue connection factories so that all the put queue managers use the binding protocol (interprocess communications) and all the get queue managers use the default, client (TCP/IP) protocol.
Each business process container in the WebSphere cluster must be customized to reflect its own queue managers.
It is recommended that more than one queue manager in the WebSphere MQ cluster is made a cluster repository.
The following figure shows how the queue managers used by the application servers are grouped together in a WebSphere MQ cluster. The WebSphere MQ cluster (of queue managers) is parallel to the WebSphere cluster of application servers. Requests are shared across the get queues in the cluster.
How the WebSphere cluster is created
Several different sequences are available for you to follow when creating a cluster for process choreographer. The following sequence is recommended: