IBM MQ を使用した REST アプリケーションの開発

メッセージを送受信する REST アプリケーションを開発できます。 IBM® MQ は、プラットフォームと機能に応じて異なる REST API をサポートします。

REST を使用して IBM MQ との間でメッセージを送受信するために選択できる IBM MQ サポート・オプションは、以下のオプションです。

[V9.0.4 2017 年 10 月]IBM MQ messaging REST API

messaging REST API は、 IBM MQ 9.0.4IBM MQ に標準装備されており、デフォルトで有効になっています。 messaging REST API を使用して、 IBM MQ メッセージをプレーン・テキスト形式で送受信できます。

アプリケーションは、HTTP POST を発行してメッセージを IBM MQに送信したり、HTTP DELETE を発行して IBM MQからメッセージを破壊的に取得したりすることができます。 一般的なメッセージ・プロパティーを設定するために使用できる多くのさまざまな HTTP ヘッダーがサポートされています。

messaging REST API は、 IBM MQ セキュリティーと完全に統合されています。 ユーザーは mqweb サーバーで認証されなければならず、また、MQWebUser 役割のメンバーである必要があります。

詳しくは、 REST APIを使用したメッセージングを参照してください。

IBM MQ bridge for HTTP

IBM MQ Bridge for HTTP は、適切なランタイム環境にインストールできる JEE アプリケーションであり、単一の MQ キュー・マネージャーによってホストされるキューとトピックの両方に対して基本的な REST API を提供します。

アプリケーションは、ブリッジに対して HTTP POST を発行してメッセージを IBM MQに送信したり、HTTP GET を発行して IBM MQからメッセージを参照したり、HTTP DELETE を発行して IBM MQからメッセージを破壊的に取得したりすることができます。 メッセージ・プロパティーを設定するために使用できる多くのさまざまな HTTP ヘッダーがサポートされています。

注: IBM MQ 8.0以降、 IBM MQ bridge for HTTP は非推奨になりました。 IBM MQ 9.0.4 から提供される IBM messaging REST API は、代替手段として使用する必要があります。

詳しくは、 IBM MQ Bridge for HTTP を使用した Web サービスの開発を参照してください。

IBM z/OS Connect EE

IBM z/OS Connect EE (zCEE) は、 CICS または IMS トランザクション、 IBM MQ キューおよびトピックなどの既存の z/OS 資産の上に REST API を作成できるようにする z/OS 製品です。 既存の z/OS 資産はユーザーから隠されます。 そのため、資産も資産を使用する既存のアプリケーションも変更することなく、資産を REST 対応にすることができます。

zCEE を使用すると、JSON データを送受信する REST API を簡単に構築できます。また、オプションで、そのデータを、多くのメインフレーム・アプリケーションで期待される従来の言語構造に変換することもできます。 例えば、COBOL コピーブックなどです。

Eclipse ベースの API エディターを使用して、照会パラメーターと URL パス・セグメントを使用し、zCEE ランタイムで送受信される JSON 形式を操作する包括的な RESTful API を構築できます。

zCEE を使用して、 IBM MQ キューおよびトピックをサービスとして公開できます。 次の 2 つの異なるサービス・タイプがサポートされます。
  • 1 つの方法のサービス: 提供される機能は、HTTP POST がメッセージを送信し、HTTP DELETE がメッセージを破壊的に取得する、 IBM MQ Bridge for HTTP で提供される機能と似ています。 ブリッジを経由する主なメリットは、組み込みのデータ変換サポートを利用できること、また、API エディターを使用してより包括的な RESTful API を構築できることです。
  • 両方向サービス: これは、バックエンドの要求/応答スタイルのアプリケーションによって使用されるキューのペアの上に REST API を提供します。 呼び出し元は HTTP POST を双方向サービスに発行して JSON データを送信します。 このデータは要求キューに書き込まれ、そこでバックエンド・アプリケーションによって処理されます。そして、応答が応答キューに書き込まれます。 この応答が取り出され、POST 応答の本文として呼び出し元に送り返されます。

zCEE は、 IBM MQ 8 以降でサポートされます。 詳しくは、 IBM MQ for z/OS Service Provider for z/OS Connectを参照してください。

IBM Integration Bus

IBM Integration Bus は、 IBMの最先端の統合テクノロジーであり、サポートするメッセージ・フォーマットやプロトコルに関係なく、アプリケーションとシステムを相互に接続するために使用できます。

IBM Integration Bus は常に IBM MQ をサポートしており、 HTTPInput ノードおよび HTTPRequest ノードを提供します。これらのノードを使用して、 IBM MQおよびその他の多くのシステム (データベースなど) 上で RESTful インターフェースを構成できます。

IBM Integration Bus を使用すると、 IBM MQの上に単純な REST インターフェースを提供する以上のことを行うことができます。 その機能を使用して、拡張ペイロード操作、ペイロード・エンリッチ、およびその他の多くの機能拡張を REST APIの一部として提供することができます。

詳しくは、 テクノロジー・サンプル を参照してください。これは、XML ペイロードを予期する IBM MQ アプリケーションの上に、REST インターフェースを介して JSON を公開します。

DataPower

DataPower ゲートウェイは、 IBM MQを含むさまざまなシステムへのセキュリティー、制御、統合、および最適化されたアクセスを提供するのに役立つ単一のマルチチャネル・ゲートウェイです。 ハードウェア形式と仮想形式の両方の要素として提供されています。

DataPower が提供するサービスの 1 つは、1 つのプロトコルで入力を受け取り、別のプロトコルで出力を生成できるマルチプロトコル・ゲートウェイです。 特に DataPower は、HTTP(S) データを受け入れ、クライアント接続を介して IBM MQ に経路指定するよう構成するできます。これを使用して、IBM MQ 上に REST インターフェースを構築することができます。 変換などのその他の DataPower サービスを使用して、REST インターフェースを拡張することもできます。

詳しくは、 マルチプロトコル・ゲートウェイ・サービスを参照してください。