Configure XES Module for Docker to Work with TM

This section demonstates a way to configure XES Module for Docker to work with Transaction Management. In this scenario, Edifecs Transaction Management is hosted on a standalone computer which is accessible through the network. On another Unix computer Docker and XES Module for Docker are installed. To allow the XES Module for Docker to access the remote computer with TM, we pass an XEngine database connection settings file and a TM JMS connection settings file to the Docker container.

To export XEngine DB selector connection settings to a file:

  1. On the EAM System tab, Expand XEngine.
  2. Right-click Database Selector, and then click Properties.
  3. Expand the Database Selector on the left, and then select Connection.
  4. Provide database connection URL, Login, and Password.
  5. Click Check Connection to test the connection to the database.
  6. If the connection is successful, click OK.
  7. Go to the ${XERoot}\extensions\Selector\config\db folder. You should see the DBSelector.properties file. Later in this section, you will need this file to pass it to the Docker container.

To export TM JMS connection settings to a file

  1. Create a profile with a TM route.
  2. On the TM JMS service settings, specify the following:
    • The provider URL
    • The username
    • The password
  3. Start the profile and ensure that it is running correctly.
  4. Extract all JMS connection settings as XEServer environment variables.
  5. Go to ${XESRoot/profiles}/<your_profile>/config/environment. You should see the .properties file containing JMS settings. Later in this section, we will need this file to pass it to the Docker container.

Run XEServer in Docker

On the computer with Docker installed, run the following command:

docker run -it \
--name tm \
--net="host" \
-v "/home/<userName>/docker/mount/license.lic":"/opt/Edifecs/XEServer/license.lic" \
-v "/home/<userName>/docker/mount/env/tm.properties":"/opt/Edifecs/XEServer/environment/tm.properties" \
-v "/home/<userName>/docker/mount/artifacts/DBSelector.properties":"/opt/Edifecs/XEngine/extensions/Selector/config/db/DBSelector.properties" \
-v "/home/<userName>/docker/mount/in":"/opt/Edifecs/XEServer/profiles/Dockerized TM/workspace/inbound" \
registry.stage.kollab.link/xes:9.0.0.0-SNAPSHOT \
--image "repository:/files/profiles/Dockerized TM/XEServer(9.0.0)_Dockerized TM.zip"

where:

  • --name : The name of a Unix OS user.
  • -it : Runs a Docker container in an interactive mode.
  • --net="host" : The host name of the computer with TM installed.
  • -v "/home/<userName>/docker/mount/license.lic":"/opt/Edifecs/XEServer/license.lic" : Mounts the XEServer licence file.
  • -v "/home/<userName>/docker/mount/env/tm.properties":"/opt/Edifecs/XEServer/environment/tm.properties" : Mounts JMS connection settings file (See Step 5 in the Export the TM JMS connection settings to a file procedure).
  • -v "/home/<userName>/docker/mount/artifacts/DBSelector.properties":"/opt/Edifecs/XEngine/extensions/Selector/config/db/DBSelector.properties" : Mounts database connection settings file (See Step 7 in the Export XEngine DB selector connection settings to a file procedure).
  • -v "/home/<userName>/docker/mount/in":"/opt/Edifecs/XEServer/profiles/Dockerized TM/workspace/inbound" : Mounts an inbound folder to pass test data to the XEServer profile.
  • registry.stage.kollab.link/xes:9.0.0.0-SNAPSHOT : The XES Module for Docker image name.
  • --image "repository:/files/profiles/Dockerized TM/XEServer(9.0.0)_Dockerized TM.zip" : The link to the XEServer profile image.