Long polling is a technique used to push updates to a web client. A connection is held
open between the web client and the web server so that when the server has new information, it can
push it to the client. That connection is then closed. A new connection is then established between
the client and the server and the client then waits for another update from the server. A WebSphere® Application Server (WAS) proxy server is needed
for long polling for a target of between 15,000 and 20,000 users.
Before you begin
- Install HCL
Connections™ 5.5.
- Install WebSphere® 8.5.5.7 (or later, if compatible).
- Stop all Java™ Virtual Machines (JVMs), web servers, and proxy servers.
- Verify that you have more than 8GB free space for your planned PushNotification JVM heapsize on
your deployment.
- Verify that you have a separate machine for the WAS Proxy server and use RedHat 6.7 or later for
the WAS Proxy server.
- Verify that you have a quad core CPU at greater than 2 GHZ, 16
GB RAM, and 100 GB or more hard disk space.
About this task
You are configuring a proxy server to reside in front of the HTTP Server (IHS) and WAS
application nodes. All requests EXCEPT for push notification requests will be routed to the IHS
server. Push notification requests will be routed directly to the WAS application node servers.
Procedure
-
Complete the standard WAS node installation and federation.
-
Install WebSphere® 8.5.5.7 (or later, if compatible) onto the hardware that you are using for the proxy server.
-
Federate the node into deployment.
- Navigate to /opt/IBM/WebSphere/AppServer/bin.
- Make sure that the Deployment Manager (DM) is started, and the application server is stopped on
the proxy server.
- To check if your servers are running, change to the
/opt/IBM/WebSphere/Appserver/bin directory, or to the location where you installed WebSphere® on your server, and run the
./serverStatus.sh -all
command.
- Enter your WebSphere® administrator user ID and password.
- Enter
./stopServer.sh server1
to stop the server in
/opt/IBM/WebSphere/Appserver/bin.
- From /opt/IBM/WebSphere/AppServer/bin, run the
./addNode.sh
DM host name 8879 -user wasadmin -password
wasadmin -localusername wasadmin -localpassword
wasadmin
command. wasadmin is the administrator ID you used when installing WebSphere® on the proxy server.
- On the DM console, navigate to . You should see the proxy server in the list of nodes.
-
Create the WAS proxy server definition.
-
On your DM console, navigate to and click New....
-
Enter a name for your proxy server and click Next.
-
Select all supported protocols and the Generate unique ports check box.
Click Next.
-
The server template should already be selected for you. If not, select
proxy_server_foundation and click Next.
-
Review your choices and click Finish to create your WAS proxy server
definition.
-
Save the configuration change.
-
Stop, synchronize, and restart all nodes in your environment.
-
Create the generic server clusters.
You need 2 generic server clusters within your deployment to manage the various types of
requests to route:
- Standard requests to IHS
- Secure Standard requests to IHS
-
On your DM console, navigate to and click New.
-
Use the following values to set up the 2 generic clusters. Make a note of the values that you
specify for Name.
Table 1. Generic cluster request values
Generic cluster request values
Request type |
Name |
Protocol |
Standard requests to IHS |
IHS_HTTP |
HTTP Secure standard requests to IHS IHS_HTTPS |
Secure standard requests to IHS |
IHS_HTTPS |
HTTPS |
-
After each value is applied, save the configuration.
-
Click on one of the clusters and then click Ports.
-
Click New... and add the settings for your IHS hostname and port. By
default, the HTTP port is port 80, and the secure port (HTTPS) is 443. If these values are different
on your environment, adjust these values accordingly.
Note: REMEMBER TO REPEAT THIS STEP FOR THE OTHER GENERIC CLUSTER PROTOCOL.
-
Stop, synchronize, and restart the nodes in your environment.
-
Set the URI groups.
-
On the DM console, navigate to . You are setting up a URI group for all push notifications, for which you will use a
"not equals to" rule for later.
-
Use the values in the following table to create the URI group. Make a note of the value that
you specify for Name.
Table 2. URI group values
URI group values
Group type for: |
Name |
URI pattern |
push notifications |
URI_Group2 |
/push/* |
-
Save the configuration.
-
Stop, synchronize, and restart the nodes in your environment.
-
Set the environment hosts.
-
On your DM console, navigate to and select Host Aliases.
-
Make sure that there is a
*
value for the PushNotificationCluster ports
WC_defaulthost and WC_defaulthost_secure that you made a
note of earlier, and the WAS proxy ports PROXY_HTTP_ADDRESS and
PROXY_HTTPS_ADDRESS that you made a note of earlier.
-
Make sure that there are entries for the WAS application and proxy host names against the
PushNotificationCluster ports. If not already set, you must add these manually to the list.
-
Save the configuration if prompted.
-
Stop, synchronize, and restart the nodes in your environment.
-
Configure the proxy server.
-
Configure the proxy routing actions.
You need 2 routing actions:
- Standard requests to IHS (HTTP)
- Secure Standard requests to IHS (HTTPS)
- On the DM console, navigate to .
- In routing actions, click New... and select
Generic Server Cluster Route....
- Enter the name for the generic server cluster that you created earlier for HTTP requests.
- Select Affinity type, select Active affinity and
enter a value of 1800 seconds (30 minutes). This is the default expiration time of the DM. If this
value has been changed, then change this affinity value to be the same as the DM expiration time.
Note: To determine the current value of the deployment manager expiration time, go to
WAS_APPSERVER_DIR\profiles\DMgrProfile\config\cells\Cell
name\applications\isclite.ear\deployments\isclite and open the file
deployment.xml. Locate the value of invalidationTimeout.
This is the value of your DM timeout.
- Click Apply and save the configuration file.
- Repeat this step for HTTPS, but assign the generic server cluster name for the HTTPS generic
cluster that you set up earlier.
-
Configure the proxy rule expressions.
- Navigate to . Click New....
- Enter a name and click Subexpression Builder....
- Change the values for the following options:
- Change the Operand value to
URI Group
.
- Change the Operator value to
Not Equals (<>)
.
- Change the URI Group value to
the value you set up
earlier
.
- Click Generate Subexpression and then click
OK.
- Navigate to . Select the routing action that you set up earlier for HTTP, and then click the arrow
adjacent to Routing actions: to move the routing action that you selected to
Routing actions:.
- Click Apply and save the configuration file.
- Repeat this step for HTTPS, and use the same URI group that you set up earlier.
-
Configure proxy virtual hosts.
You are now setting up a virtual host for each of the following types of requests:
- HTTP requests
- HTTPS requests
Note: The default port values of these requests for the HTTP Server (IHS) are port 80 (for HTTP) and
port 443 (for HTTPS). If you changed these port values on your configuration, then make note of the
changed values.
- Navigate to . Click New....
- Change the value of Virtual host name to
*
.
- Change the value of Virtual host port to the value of your HTTP
port.
- In Proxy rule expressions, assign the correct available proxy rule to the
proxy rule expression that you want by clicking the rule, and then clicking the arrow that is
adjacent to Proxy rule expressions.
- Click Apply and save the configuration file if prompted.
- Repeat this step for HTTPS, but set Virtual host port to
443
, and assign the HTTPS proxy rule that you previously set up.
-
Update the LotusConnections-config.xml file.
- On the DM console, navigate to the LotusConnections-config.xml file. The
path should be something similar to:
/opt2/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/pvtdub246Cell01/LotusConnections-config/LotusConnections-config.xml.
- In the LotusConnections-config.xml file, find and replace any reference to
a hostname similar to
sloc:static href="http://MACHINENAME.ibm.com"
ssl_href="https://MACHINENAME.ibm.com".
to the proxy server hostname.
- Save the file.
- Stop, synchronize, and restart all WAS nodes.
-
Set the application mappings.
The application mappings must be set so that all application requests are handled through the
HTTP Server (IHS), except PushNotification application requests, which are handled directly on the
WAS application servers.
-
On the DM console, navigate to .
-
For each application listed, except for PushNotification:
- Click the application link, and then click .
- Click Web Module and then click Web Module Proxy
Configuration. Not all modules contain this setting, so if no link is found, return to
Manage Modules in the breadcrumb trail and check the next module. If a link
is found, click the link.
- Remove the check from the Enable Proxy check box, and click
Apply. Save the configuration when prompted.
- Check all application modules and make sure that all Enable Proxy check
boxes have been disabled for each application.
- Repeat this process for all applications in the list.
- Stop, synchronize, and restart all nodes.
- To disable IHS handling of the application requests, on your DM console, navigate to .
- Click PushNotification.
- Click Manage Modules. In the Clusters and servers:
text box, make sure that only the value for
WebSphere:cell=cluster=PushNotificationCluster is selected.
- Select all the modules in the list and then click Apply.
Note: There
should be no reference to the IHS server in the Server column of the
table.
- Stop, synchronize, and restart all nodes.
-
Change the default proxy HTTP port.
The default proxy port for HTTP requests is port 81. By default, Connections is configured to
communicate via port 80. You must change the WAS Proxy HTTP port from 81 to 80.
- On your DM console, navigate to .
- Select PROXY_HTTP_ADDRESS.
- Change the port to
80
. Click Apply and save the
configuration if prompted.
- Repeat this step for PROXY_HTTPS_ADDRESS but set the port value to
443
. Click Apply and save the configuration if
prompted.
- Synchronize the WAS Proxy node.
-
Tune the WAS proxy server.
Once the WAS proxy server has been set up, tune the proxy server to allow for the high number
of connections required by the long poll test scenario. Steps to tune the WAS proxy server can be
found in
Tuning the WAS proxy server for long poll.
-
Set up a separate ProxyCoreGroup.
This ensures that the IHS does not handle any PushNotification requests. The steps to set up a
separate ProxyCoreGroup can be found in
Setting up a new proxy core group.