TOC PREV NEXT INDEX



PDF
ICEfaces Online Reference




 


 




Cluster-enabled JMS Configuration


Figure 3 below illustrates the deployment architecture for a clustered ICEfaces application. In order for the Asynchronous HTTP Server to communicate with multiple application servers, it is necessary to configure JMS across the cluster. It is also necessary to add an additional JMS topic to support cluster-enabled, server-initiated rendering.

Figure 3 ICEfaces Clustered Deployment Architecture



Configuration of JMS is application server-specific. Specific configurations for various applications servers are provided below:

Note: The current release of ICEfaces EE has been tested against clustered JBoss Application Servers only. Future releases of ICEfaces EE will include additional application servers.
JBoss 4.0

For JBoss, the high-availability JMS is used and must be configured following these steps:

1. Add ICEfaces-specific JMS topics.
The file [jboss-install-dir]/server/all/deploy-hasingleton/jms/jbossmq-destinations-service.xml on each node of the cluster must be modified to include the ICEfaces topics "icefaces.contextEventTopic", "icefaces.responseTopic" and "icefaces.renderTopic". See Configuring the Application Server for specifics on adding the first two topics. The renderTopic is added with the following:
<mbean code="org.jboss.mq.server.jmx.Topic"
 
       name="jboss.mq.destination:service=Topic,name=icefaces.renderTopic">
 
       <depends optional-attribute-name="DestinationManager">
 
              jboss.mq:service=DestinationManager
 
       </depends>
 
       <depends optional-attribute-name="SecurityManager">
 
              jboss.mq:service=SecurityManager
 
       </depends>
 
       <attribute name="SecurityConf">
 
              <security>
 
                     <role name="guest" read="true" write="true" create="true"/>
 
              </security>
 
       </attribute>
 
</mbean>
 

 
2. Configure the JMS provider.
To ensure the correct properties are used, the following must be added to the web.xml for the ICEfaces application, and the Asynchronous HTTP Server:
<context-param>
 
       <param-name>com.icesoft.util.net.jms.properties</param-name>
 
       <param-value>jboss_ha.properties</param-value>
 
</context-param>
 
Refer to Table 3 on page 11 for details on available properties files.
WebLogic Server 8.1 Service Pack 4

This section explains how to set up a clustered deployment of WebLogic Servers. It includes steps for configuring the cluster, JMS and the WebLogic Server plug-in for the Apache HTTP Server, as well as steps for configuring and deploying the Asynchronous HTTP Server and an ICEfaces application. The following discussion relates to a clean installation of WebLogic, and represents a simplified process for configuring WebLogic for clustered deployments of ICEfaces applications. Additional deployment-specific issues may exist. Refer to your WebLogic documentation for additional information.

This example cluster consists of two Managed Servers and an Administration Server, which itself is not part of the cluster, as shown in the table below.
IP Address
Server Name
Description
192.168.1.100
Admin
Administration Server
192.168.1.101
Managed1
Managed Server
192.168.1.102
Managed2
Managed Server

Configuring the Cluster

Ensure that you have WebLogic Server installed on each machine. Refer to your WebLogic documentation for additional information.

The following three procedures describe the steps to create a cluster formed by Managed1_Server and Managed2_Server and administered by Admin_Server.

Configuring the Individual Servers
1. On machine Admin go to [bea-home-dir]/weblogic81/common/bin and start the BEA WebLogic Configuration Wizard using:
./config.sh -mode=console
 
Use config.cmd on a Windows platform.
2. Select Create a new WebLogic configuration.
3. Select Basic WebLogic Server Domain.
4. To not run in express mode, select No.
5. Modify the Name of the Administration Server to Admin_Server and select Next.
6. Do not configure the Managed Servers, Clusters and Machines; select No.
7. Do not configure JDBC; select No.
8. Do not configure JMS; select No.
9. Do not configure Advanced Security; select No.
10. Modify the user as desired and select Next.
11. Select Production Mode.
12. Select JRockit SDK...
13. Leave the Target Location at its default.
14. Modify the Name of the domain to ICEfaces_Cluster_Domain and select Next.
15. Repeat steps 1 to 14 for Managed1_Server on Managed1 and Managed2_Server on Managed2.
Configuring the Cluster
1. On machine Admin go to
[bea-home-dir]/user_projects/domains/ICEfaces_Cluster_Domain and start the server using:
./startWebLogic.sh
 
