r15 - 2023-01-20 - 04:24:08 - ShubjitNaikYou are here: TWiki >  Deployment Web > DeploymentInstallingUpgradingAndMigrating > CLMDistributedSetupUsingLibertyProfile

new.png Distributed Deployment of ELM on Liberty Profile using IBM HTTP Server

Authors: ShubjitNaik, DineshKumar
Build basis: Engineering Lifecycle Management 7.0.x, Websphere Liberty, IBM HTTP Server 9.0.x

A common installation topology is a distributed deployment of a IBM Engineering Lifecycle Management (ELM), Enterprise topology, which means each ELM application can be deployed and configured separate Liberty Profiles.

We bundle WebSphere Liberty as the default application server with ELM and this article will focus on configuring a distributed deployment of ELM using WebSphere Liberty. Here are a couple of scenarios where we would need a distributed setup.

  • Deploy a distributed setup using WebSphere Liberty where each ELM application is setup on its own Liberty Profile
  • Deploy one or a set of applications (example Reporting components LQE, DCC and JRS) on a separate Liberty Profile (This specific scenario will be used in this article)
  • Adding additional application instances such as EWM1 / ETM1 / ERM1 with the bundled Liberty Profile connecting to JTS/EWM/ETM residing on a separate Liberty Profile

The steps in this article is to be used as a guideline to help setup and configure a distributed deployment of ELM on Liberty Profile. We have included additional links within this article that will help in configuring LDAP, SSO for Liberty and additional IHS configurations.

Prerequisites and Assumptions

  • Liberty Profile bundled with the installation is used (ie. not the Liberty Profile downloaded separately)
  • Each of the Liberty profile is configured to use the same LDAP server with domain "example.org" for authentication (We will not consider the basic user registry in this example)
  • A separate database server is available and setup for ELM, instructions available on our Infocenter
  • IBM HTTP Server installation is available or download a No Charge archive install version of IHS
  • License configuration would not be covered in this article

Example server configuration

For the purposes of this article we will use three separate servers configured as follows:

  • Server 1 (Hostname: ihs.example.org): IBM HTTP Server (IHS) listening on port 80 / 443 , GC/LDX installed with bundled Liberty Profile_
  • Server 2 (Hostname: elm.example.org): JTS/EWM/ETM/ERM installed with the bundled Liberty Profile (Default HTTPS port : 9443)
  • Server 3 (Host-name: reporting.example.org): JRS/DCC/LQE installed with bundled default Liberty Profile (Default HTTPS port : 9443)

Overview of the Setup

  • Install ELM applications on Server 1, 2 and 3
  • Install and configure IHS Server on Server 1
  • Merge Plugins from each Liberty Profile for IHS
  • Configure user registry on each Liberty Profile
  • Configure SSO across the Liberty Profiles

The Setup

Application Installation

Install ELM applications on different machines using IBM Installation Manager

  • Download and Install IBM Installation Manager (IM) on each Server
  • Download ELM application installer from Passport Advantage or from jazz.net
  • Install JTS/EWM/ERM/RM applications on Server 2 using WAS Liberty
    • Edit [JAZZ_HOME]\server\liberty\servers\clm\conf\application.xml and comment out the application lines for those that were not installed on Server 2
  • Install GC/LDX applications on Server 1
    • Edit [JAZZ_HOME]\server\liberty\servers\clm\conf\application.xml and comment out the application lines for those that were not installed on Server 1
  • Install Reporting components, JRS, DCC and LQE on Server 3
    • Edit [JAZZ_HOME]\server\liberty\servers\clm\conf\application.xml and comment out the application lines for those that were not installed on Server 3

Install IBM HTTP Server

If your organization has a copy of the WebSphere Application Server Supplements repository downloaded via passport advantage, you can use that repo and install IBM HTTP Server and WebSphere Plugins using IBM IM on Server1

If you don't have access to the repo, you can download and install an IBM HTTP Server using the instructions on this Technote
Trial versions of IBM HTTP Server are not eligible for customer or product support. For best-effort/community support, see the ibmhttpserver tag on stack overflow

Steps to Install IHS (Trial version)

Post install, we have to create a new key database and a self signed certificate, enable SSL directives within the IBM HTTP Server's configuration file (httpd.conf), enable support modules and create a key database for certificates. We then complete the configuration using one of the methods for traffic redirection to the Liberty profiles.

Create a key database and configure IHS

The instructions are documented in the following Deployment Wiki article:

Configure Web Server Plug-ins directive on IHS

This configuration is to route requests for dynamic content, such as servlets, from web applications. We will look into the web server plugin method to configure reverse proxy.

Configure IHS with Web Server Plugins (Recommended)

The Web server plug-in works with a web server to route requests for dynamic content, such as servlets, from web applications. The web servers (IHS), are necessary for directing traffic from browsers to the applications that run on an application server (Liberty profile). The web server plug-in uses the XML configuration file to determine whether a request is for an application server.

The steps to configure includes generating plug-ins from each Liberty server hosting CLM applications, Merge the plugins into one and include the path to the merged plugin file in IHS. For detailed instructions on generating plugins from Liberty Profile and configuring IHS with it, visit the article Creating IHS Plugin for Liberty Profile

From version 6.0.5 the plugin-cfg.xml file for each application server instance is auto generated during startup. It would be created in the following location: [JAZZ_HOME]\server\liberty\servers\clm\logs\state

Merging Plugins

To merge the plugins from all application server profile instances, you can use the PluginUtility command which is available on the Liberty version bundled with CLM version 6.0.4 onwards. Steps to Merge the Plugins:

  • Copy all the Plugins into one folder, example c:/plugins
  • Navigate to \server\liberty\wlp\bin
  • $ pluginUtility merge --sourcePath=C:/plugins --targetPath=C:/targetDir/myMergedPluginCfg.xml

You would need to edit the MergedPluginCfg.xml file and change the path to logs, certificate kdb locations and also edit the httpd.conf file to read the newly merged plugin file. Follow the steps from the article Creating IHS Plugin for Liberty Profile

Configuring Liberty Profiles with LDAP

Each instance of WebSphere Liberty Profile should be configured with the same user registry (ideally LDAP). The user registry settings must be identical on all servers for SSO to work. You can complete running JTS Setup during this process.

Instructions to configure the Liberty Profile with LDAP

Configuring SSO Across the Liberty Profiles

It is critical to configure Single Sign-On between these application servers such that a user only needs to log into one of the application and subsequent access to the other applications will not require re-authentication.

Instructions to configure Single Sign On (SSO) across the Liberty Profiles

General Guidelines for distributed setup of CLM on Liberty Profile

  • To be able to configure reverse proxy using Web server plug-ins, an installation of WebSphere Application server is mandatory, as the MergePlugin.bat/sh file is not available out of this installation.
  • To be able to use a no-charge IBM HTTP Server with CLM without a need to obtain the Full installation media for WebSphere application server, you would have to configure the Reverse proxy using the mod_proxy method
  • A ProxyPass and ProxyPassreverse directive combination is required for each application to route traffic from IHS to specific CLM application

Related topics: Configure Liberty with LDAP, Configure SSO For Liberty, Generating Web server Plug-ins on Liberty Profile, Deployment web home

External links:

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r15 < r14 < r13 < r12 < r11 | More topic actions
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use. Please read the following disclaimer.