Configure IBM MQ Advanced for z/OS VUE for use with blockchain

Set up and run the IBM MQ Bridge to blockchain to securely connect an IBM MQ on z/OS® queue manager and IBM Blockchain. Use the bridge to asynchronously connect to, look up and update the state of a resource in your blockchain, by using a messaging application that connects to your IBM MQ Advanced queue manager.


Before you begin

  • IBM MQ Bridge to blockchain is available as a part of a Connector Pack on IBM MQ Advanced for z/OS VUE Version 9.0.4. We can connect to z/OS queue managers that are running on the same command level.
  • IBM MQ Bridge to blockchain is supported for use with your blockchain network that is based on Hyperledger Fabric v1.0 architecture.
  • The IBM MQ Bridge to blockchain must be installed, configured, and run on an x86 Linux environment that has the following installed:

    • IBM MQ Version 9.0.3 Redistributable Java client.
    • IBM Java runtime environment Version 8.
    If you already have IBM MQ Version 9.0.4 Redistributable Java client and IBM Java runtime environment Version 8 installed, we do not need to complete steps 4 and 5.


About this task

Blockchain is a shared, distributed, digital ledger that consists of a chain of blocks that represent agreed upon transactions between peers in a network. Each block in the chain is linked to the previous block, and so on, back to the first transaction.

IBM Blockchain is built on Hyperledger Fabric and we can develop with it locally with Docker or in a container cluster in IBM Cloud (formerly Bluemix®). We can also activate and use your IBM Blockchain network in production, to build, and govern a business network with high levels of security, privacy, and performance. For more information, see the IBM Blockchain Platform.

Hyperledger Fabric is an open source, enterprise blockchain framework that is developed collaboratively by members of the Hyperledger Project, including IBM as the initial code contributor. Hyperledger Project, or Hyperledger, is a Linux Foundation open source, global, collaborative initiative to advance cross-industry blockchain technologies. For more information, see IBM Blockchain, Hyperledger Projects, and Hyperledger Fabric.

If you are already using IBM MQ Advanced for z/OS VUE and IBM Blockchain, we can use the IBM MQ Bridge to blockchain to send simple queries, updates and receive replies from your blockchain network. In this way, we can integrate your on-premises IBM software with the cloud blockchain service.

A brief overview of the bridge operating process can be seen in Figure 1. A user application puts a JSON formatted message on the input/request queue on the z/OS queue manager. The bridge connects to the queue manager, gets the message from the input/request queue, checks that the JSON is correctly formatted, then issues the query or an update to the blockchain. The data that is returned by the blockchain is parsed by the bridge and placed on the reply queue, as defined in the original IBM MQ request message. The user application can connect to the queue manager, get the response message from the reply queue, and use the information.

Figure 1. IBM MQ Bridge to blockchain

We can configure the IBM MQ Bridge to blockchain to connect to a blockchain network as a participant, or peer. When the bridge is running, a messaging application requests the bridge to drive chaincode routines that query or update the state of the resource and return the results as a response, to the messaging application.


Procedure

  1. Create the objects for the bridge that are defined in csq4bcbq.jcl. Sample bridge queue definitions are provided for the default named queues that are used for user credentials and for message input to the bridge, SYSTEM.BLOCKCHAIN.IDENTITY.QUEUE, and SYSTEM.BLOCKCHAIN.INPUT.QUEUE.
    1. Copy csq4bcbq.jcl to a z/OS data set.
    2. Edit the csq4bcbq.jcl to customize your z/OS queue manager. You must provide a queue manager name and the high level qualifier for the IBM MQ product libraries. We can choose to modify the APPL1 bridge queue examples, or add further INPUT and REPLY queues for additional applications.
    3. Submit the csq4bcbq.jcl to create the objects that you defined.
  2. Transfer the x86download.tar.gz from the x86download directory to your x86 Linux environment by using your preferred method. Ensure that the file is transferred in binary mode.
  3. On x86 Linux, unpack the x86download.tar.gz
    tar -xvzf x86download.tar.gz
    The four directories that are unpacked are bin, lib, prereqs, and samp.
  4. Download the IBM Java runtime environment Version 8 to your x86 Linux environment.
    1. Click the Installable package (InstallAnywhere as root) link on the IBM Java SDK Developer Centre Java 8 Downloads page, with the file name ibm-java-x86_64-jre-8.0-4.6.bin, from the Linux on AMD64/EMT64T section. The IBM SDK, Java Technology Edition, Version 8 license page is displayed.
    2. Agree to the license to continue. On the download window, select Save file for the download to begin.
    3. Run the ibm-java-x86_64-jre-8.0-4.6.bin file to install it on your x86 Linux environment. The default installation location is the /opt/ibm/ directory.
      ./ibm-java-x86_64-jre-8.0-4.6.bin
    4. Set the path to your IBM 8 JRE:
      export PATH=/opt/ibm/java-x86_64-80/jre/bin:$PATH
  5. Download the IBM MQ Version 9.0.4 Redistributable Java client from Fix Central.
    1. Click the 9.0.4.0-IBM-MQC-Redist LinuxX64 link.
    2. Select Download using your browser (HTTPS). Click continue.
    3. Agree to the terms of the license.
    4. Click the 9.0.4.0-IBM-MQC-Redist-LinuxX64.tar.gz link and select Save file to download it.
    5. Unpack the 9.0.4.0-IBM-MQC-Redist-LinuxX64.tar.gz to a directory on your x86 Linux environment.
    6. Set the path to the directory where you unpacked the Redistributable Java client.
      export MQ_JAVA_INSTALL_PATH=/unpack_location/java


Results

You transferred the IBM MQ Bridge to blockchain from your z/OS to your x86 Linux environment, installed the IBM JRE 8, and the IBM MQ Version 9.0.4 Redistributable Java client.


What to do next

Use the information for your z/OS queue manager and the credentials from your blockchain network to create a configuration file for the IBM MQ Bridge to blockchain.