Use startWebLogic.cmd on a Windows platform.
2. Using an Internet browser, go to http://192.168.1.100:7001/console and login as the user specified in step 10 of Configuring the Individual Servers.
3. On the left panel, navigate to Clusters.
4. On the right panel, select Configure a new Cluster...
5. Enter ICEfaces_Cluster for Name and then click Create.
6. On the left panel, navigate to Machines.
7. On the right panel, select Configure a new Machine...
8. Enter Managed1 for Name and then click Create.
9. Repeat steps 6 to 8 for Managed2.
10. On the left panel, navigate to Servers.
11. On the right panel, select Configure a new Server...
12. Enter Managed1_Server for Name, select Managed1 for Machine and ICEfaces_Cluster for Cluster. Enter 192.168.1.101 in the Listen Address field, and then click Create.
13. Repeat steps 1 to 12 for Managed2_Server running on Managed2 (192.168.1.102).
Starting the Cluster
1. On machine Managed1 go to
[bea-home-dir]/user_projects/domains/ICEfaces_Cluster_Domain and start the server using the following command:
./startManagedWebLogic.sh Managed1_Server http://192.168.1.100:7001
 

 
Use startManagedWebLogic.cmd on a Windows platform.
2. Repeat step 1 for Managed2_Server.
3. Using an Internet browser, go to http://192.168.1.100:7001/console and login.
4. On the left panel, navigate to Servers.
5. On the right panel, verify that all servers (Admin_Server, Managed1_Server and Managed2_Server) have their state RUNNING.
Configuring JMS for the Cluster

The following steps describe how to create a ConnectionFactory that is available throughout the cluster and an ICEfaces_JMS_Server deployed on Managed1 servicing the JMS topics, icefaces.contextEventTopic, icefaces.renderTopic, and icefaces.responseTopic, throughout the cluster.

1. Using an Internet browser, go to http://192.168.1.100:7001/console and login.
2. On the left panel, navigate to Services > JMS > Connection Factories.
3. On the right panel, select Configure a new JMS Connection Factory...
4. Enter ConnectionFactory for Name and JNDI Name and then click Create.
5. Select All servers in the cluster for Targets and then click Apply.
6. On the left panel, navigate to Services > JMS > Servers.
7. On the right panel, select Configure a new JMS Server...
8. Enter ICEfaces_JMS_Server for Name and then click Create.
9. Select Managed1_Server for Target and then click Apply.
10. On the left panel, navigate to Services > JMS > Servers > ICEfaces_JMS_Server > Destinations.
11. On the right panel, select Configure a new JMS Topic...
12. Enter icefaces.contextEventTopic for Name and JNDI Name. Select False for Enable Store, and then click Create.
13. Repeat steps 10 to 12 for icefaces.renderTopic and icefaces.responseTopic.
Configuring the Apache HTTP Server Plug-In

The following is a simple solution for installing and configuring WebLogic's plug-in for the Apache HTTP Server and a cluster of WebLogic Servers.

Refer to WebLogic Server 8.1 Service Pack 4 on page 15 for the initial installation and configuration of WebLogic's plug-in for the Apache HTTP Server.

1. Select the following snippet in the Apache configuration file:
<IfModule mod_weblogic.c>
 
    WebLogicHost host
 
    WebLogicPort port
 
</IfModule>
 

 
And replace it with:
<IfModule mod_weblogic.c>
 
    WebLogicCluster 192.168.1.101:7001,192.168.1.102:7001
 
</IfModule>
 
Configuring and Deploying the Asynchronous HTTP Server

The following steps describe how to deploy the Asynchronous HTTP Server on Managed1_Server only. (The Asynchronous HTTP Server cannot be deployed on multiple machines within the cluster.)

1. Specify the JMS Configuration properties by modifying the following context parameter in the web.xml file and repackage the async-http-server.war:
<context-param>
 
    <param-name>com.icesoft.util.net.jms.properties</param-name>
 
    <param-value>weblogic.properties</param-value>
 
</context-param>
 
2. Using an Internet browser, go to http://192.168.1.100:7001/console and login.
3. On the left panel, navigate to Deployments > Web Application Modules.
4. On the right panel, select Deploy a new Web Application Module...
5. On the right panel, select upload your file(s).
6. Click Browse, select async-http-server.war, and then click Upload.
7. Select async-http-server.war and then click Target Module.
8. Select Managed1_Server and then click Continue.
9. Click Deploy.
Configuring and Deploying an ICEfaces Application

Refer to Configuring the Application Server on page 8 for the configuration of an ICEfaces Application using the Asynchronous HTTP Server.

1. Using an Internet browser, go to http://192.168.1.100:7001/console and login.
2. On the left panel, navigate to Deployments > Web Application Module.
3. On the right panel, select Deploy a new Web Application Module...
4. On the right panel, select upload your file(s).
5. Click Browse, select the application-name.war (where the application-name is the name of the ICEfaces application), and then click Upload.
6. Select application-name.war and then click Target Module.
7. Select All servers in the cluster and then click Continue.
8. Click Deploy.


Copyright 2005-2006. ICEsoft Technologies, Inc.
http://www.icesoft.com

TOC PREV NEXT INDEX