Select Page

Responsiv Unity Process Module can be installed in a HA configuration using load balancers 

This blueprint provides a step-by-step guide to installing the Responsiv Unity Process Module in a high availability configuration. This module has embedded IBM Business process manager (IBM BPM) and IBM Case Manager software pre-installed and configured in an IBM WebSphere Application Server (WAS) cluster to operate as part of the Responsiv Unity Automation platform.

Responsiv Unity simplifies installation and operation of the base software needed to deploy and operate an enterprise automation solution. The platform includes database, business rules, connectivity, API, and automation components all pre-configured to be monitored and managed by yourself or using the Responsiv Assist Advanced Support – a remote managed service.

Problem Description and Scope

The standard installation and configuration of Responsiv Unity Process Module for a two server cluster there are two distinct application entry points (URLs), one for each cluster member.

By default, each entry point has a different port number (to allow two cluster members to share an IP address) as depicted in the diagram below. 

To configure the installation to allow user load to be balanced across the two nodes a “load balancer” must be installed in front of the cluster. This balancer cannot be installed on either node because when the node fails the balancer will too.

There are many vendors of load balancers, including devices from f5®, NetScaler appliances from Citrix®, or Apache software based balancing.

Changes to the Responsiv Unity Process Modules

To accommodate the load balancing there are changes that need to be made on the Responsiv Unity Process Module for operating with Load Balancers.

The changes are applied to the IBM WebSphere Application Server  (WAS) configuration so that application links within the application pages will reflect the external load balanced addressing (and the developers will not have to adjust their code).

Problem Description and Scope

Load Balancer Configuration

The load balancers must be setup to allow routing between the alternative base addresses for the BPM application pages can be setup as round robin, balanced or weighted to a particular side. (By base address I mean the URL up to the port number – 9443 or 9444).

In any case a sticky session setup should be configured. This will ensure users logged Into one of the BPM servers will be routed to the same one throughout their session and not asked repeatedly to authenticate with the alternative WebSphere Instances.

Responsiv Unity Process Node Configuration Steps

The Responsiv Unity Process Module is installed with an operating system to form a “Responsiv Unity Process Node”, which is an assembly of modules that can be run on a virtualisation or bare metal host.

WebSphere Configuration Backup

Before starting work we recommend that you backup the WebSphere configuration primary node – where the deployment manager profile resides. This is how:

[bpmuser@servername ~]$ cd /responsiv/modules/3RDv5.0/BAW/install/BPM/profiles/DmgrProfile/bin
[bpmuser@servername bin]$ ./backupConfig.sh -nostop

In case it is needed, this is the command for  restoring the WebSphere configuration from backup:

bpmuser@servername bin]$ ./restoreConfig.sh WebSphereConfig_2020-10-07.zip
ADMU0116I: Tool information is being logged in file
/responsiv/modules/3RDv5.0/BAW/install/BPM/profiles/DmgrProfile/logs/restoreConfig.log
ADMU0128I: Starting tool with the DmgrProfile profile
ADMU0505I: Servers found in configuration:
ADMU0506I: Server name: dmgr
ADMU2010I: Stopping all server processes for node Dmgr
ADMU0512I: Server dmgr cannot be reached. It appears to be stopped.
ADMU5502I: The directory /responsiv/modules/3RDv5.0/BAW/install/BPM/profiles/DmgrProfile/config
already exists; renaming to /responsiv/modules/3RDv5.0/BAW/install/BPM/profiles/DmgrProfile/config.old
ADMU5504I: Restore location successfully renamed
ADMU5505I: Restoring file WebSphereConfig_2020-10-07.zip to location /responsiv/modules/3RDv5.0/BAW/install/BPM/profiles/DmgrProfile/config
...................................ADMU5506I: 3,719 files successfully restored
ADMU6001I: Begin App Preparation -
ADMU6009I: Processing complete.
ADMU6002I: Begin Asset Preparation -
ADMU6009I: Processing complete.

Setup Load balancer definition in WAS

Steps to be carried out on the WebSphere application server (WAS) were based on IBM documentation around the following link:

https://www.ibm.com/docs/en/baw/19.x?topic=topology-changing-default-scenarios

Based on the IBM information, we need to ensure that any external links generated in the BPM application reflect the routing via the load balancer.

The majority of links in the BPM application pages will be relative URLs and do not need to be adjusted.

The WebSphere configuration allows strategies to be set for particular scenarios. Hence in this case we are looking to adjust the strategy used in the EXTERNAL_CLIENT scenario.

Commands typed in are shown below in bold. Clearly you will want to adjust the balanced application domain name for your environment ( ibmbpm-app.domain.uk in below).

First a virtual host is defined for the load balancer. This is then set as the BPM default virtual host. Finally we set a BPM endpoint that references the load balancer virtual host and switches the strategy for the EXTERNAL_CLIENT scenario.

”bpmuser@qautprocess1

The results can be seen in the file:

  • /responsiv/modules/3RDv5.0/BAW/install/BPM/profiles/DmgrProfile/config/cells/PSCell1/cell-bpm.xml

The relevant block In that file Is shown below:


< virtualHosts xmi:id="BPMVirtualHostInfo_1602067078311" hostname=" ibmbpm-app.domain.uk" name="webserver_vh"/>
< bpmurls xmi:id="BPMURLS_1599821422820">
< bpmurl xmi:id="BPMURL_1599821422833" strategies="WCCMConfigStrategy, HttpProtocolHostStrategy" scenario="EXTERNAL_CLIENT" virtualHost="BPMVirtualHostInfo_1602067078311"/>
< bpmurl xmi:id="BPMURL_1599821422841" scenario="INTERNAL_CLIENT"/>
< bpmurl xmi:id="BPMURL_1599821422849" strategies="RelativeUrlStrategy" scenario="RELATIVE"/>
< bpmurl xmi:id="BPMURL_1599821422858" scenario="PUBLIC_KC" url="https://www.ibm.com/support/knowledgecenter"/>
< /bpmurls>

Additional WebSphere configuration changes

Based on the below IBM support item a couple of additional changes were made in the WAS admin console UI.

https://www.ibm.com/mysupport/s/question/0D50z000062kOEw/why-does-websphere-app-url-get-rewritten-with-port-number

The port that a WAS app uses to build redirects is controlled with the following webcontainer custom properties:

trusthostheaderport com.ibm.ws.webcontainer.extractHostHeaderPort

These can be created in the WAS Admin console by navigating as below:

Servers > Server Types > WebSphere application servers > [server_name] > Web Container Settings > Web container > Additional Properties > Custom Properties

This location Is shown In the following screenshot.

process config screenshot1

Setting both of these properties with a value of “true” should force WAS to use the front-end port (from the Host header) instead of the Webcontainer port. The properties are documented here:

http://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/rweb_custom_props.html

process config screenshot2

 

Conclusion

The changes illustrated are not considered to be particularly complex, however like all IT projects (and home DIY) things don’t always go as planned. If you get stuck please call us (free of charge) and we will do what we can to help you complete the mission.

    Last Name*

    First Name

    E Mail*

    Company*

    Lead Status*


    *By pressing submit you agree to receiving communication from Responsiv. You may unsubscribe from communications at any time.

    Ian Wheway

    Ian Wheway

    Ian is an experienced technical project manager and systems administrator.