IBM MQ の概要

IBM® MQ を利用すると、複数のアプリケーションが、さまざまな時点で、多種多様なコンピューティング環境で通信できるようになります。

IBM MQ とは

IBM MQ は、あらゆるタイプのデータをメッセージとして転送できるため、企業はサービス指向アーキテクチャー (SOA) 環境などの柔軟で再利用可能なアーキテクチャーを構築できます。 幅広いコンピューティング・プラットフォーム、アプリケーション、Web サービス、通信プロトコルと連携して、セキュリティーに富んだメッセージ配信を行います。 IBM MQ により、組織内外のメッセージとデータのフローに可視性と制御をもたらす通信層を実現できます。

IBM MQ には、以下の利点があります。
  • メインフレームからモバイルにまで対応できる汎用的なメッセージング統合により、動的な異機種混合環境に単一の堅固なメッセージング・バックボーンを提供します。
  • セキュリティーに富んだ機能を使用してメッセージを配信するため、監査可能な結果が生成されます。
  • ハイパフォーマンス・メッセージ・トランスポートにより、データ配信の速度と信頼性を向上させます。
  • メッセージ管理を簡素化し、複雑なツールの使用に要する時間を短縮する管理機能を備えています。
  • オープン・スタンダードの開発ツールにより、拡張性とビジネスの拡大をサポートします。

アプリケーションは、プログラミング・インターフェース、および IBM MQ に接続するプログラミング言語を選択できます。

IBM MQPoint-to-Pointパブリッシュ/サブスクライブファイル転送の操作モードを備えた、メッセージングおよび キューイングのミドルウェアです。 アプリケーションは、マルチキャスト で複数のサブスクライバーにメッセージをパブリッシュできます。
メッセージング
プログラムは、相互に直接呼び出すのではなく、メッセージ形式で相互にデータをやりとりすることによって通信を行います。
キューイング
メッセージがキューに置かれるため、プログラムは異なる速度や時間、異なる場所で、またプログラム間で直接接続せずに、相互に独立した形で実行できます。
Point-to-point
アプリケーションは、メッセージをキューまたはキューのリストに送信します。 送信側は、宛先の名前を知っている必要がありますが、存在する場所については知る必要がありません。
パブリッシュ/サブスクライブ
アプリケーションは、チームでプレイされるゲームの結果など、トピック上のメッセージをパブリッシュします。 IBM MQ は、メッセージのコピーを、結果トピックにサブスクライブするアプリケーションに送信します。 それらのアプリケーションは、チームによってプレイされるゲームの結果としてメッセージを受信します。 パブリッシャーは、サブスクライバーの名前、またはその存在する場所を知りません。
マルチキャスト
マルチキャストは、多数のサブスクライバーに拡張可能な、パブリッシュ/サブスクライブ・メッセージングの効率の良い形式です。 マルチキャストは、パブリケーションのコピーを送信する働きを各サブスクライバー (IBM MQ からネットワークまで) に伝達します。 パブリケーションのパスがパブリッシャーとサブスクライバーの間でいったん確立されると、IBM MQ はパブリケーションの転送に関与しなくなります。
ファイル転送
ファイルは、メッセージという形で転送されます。 IBM MQ Managed File Transfer は、ファイル転送を管理し、転送の自動化を設定したり、結果をログに記録したりします。 ファイル転送を他のファイル転送システム、IBM MQ メッセージング、および Web と統合できます。
Telemetry (遠隔測定)
IBM MQ TelemetryIBM MQ Telemetry Transport (MQTT) サーバーを提供しています。 このサーバーは、IBM MQ 環境を「モノのインターネット」、つまりネットワークの末端にある多数のモバイル・デバイス、Web デバイス、M2M デバイス、およびアプリケーションに拡張します。 IBM MQ Telemetry を使用すると、バックオフィス・システムで、これらのデバイスやアプリケーションからのメッセージを利用したり応答したりできます。 既存のメッセージング環境の混乱を最小限に抑えるため、遠隔測定サーバーは MQTT や他のプロトコルを介して通信できます。例えばサーバーを、MQTT との間で外部的に通信し、JMS との間で内部的に通信するよう構成できます。

利点

IBM MQ は、堅固な接続性を備えた汎用的なメッセージング・バックボーンを提供します。 これにより、信頼性の高い柔軟なメッセージングをアプリケーションで利用し、サービス指向アーキテクチャー (SOA) を使用して既存の IT 資産を統合することが可能になります。
  • IBM MQ は、アプリケーション間で、ネットワーク経由でデータを送受信します。
  • メッセージ・デリバリーは確実であり、アプリケーションからは分離 されています。IBM MQ はメッセージをトランザクションとして交換するため、確実です。 また、アプリケーションは送信したメッセージが無事に送達されたことを検査する必要がないため、分離されています。
  • SSL/TLS を使用して、キュー・マネージャー間のメッセージ送達を保護できます。
  • Advanced Message Security (AMS) を使用して、1 つのアプリケーションによって書き込まれ、別のアプリケーションによって取得されるメッセージの暗号化および署名を行えます。
  • アプリケーション・プログラマーには通信プログラミングの知識は 必要ありません。

使用方法

IBM MQ にはさまざまな使用方法があります。 例えば、次のことを実行できます。
  • MQ エクスプローラー GUI を使用して、またはコマンド・ウィンドウやアプリケーションからコマンドを実行することによって、IBM MQ を作成および管理します。
  • プログラミング・インターフェースの 1 つを呼び出してメッセージを送受信するように、アプリケーションをプログラムします。 プログラミング・インターフェースは、複数の言語で提供され、標準的な JMS プログラミング・インターフェース、および Windows Communication Foundation のクラスを組み込みます。
  • HTTP プロトコルを使用してブラウザーから IBM MQ メッセージを送受信します。

