Customizing the Process Server or Process Center cluster to work with a web server on V8.5.0.0

After you install and configure IBM® Business Process Manager, you must customize your environment so that it can function properly as a cluster with a web server.

Before you begin

Make sure that the Process Server has been installed and configured, and that you have created and configured the servers and clusters. You cannot start the cluster until you complete the procedures in this topic.

About this task

The method that is used in IBM BPM V8.5.0.0 to configure web servers has been replaced in IBM BPM V8.5.0.1 by a more generic way of configuring endpoints. Perform the appropriate actions that are described in Customizing the Process Server or Process Center cluster to work with a web server on V8.5.0.1.

The procedures in this topic describe how to:
  • Configure settings in both the Process Server and Process Center to point to a web server.
  • Set the Process Center to Process Server communication to work with HTTP over SSL or HTTP Secure (HTTPS).

The host name and port number to access the servers are stored in two places. The first place is the BPMVirtualHostInfo configuration object. The second place is in one of the XML configuration files (99Local.xml, 100Custom.xml, etc.) at the profile configuration root. Step 1 deals with changing the BPMVirtualHostInfo configuration object. Step 2 deals with editing the XML files. Because you should use the 100Custom.xml file for all editing purposes, copy the properties that are stored in other XML files into the 100Custom.xml file and then edit them to have correct values.

Procedure

