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

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

Note: This page describes only the additional BPM configuration that is required after configuring a web server in your WebSphere Application Server cell as described in Implementing a web server plug-in.

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 have completed the procedures in this topic.

About this task

The method that is used in IBM BPM V8.5.0.0 (see Customizing the Process Server or Process Center cluster to work with a web server on V8.5.0.0) was replaced in IBM BPM V8.5.0.1 by a more generic way of configuring endpoints. If you use a web server as an entry point into your network, you must configure virtual host information about the web server so that IBM BPM generates URLs that are based on the host name of the web server.

Procedure

The following procedure describes the steps to follow for a simple configuration. For an advanced configuration, refer to the topic "Configuring IBM BPM endpoints to match your topology."

  1. Stop the deployment manager.
  2. Start the wsadmin scripting client from the deployment manager profile /bin directory:
    wsadmin -conntype none -lang jython
  3. Get the deployment environment object.
    Note: The sample below assumes a deployment environment name of De1 . This should be adapted to the deployment environment name you chose during configuration.
    dePath = '/Cell:cellname/BPMCellConfigExtension:/BPMDeploymentEnvironment:De1/' 
    de = AdminConfig.getid(dePath)
    print de
  4. Create the virtual host object for your web server:
    webserver_vh = AdminConfig.create('BPMVirtualHostInfo',de, [['name','webserver_vh'],
    ['transportProtocol','https'],['hostname','webserver.example.com'],['port','443']], 'virtualHosts')
  5. Point to the newly created BPMVirtualHostInfoObject object from either:
    • The defaultVH property of the deployment environment (this causes all traffic to use the web server):
      AdminConfig.modify(de,[['defaultVH',webserver_vh]])

      OR

    • The EXTERNAL_CLIENT endpoint scenario (this causes all user traffic to use the web server, while internal traffic continues to connect to the current server's web container):
      Find the BPMURL object for the EXTERNAL_CLIENT endpoint scenario:
      for item in AdminUtilities.convertToList(AdminConfig.getid(dePath+'BPMURLS:/BPMURL:/')):
       if AdminConfig.showAttribute(item,'scenario') == 'EXTERNAL_CLIENT': bpmurl= item; break; 
      
      print bpmurl
      An external client (for example, a web portal or an enterprise information system) is outside the server but interacts with an application installed in the server.
      Important: Because Jython relies on indentation to identify the contents of a loop, the space character before the if statement is required, and pressing enter twice is necessary to execute the loop.
      Set the web server virtual host for the EXTERNAL_CLIENT BPMURL and save your changes:
      AdminConfig.modify(bpmurl, [['virtualHost',webserver_vh]])
  6. Save your changes.
    AdminConfig.save()
  7. Restart the deployment manager.