動作方法

以下に、IBM MQ の動作方法の概要を示します。

[Windows]IBM MQ を初めて使用する場合は、本書の『シナリオ』セクションの IBM MQの概要も参照してください。
  • 管理者は、コマンドを使用してキュー・マネージャーを作成および開始します。 その後は、オペレーティング・システムが起動するときに、通常、キュー・マネージャーは自動的に開始します。 アプリケーションおよびその他のキュー・マネージャーは、メッセージを送受信するために、そのキュー・マネージャーに接続できます。
  • アプリケーションまたは管理者は、キューまたはトピックを作成します。 キューおよびトピックは、キュー・マネージャー によって所有および保管されるオブジェクトです。
  • アプリケーションが別のアプリケーションにデータを転送する場合は、データをメッセージに書き込みます。 そのアプリケーションは、メッセージをキューに書き込むか、またはメッセージをトピックにパブリッシュします。 主に以下の 3 つの方法で、メッセージを取得できます。
    同じキュー・マネージャーに接続された Point-to-Point アプリケーションは、同じキューからメッセージを取得します。
    例えば、アプリケーションは、一時データまたは永続データを保管する方法として、メッセージをキューに書き込みます。 2 つ目の例として、異なるプロセスで実行している別のアプリケーションとデータを共有するアプリケーションがあります。
    別のキュー・マネージャーに接続された Point-to-Point アプリケーションは、異なるキューから同じメッセージを取得します。
    アプリケーションは、キューでメッセージを交換することにより、相互に通信します。 IBM MQ の主な使用方法は、メッセージを送信または交換することです。 1 つのアプリケーションが 1 台のコンピューター上でキューにメッセージを書き込み、別のアプリケーションが異なるコンピューター上で別のキューから同じメッセージを受信します。 2 台のコンピューター上にあるキュー・マネージャーは連携して、最初のキューから 2 番目のキューにメッセージを転送します。 これらのアプリケーションは相互に通信せず、キュー・マネージャーが通信します。
    キュー・マネージャーに接続されたサブスクライバー・アプリケーションは、共通トピックでメッセージを取得します。
    パブリッシャー・アプリケーションは、メッセージを作成し、そのメッセージを 1 台のコンピューター上にあるトピックにパブリッシュします。 任意の数のサブスクライバー・アプリケーションが、異なるコンピューター上の同じトピックにサブスクライブします。 IBM MQ は、サブスクライバーが接続されているキュー・マネージャーに属しているキューにパブリケーションを送達します。 サブスクライバーは、メッセージをそれらのキューから取得します。
  • IBM MQ チャネルは、1 つのキュー・マネージャーをネットワーク上の別のキュー・マネージャーに接続します。 ユーザーは自分で MQ チャネルを作成できます。 または、必要に応じて、キュー・マネージャーのクラスター内のキュー・マネージャーによって、MQ チャネルが作成されます。
  • [z/OS]z/OS® では、カップリング・ファシリティー上でキューを共有するように、複数のキュー・マネージャーを構成できます。 複数のキュー・マネージャーに接続されたアプリケーションは、同じキューでメッセージの書き込みおよび取得が行えます。
  • 1 つのキュー・マネージャー上に、多数のキューやトピックを設定できます。
  • 1 つのコンピューター上に複数のキュー・マネージャーを持つことができます。
  • アプリケーションは、キュー・マネージャーと同じコンピューター上で実行することも、別のコンピューター上で実行することもできます。 アプリケーションを同じコンピューター上で実行する場合、それは IBM MQ サーバー・アプリケーションになります。アプリケーションを別のコンピューター上で実行する場合、それは IBM MQ クライアント・アプリケーションになります。IBM MQ クライアントであっても、サーバーであっても、アプリケーションにほとんど違いはありません。 クライアント/サーバー・アプリケーションを IBM MQ クライアントまたはサーバーで作成できます。

IBM MQ に付属するツールやリソースの概要

IBM MQ には、以下のツールおよびリソースが用意されています。
  • コマンド・ラインから実行する制御コマンド。 制御コマンドを使用して、キュー・マネージャーの作成、開始、および停止を実行します。 また、制御コマンドを使用して、IBM MQ の管理および問題判別プログラムを実行できます。
  • インタープリターによって実行される IBM MQ スクリプト・コマンド (MQSC)。 これらのコマンドを使用して、キューおよびトピックの作成、および IBM MQ の構成や管理を実行します。 ファイルでコマンドを編集し、そのファイルを runmqsc プログラムに渡すと、それらのコマンドが解釈されます。 また、別のキュー・マネージャーを管理する別のコンピューターにコマンドを送信する、1 つのキュー・マネージャー上でインタープリターを実行することもできます。
  • IBM MQ を管理するために、独自のアプリケーションで呼び出すプログラマブル・コマンド・フォーマット (PCF) コマンド。 PCF コマンドには、スクリプト・コマンドと同じ機能がありますが、より簡単にプログラムできます。
  • サンプル・プログラム。
  • Windows および Linux® の x86 および x86-64 プラットフォームでは、以下のユーティリティーを使用できます。
    • MQ エクスプローラーMQ エクスプローラーは、ネットワーク全体の管理および構成に使用できます。 このエクスプローラーは、スクリプト・コマンドと同じ管理タスクを実行しますが、より簡単に対話式に使用できます。
    • Postcard アプリケーション。メッセージングのデモを行って、インストールを検証します。
    • チュートリアル。