[IBM MQ Advanced][Linux][V9.0.4 2017 年 10 月]

ブロックチェーンで使用するための IBM MQ の構成

IBM MQ Advanced キュー・マネージャーと IBM Blockchainを安全に接続するために、 IBM® MQ Bridge to blockchain をセットアップして実行します。 IBM MQ Advanced キュー・マネージャーに接続するメッセージング・アプリケーションを使用して、ブロックチェーンに非同期で接続し、ブロックチェーン内のリソースの状態を検索して更新するには、ブリッジを使用します。

始める前に

  • IBM MQ Bridge to blockchain は、 IBM MQ Advanced キュー・マネージャーへの接続にのみ使用できます。
  • キュー・マネージャーは、ブリッジと同じコマンド・レベルでなければなりません (例: IBM MQ 9.0.4)。
  • IBM MQ Bridge to blockchain は、 Hyperledger Fabric 1.0 architectureベースのブロックチェーン・ネットワークでの使用がサポートされています。

本タスクについて

ブロックチェーンとは、分散型の共有デジタル台帳であり、ネットワーク上のピアの間で合意されたトランザクションを表すブロックがチェーン状に連なったもので構成されます。 チェーン内のそれぞれのブロックは前のブロックにリンクしているため、最終的には最初のトランザクションにリンクしています。

IBM BlockchainHyperledger Fabric 上に構築されており、 Docker を使用してローカルで開発することも、 IBM Cloud® (formerly Bluemix®)のコンテナー・クラスター内で開発することもできます。 また、 IBM Blockchain ネットワークを実動環境でアクティブ化して使用し、高水準のセキュリティー、プライバシー、およびパフォーマンスを備えたビジネス・ネットワークを構築して管理することもできます。 詳しくは、 IBM Blockchain Platformを参照してください。

Hyperledger Fabric は、 Hyperledger Projectのメンバー (初期コード・コントリビューターとしての IBM を含む) によって共同で開発された、オープン・ソースのエンタープライズ・ブロックチェーン・フレームワークです。 Hyperledger Project、 または Hyperledgerは、業界横断のブロックチェーン・テクノロジーを推進するための Linux Foundation オープン・ソースのグローバルなコラボレーション・イニシアチブです。 詳しくは、 IBM BlockchainHyperledger プロジェクト、および Hyperledger Fabricを参照してください。

既に IBM MQ AdvancedIBM Blockchainを使用している場合は、 IBM MQ Bridge to blockchain を使用して、簡単な照会を送信したり、更新したり、ブロックチェーン・ネットワークから応答を受信したりすることができます。 このようにして、オンプレミス IBM ソフトウェアをクラウド・ブロックチェーン・サービスと統合できます。

ブリッジ操作プロセスの概要は、Figure 1に記載されています。 ユーザー・アプリケーションは、JSON形式のメッセージをIBM MQ Advanced キュー・マネージャー上の入力/要求キューに入れます。 ブリッジはキュー・マネージャーに接続し、入力/要求キューからメッセージを取得し、JSON が正しくフォーマット設定されていることを確認してから、照会または更新をブロックチェーンに発行します。 ブロックチェーンによって返されるデータは、ブリッジによって解析され、元の IBM MQ 要求メッセージで定義されているように応答キューに入れられます。 ユーザー・アプリケーションは、キュー・マネージャーに接続して、応答キューから応答メッセージを取得し、その情報を使用できます。

図 1. IBM MQ Bridge to blockchain
この図は、キュー・マネージャーに入力キューと応答キューが含まれている IBM MQ Advanced 、 IBM MQ Bridge to blockchain が含まれている X86 Linux 、Hyperledger Fabric ネットワークが含まれている IBM Blockchain の 3 つの環境を示しています。 また、入力/要求キューを介してブリッジに JSON 要求を送信するアプリケーションと、その要求をブロックチェーン・ネットワークに送信するブリッジもあります。 アプリケーションからブロックチェーンへの要求メッセージの流れを緑の矢印で示しています。 青色の矢印は、ブロックチェーン・ネットワークからブリッジを経由して応答キューに戻り、アプリケーションに戻る応答のフローを示します。

参加者またはピアとしてブロックチェーン・ネットワークに接続するように IBM MQ Bridge to blockchain を構成できます。 ブリッジの実行中に、メッセージング・アプリケーションからブリッジに、リソースの状態を照会または更新して結果を応答としてメッセージング・アプリケーションに返すチェーンコード・ルーチンを実行するように要求します。

手順

  1. キュー・マネージャーを作成して開始するか、 IBM MQ Bridge to blockchainで使用する既存のキュー・マネージャーを開始します。
    キュー・マネージャーの作成:
    crtmqm adv_qmgr_name
    キュー・マネージャーの開始:
    strmqm adv_qmgr_name
  2. DefineQ.mqsc スクリプトで定義されているブリッジのキューを作成します。
    以下に使用される指定されたデフォルト・キューには、サンプル・ブリッジ・キュー定義が用意されています。
    • ユーザー資格情報、例えば、SYSTEM.BLOCKCHAIN.IDENTITY.QUEUE
    • ブリッジへのメッセージ入力、例えばAPPL1.BLOCKCHAIN.INPUT.QUEUE
    • ブロック・チェーンからの応答、例えば、APPL1.BLOCKCHAIN.REPLY.QUEUE
    /opt/mqm/mqbc/samp ディレクトリーから、以下のコマンドを発行します:
    runmqsc adv_qmgr_name < ./DefineQ.mqsc
    アプリケーションごとに同じ入力キューを使用できますが、アプリケーションごとに 1 つずつ、複数の応答キューを指定することができます。 定義済み応答キューを使用する必要はありません。 応答に動的キューを使用する場合は、そのセキュリティー構成を考慮する必要があります。

結果

IBM MQ およびブロックチェーン・ネットワークからのメッセージを処理するためにブリッジが必要とするキューを作成しました。

次のタスク

IBM MQ Advanced キュー・マネージャーの情報とブロックチェーン・ネットワークの資格情報を使用して、 IBM MQ Bridge to blockchainの構成ファイルを作成します。