Use nJAMS with BWCE#

TIBCO BusinessWorks Container Edition is a Cloud Native Application framework that runs within containers. nJAMS Client for BW6 can be configured to run within a container next to TIBCO BusinessWorks Container Edition.

Prerequisites#

The following prerequisites are required:

  • TIBCO BusinessWorks Container Edition base Docker Image BWCE base image, including your BWCE application. Please refer to TIBCO documentation for creating a base Docker image.

  • nJAMS BWCE package. Enter Integration Matters Download Portal to download nJAMS BWCE package file. nJAMS BWCE package is part of nJAMS Client for BW6 download package, see njams-client-bw6-installer-<VERSION>-bwce-assembly.zip.

Extend TIBCO BWCE base Docker image#

The TIBCO BWCE base Docker image can be extended to support nJAMS Client for BW6 as follows:

  1. Download nJAMS BWCE package file.

  2. Copy nJAMS BWCE package file to a temporary folder and unzip the package for example into sub folder njams.

  3. If not included in your base image, add TIBCO EMS driver files (tibjms.jar, and tibjmsadmin.jar) to the nJAMS BWCE package by putting both files into the njams/jars folder.

  4. Adapt njams/conf/njams-bw6.properties according to your connection requirements.

  5. In the temporary folder create a Dockerfile that copies the nJAMS BWCE package file into the base Docker image. Adapt the reference to your base image as needed.

FROM tibco/bwce:latest
COPY ./njams/lib/njams-palette/nJAMS.zip /resources/addons/plugins
ADD ./njams/ /resources/addons/thirdparty-installs/njams

Tip

You can omit the second line if you do not require nJAMS palette in your application.

  1. Build the Docker image by running the following command from the temporary folder:

docker build -t <YOUR-TAG> .

Make nJAMS configuration persistent#

When a BWCE application is redeployed/restarted, the container file is removed and recreated. Since nJAMS Client for BW6 uses the TIBCO installation directory by default for storing its application based configurations, such as Extracts, Traces, etc., these config files, respectively Extracts and Traces, are lost, when recreating the container.

You can prevent nJAMS Client for BW6 config files from getting lost by storing them on a persistent volume as follows:

  1. On the BWCE machine mount a volume, where the nJAMS config files permanently reside.

  2. Use nJAMS start parameter njams.bw6.config to refer to nJAMS properties file on the mounted volume, e.g. njams.bw6.config=/mnt/config/njams/njams.properties. nJAMS Client for BW6 will then also refer to the application based property files in this specified folder.

    The start parameter can be replaced in bwappnode.tra at /<tibco_bw_dir>/bin. By default, the setting is e.g.: java.extended.properties=-Xmx1024m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Dnjams.bw6.config="/opt/tibco/bw/6.6/config/njams/njams.properties"

    Replace this setting with e.g.: java.extended.properties=-Xmx1024m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Dnjams.bw6.config="/mnt/config/njams/njams.properties"

    Now, nJAMS Client for BW6 is using njams.properties file from the mounted volume and also uses application based config files from this drive. Extracts and Traces will remain, when BWCE application is restarted.