IBM App Connect Enterprise with MQ client running in a container calling to an external MQ service

Learn how to set up an App Connect Enterprise integration that will run in a container and call an external MQ service.

Before you begin

The prerequisites are:

  • IBM App Connect Enterprise in a container on a helm release (for example: ibm-ace-server-dev and ibm-ace-server-dev).
  • An external MQ service, for example IBM MQ
  • App Connect Enterprise with an existing message flow that needs to connect to the external MQ service

Procedure

  1. Step 1: Create the App Connect Enterprise broker archive (BAR) file that contains an MQ node calling an external MQ service
  2. Step 2: Set up the security identity as a secret
  3. Step 3: Configure the ibm-ace-server-dev or ibm-ace-server-prod helm release to use the App Connect Enterprise with MQ client image and reference your MQ credentials

Step 1: Create the App Connect Enterprise broker archive (BAR) file that contains an MQ node calling an external MQ service

Before you begin

This step assumes that you already have access to an external MQ service with existing service credentials

Procedure

  1. Select MQ client connection properties in the Connection field of any App Connect Enterprise flow that contains a WebSphere MQ node.
  2. Fill out the rest of the fields as required to connect to your external MQ service.
  3. The Security identity field will contain a reference to the MQ service access credentials (username and API key/Password), which will be set up in later steps. We have named this my-mq-security-identity for the purposes of this tutorial; you can supply your own value.
  4. Complete the App Connect Enterprise project and generate the BAR file containing the flow with the MQ node.
    Example MQ Output Node Properties panel in the toolkit

    (Click image to view full size)

Step 2: Set up the security identity as a secret

Before you begin

This step assumes that you have familiarity with creating helm releases (for example, like ibm-ace-dashboard-dev or ibm-ace-dashboard-prod).

Procedure

  1. In an available helm release (for example, ibm-ace-dashboard-dev or ibm-ace-dashboard-prod), create a new server release by clicking Add server and adding the BAR file containing the MQ flow.
  2. On the next page, click Download configuration package to download files that allow further integration server configuration by using a secret.
    Screenshot of the Add server dialog box

    (Click image to view full size)

  3. Open the downloaded config folder and then edit the setdbparams.txt file.
    This is where the security identity will be added which contains the credentials required to access your external MQ service. Add the following line:
    mqsisetdbparms -w /home/aceuser/ace-server -n mq::{Security Identity} -u {MQ Username} -p {MQ API Key}

    For the example above, we have added the my-mq-security-identity containing MQ user ace-icp and API key as follows:

    mqsisetdbparms -w /home/aceuser/ace-server -n mq::my-mq-security-identity -u ace-icp -p FJVMgsS0gmuwvBZCcUaSFTrzlTz2Yvs2VWZI86RE2
  4. Ensure that you are logged into the cluster by running a command like the following:
    cloudctl login -a https://{Cluster IP}:8443 --skip-ssl-validation
  5. Run the following command, to add the integration configuration to the cluster:
    ./generateSecrets.sh {Secret Name}

    For example:

    ./generateSecrets.sh my-secret

    This adds the integration configuration to the cluster as a secret called my-secret that can be referenced during App Connect Enterprise server creation.

    Note: You need to target the namespace on the cluster where the server will be deployed to as this is where the secret will be referenced.
  6. With the secret successfully added, continue creating the server by copying the Content URL, and then clicking Configure release on the dashboard.

Step 3: Configure the ibm-ace-server-dev or ibm-ace-server-prod helm release to use the App Connect Enterprise with MQ client image and reference your MQ credentials

Procedure

The process of server configuration is very similar in the non-MQ and the MQ server versions, as outlined in the following steps:

  1. Supply the main configuration parameters as usual, including Helm release name, Target namespace, Target Cluster, Licence and Proxy Node IP or FQND.
  2. Under All parameters, paste the Content Server URL.
  3. In the drop-down list that contains the selection of Which type of image to run, select App Connect Enterprise & MQ Client.
    The MQ client option is required when deploying a flow containing a call to an external MQ service.
    Screenshot showing the App Connect Enterprise & MQ Client value in the Which type of image to run field

    (Click image to view full size)

  4. In the Docker Image section, use the fields to define which Docker images will be used for the deployment.
    In this case, the Docker image for ACE with MQ Client will be used.
    Screenshot showing the available Docker images

    (Click image to view full size)

  5. In the Integration Server section, the integration server configuration that was added earlier as a secret can be referenced by adding the secret name to The name of the secret to create or to use that contains the server configuration.
    The example below references my-secret, which was created in step 2.
    Screenshot showing the Integration Server fields

    (Click image to view full size)

  6. Complete any of the other chart configuration as required and start the server.
    The server should start up and run the BAR file connecting to the external MQ service.