[V9.1.0 Jul 2018][IBM MQ Advanced VUE][z/OS][Linux]

Configuring 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 for z/OS VUE 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 Value Unit Edition 9.1.0. You can connect to IBM MQ Advanced for z/OS VUE queue managers that are running on the same command level, or above.
  • IBM MQ Bridge to blockchain is supported for use with your blockchain network that is based on Hyperledger Composer built on Hyperledger Fabric.
  • The IBM MQ Bridge to blockchain must be installed in a UNIX System Services environment, and requires Java runtime environment 8 from IBM.

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 Hyperledger Composer. You can develop with it locally with Docker, or in a container cluster in IBM Cloud®. You 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 and Hyperledger Composer are 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, Hyperledger Fabric, and Hyperledger Composer.

If you are already using IBM MQ Advanced for z/OS VUE and IBM Blockchain, you can use the IBM MQ Bridge to blockchain to drive your Hyperledger Composer business model through the Hyperledger Composer REST interface, allowing you to update or query state in your blockchain, and receive replies back from your blockchain network. In this way, you can integrate your on-premises IBM software with, either a cloud blockchain service, or locally-managed on-premise solution.

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. Using the Hyperledger Composer REST server, 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 REST request 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
The diagram shows three environments, IBM MQ Advanced for z/OS VUE with the queue manager containing input and reply queues, z/OS with the IBM MQ Bridge to blockchain, and IBM Blockchain with the Hyperledger Composer network. There is also an application that sends a JSON request that goes through the input/request queue, the bridge, and the bridge sends it to the blockchain network. A green arrow shows the flow of the request message from the application to the blockchain. A blue arrow shows the flow of the reply, from the blockchain network, through the bridge, to the reply queue and back to the application.

You must configure the IBM MQ Bridge to blockchain to connect to a Hyperledger Composer REST server rather than to the underlying Hyperledger Fabric layer directly. When the bridge is running, a messaging application requests the bridge to drive the Hyperledger Composer REST API, based on the user defined business network model, which in turn drives the underlying chaincode routines that can query or update the state of the resource, and return the results as a response using the Hyperledger Composer REST server, to the messaging application.

Procedure

Create the queues for the bridge, by customizing and submitting the sample JCL in thlqual.SCSQPROC(CSQ4BCBQ).
Sample bridge queue definitions are provided for the default named queues that are used for:
  • Message input to the bridge: SYSTEM.BLOCKCHAIN.INPUT.QUEUE, and APPL1.BLOCKCHAIN.INPUT.QUEUE
  • Replies from blockchain: APPL1.BLOCKCHAIN.REPLY.QUEUE
Different applications can use the same input queue, but you can specify multiple reply queues, one for each of your applications. You do not have to use defined reply queues. If you want to use dynamic queues for replies, you must consider their security configuration.

Results

You created the queues that the bridge requires for processing messages from IBM MQ and your blockchain network.

What to do next

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