Complete the following steps:

  1. Configure the Process Server and the Process Center to point to a web server. If there is no web server, then all URLs point to the cluster member host name and port. If there is no web server, the cluster server member does not need to be changed. If you have a web server, change all values to point to the web server host name and port with the actual host name and port of the web server. If you are using the default port for http (80) or https (443), the port is an optional part of the URL.
    1. Start the wsadmin scripting tool. To start wsadmin using the Jython language, run the following command from the bin directory of the deployment manager profile:
      Deployment Manager Profile/bin
      wsadmin -conntype NONE -lang jython
      After running this command, synchronize all the nodes in the Process Admin console.
    2. Extract the object properties.
      wsadmin> virtualhosts = AdminConfig.list('BPMVirtualHostInfo')
      wsadmin> print virtualhosts
    3. If the wsadmin print command shows multiple results, pick the correct server by counting from zero. In the following example, the print command shows two virtual hosts:
      (cells/WIN-E6GDL89KDJDCell01/clusters/DE1.AppCluster|cluster-bpm.xml#BPMVirtualHostInfo_1369035785708)
      (cells/WIN-E6GDL89KDJDCell01/clusters/DE2.SingleCluster|cluster-bpm.xml#BPMVirtualHostInfo_1369039814544)
      To work with the first server that represents cluster 2 enter the following command:
      wsadmin> vh = virtualhosts.split()[0]
      To verify your selection, print the result again:
      wsadmin> print vh 
      The output confirms that the correct server is selected:
      (cells/WIN-E6GDL89KDJDCell01/clusters/DE1.AppCluster|cluster-bpm.xml#BPMVirtualHostInfo_1369035785708)
      
      wsadmin> print AdminConfig.show(vh) 
    4. Change the host to be the web server host name. The host name must be the same as the host name in the IHS SSL certificate.
      wsadmin> AdminConfig.modify(vh, [['hostname', 'bpmihs']])
    5. Change the port to the value of the web server port.
      wsadmin> AdminConfig.modify(vh, [['port', '443']])
    6. Change the transport protocol.
      wsadmin> AdminConfig.modify(vh, [['transportProtocol', 'https']])
    7. Verify your update.
      wsadmin> print AdminConfig.show(vh)
    8. Save the changes and exit.
      wsadmin> AdminConfig.save()
      wsadmin> exit
  2. Edit the 100Custom.xml file.
    1. Locate and open the Process Center or Process Server 100Custom.xml file so you can overwrite the values that are there with values from the 99Local.xml files. The path takes this form:
      WAS_HOME\profiles\deployment manager profile name\config\cells\cell name\nodes\node name\servers\server name\process-center\config\100Custom.xml 
      or
      WAS_HOME\profiles\deployment manager profile name\config\cells\cell name\nodes\node name\servers\server name\process-server\config\100Custom.xml
      Here is an example of an actual path:
      C:\IBM\BPM\v8.5\profiles\DmgrProfile\config\cells\Cell1\nodes\Node1\servers\SingleClusterMember1\process-center\config\100Custom.xml
    2. Locate and open the Process Center or Process Server 99Local.xml file so you can extract the values that are there.
      WAS_HOME\profiles\deployment manager profile name\config\cells\cell name\nodes\node name\servers\server name\process-center\config\system\99local.xml 
      or
      WAS_HOME\profiles\deployment manager profile name\config\cells\cell name\nodes\node name\servers\server name\process-server\config\system\99local.xml
      Here is an example of an actual path:
      C:\IBM\BPM\v8.5\profiles\DmgrProfile\config\cells\Cell1\nodes\Node1\servers\SingleClusterMember1\process-center\config\system\99local.xml
    3. Copy all occurrences of http://hostname:port, including the enclosing XML tags, and paste them into the 100Custom.xml file.
    4. Add merge="mergeChildren" to the parent XML tags that contain the http://hostname:port statements.
    5. Add merge="replace" to the XML tag that contains the http://IHS/proxy server_hostname:IHS/proxy unsecure-port or https://IHS/proxy server_hostname:IHS/proxy secure-port statement.
    6. Edit the host name and port values that should be changed.
    7. Save and close the 100Custom.xml file.
    The following example shows part of a Process Center 100Custom.xml file.
    <properties>
       <webservices merge="mergeChildren">
          <!-- <override-default-settings webservice-name="TeamWorksQueryServices" merge="mergeChildren">
          <schema-namespace merge="replace">https://lombardisoftware.com/webservices/TeamWorksQueryServices</schema-namespace>
          </override-default-settings> -->
       </webservices>
    
    </common>
       <server merge="mergeChildren">
          <email merge="mergeChildren">
          <mail-template merge="mergeChildren">
            <portal-link merge="replace">https://bpmihs/ProcessPortal</portal-link>
            <!-- Add port numbers if you have not used the default ports of 443 for https or 80 for http. -->
            <portal-run-task-link merge="replace">https://bpmihs/ProcessPortal/dashboards/TWP/BPM_WORK?tw.local.view=taskcompletion&amp;tw.local.taskid={2}</portal-run-task-link>
            <portal-process-info-link merge="replace">https://bpmihs/ProcessPortal/dashboards/TWP/Process+Performance?tw.local.selectedInstanceId={6}</portal-process-info-link>
            <gadget-link merge="replace">https://bpmihs/ProcessPortal/gadgets/OpenSocial/BPMOpenSocialGadget.xml</gadget-link>
         </mail-template>
         </email>
         <connections-task-notification merge="mergeChildren">
            <task-notification-template merge="mergeChildren">
            <server-link merge="replace">https://bpmihs</server-link>
            <activity-stream-image-link merge="replace">https://bpmihs/ProcessPortal/com/ibm/bpm/social/img/Bpm_connections_48x48.png</activity-stream-image-link>
            <gadget-link merge="replace">https://bpmihs/ProcessPortal/gadgets/OpenSocial/BPMOpenSocialGadget.xml</gadget-link>
            </task-notification-template>
         </connections-task-notification>
       </server>
    </properties>
  3. To synchronize the changes, log in to the WebSphere Application Server admin console as an administrative user, click System administration > Nodes, click Full Resynchronize. Make sure to only work in the file system of the deployment manager profile. These changes are not replicated by using the usual syncNode command or by using the Synchronize button in the WebSphere Application Sserver admin console. You need to use a full resynchronize to copy all files from the deployment manager to the nodes, including changes that WebSphere Application Server does not track.
  4. Stop the deployment manager and the cluster or server.
  5. Restart the deployment manager and the cluster or server.
  6. To set the Process Center to Process Server communication to work with HTTP over SSL or HTTP Secure (HTTPS), use the procedure described in Configuring Secure Sockets Layer (SSL) communication for a network deployment environment