+

Search Tips | Advanced Search

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 the IBM MQ Advanced for z/OS VUE queue manager.


Before starting

  • IBM MQ Bridge to blockchain is available as a part of a Connector Pack on IBM MQ Advanced for z/OS VUE Version 9.1.0. We 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 the IBM Java runtime environment Version 8.


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. We can develop with it locally with Docker, or in a container cluster in IBM Cloud. We can also activate and use the 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 we are already using IBM MQ Advanced for z/OS VUE and IBM Blockchain, we 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, we 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

We 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 we can specify multiple reply queues, one for each of the applications. You do not have to use defined reply queues. To use dynamic queues for replies, we 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 the queue manager and the credentials from your blockchain network to create a configuration file for the IBM MQ Bridge to blockchain.

Parent topic: Configure IBM MQ Advanced for z/OS VUE

Last updated: 2020-10-04