Configuring IBM BPM endpoints to match your topology

If the user's browser requests pass through a web server or load-balancing server before the request reaches the IBM® BPM server, you must configure the virtual host information that is used by IBM BPM to generate URLs. Depending on the complexity of your topology and security setup, you might have to configure several different types of URLs.

Before you begin

This task uses the setBPMVirtualHost, setBPMDefaultVirtualHost, and setBPMEndpoint commands, which are run using the AdminTask object of the wsadmin scripting client. To run the commands, the following prerequisites must be met:
  • The commands must be run on the deployment manager node.
  • If the deployment manager is stopped, use the wsadmin -conntype none option to run the commands in disconnected mode.
  • If the deployment manager is running, you must connect with a user ID that has WebSphere Application Server configurator privileges. Do not use the wsadmin -conntype none option.

Start the wsadmin scripting client from the deployment_manager_profile/bin directory. The setBPMVirtualHost, setBPMDefaultVirtualHost, and setBPMEndpoint commands do not write to a log file, but the wsadmin scripting client always writes a profile_root/logs/wsadmin.traceout log file where you will find exception stack traces and other information.

About this task

IBM BPM generates many different types of URLs for action links in the external browser client, internal communications, and connections to internal services. If your topology or security setup requires that IBM BPM must generate certain types of URLs differently, there are various ways to configure them.

It is important to identify the different entry points in your network, such as load balancers and web servers, for external and internal clients. For example, generally, the protocol, host name, and port number of the entry point server must be used in any generated links that are served to clients. Sometimes the endpoints can be defined as a static URL, but in more complex topologies it might be necessary to use a dynamic strategy, such as extracting the information from the header of the request.

In simple topologies, the defaults should work without any changes. Generally, a production environment requires some changes to the defaults. For example, if you have a web server for external clients, see Customizing IBM BPM to work with a web server.

More complex topologies and ones that include multiple deployment environments require more targeted configuration of specific objects.

Procedure

To configure the endpoints, complete the following actions:

  1. Identify the components and structure of your topology. Components to consider include such things as load balancers, external web servers, reverse proxies, firewalls, internal web servers, Process Server, and Process Centers.
  2. Identify which default scenarios you must modify, and decide whether to use a virtual host object, a URL, or a list of dynamic strategies to determine the correct endpoint. See Default IBM BPM endpoint scenario keys and Strategies for identifying endpoint information.
  3. Connect to the wsadmin client by entering the following command: For Windows operating system
    wsadmin.bat -conntype NONE -lang jython
    For Linux operating systemFor UNIX operating system
    wsadmin.sh -conntype NONE -lang jython
  4. Change the default scenarios as required for each deployment environment. See Changing default scenarios.
  5. If you have a complex topology, you might need to configure optional scenarios for specific types of generated URLs. See Setting up optional scenarios for complex topologies.
  6. Activate the new settings by performing a ripple start of your clusters.
  7. Optional: Verify that the endpoints that you configured are working as expected. Process Center environments provide a servlet to verify the configuration of the endpoint service. It can be accessed at the following URL:
    /ProcessCenterInternal/endpointUrl?specificScenario=EXPOSED_ITEMS&defaultScenario=EXTERNAL_CLIENT&webAppName=teamworks.war

    Depending on which endpoints you configured, check that the clients that are affected by the endpoint changes are working correctly. For example, any changes to a scenario with a key that starts with the string PROCESS_PORTAL can be tested by using Process Portal from a browser. If there are any problems, check and correct the endpoint settings for URLs that are not working.

  8. If you are using Business Space and the federated REST API, you need to ensure that you update the URLs in the REST Services Gateway as in earlier versions of the product. See the topic REST service providers configuration.

Results

All URLs that are generated by IBM BPM work correctly in your topology.