IBM MQ の概要

IBM® MQ が実行できること、それをどのように使用するか、それがどのように機能するか、およびそれに付属するツールとリソースの概要を示します。

IBM MQ は何をすることができますか?

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

IBM MQを使用するにはどうすればよいですか?

IBM MQ メッセージング・システムは、1 つ以上のキュー・マネージャーで構成されます。 キュー・マネージャーは、キューなどのメッセージング・リソースを構成する場所であり、アプリケーションの接続先です。これらのアプリケーションには、キュー・マネージャーと同じシステムで実行されるものや、ネットワークを介して接続されるものがあります。

複数のキュー・マネージャーが接続されたネットワークでは、システム間のメッセージの非同期ルーティング (生成側のアプリケーションとコンシューム側のアプリケーションが異なるキュー・マネージャーに接続される) がサポートされます。

IBM MQ は、IBM MQ Explorer GUI から、スクリプト型または対話式のコマンド行ツールを通して、あるいはプログラムによって、さまざまなツールを使用して管理できます。

IBM MQ に接続するアプリケーションは、さまざまなプログラミング言語のいずれかで作成することも、さまざまな API に作成することもできます。 C および Cobol から、 Java および .Net、 NodeJS および Ruby へ。

IBM MQ はどのように機能しますか?

IBM MQ の動作の概要を以下に示します。
  • 最初に、メッセージング・アプリケーションをキュー・マネージャーに接続する必要があります。 これには、アプリケーション接続を受け入れるために、キュー・マネージャーでチャネルを作成しなければならない場合があります。
  • アプリケーションが別のアプリケーションにデータを転送する場合は、メッセージが作成され、データがそこに書き込まれます。 メッセージはキューに書き込まれるか、またはトピック・サブスクライバーに配信されるトピックにメッセージがパブリッシュされます。
  • キューまたはサブスクリプションは、同じキュー・マネージャーに存在するものでも、その他の接続されたキュー・マネージャーに存在するものでもかまいません。 後者の場合、接続されたキュー・マネージャーは連携して、プロデューサーのキュー・マネージャーからターゲット・キュー・マネージャーにメッセージを確実に転送します。 これらのアプリケーションは相互に通信せず、キュー・マネージャーが通信します。
  • 信頼性や持続性とスピードとのバランスを考えて、いくつかの異なるサービス品質に基づいてメッセージを処理できます。 サービスの品質が最も高いメッセージは、トランザクションの制御下で送受信される持続メッセージです。 この場合、システム、ネットワーク、またはアプリケーションで障害が発生した場合でも、メッセージが確実に 1 回限り配信されます。
  • IBM MQ チャネルは、ネットワークを介して 1 つのキュー・マネージャーを別のキュー・マネージャーに接続するために使用されます。 IBM MQ チャネルを自分で作成することも、キュー・マネージャーをキュー・マネージャーのクラスターに参加させることもできます。キュー・マネージャーでは、必要に応じて IBM MQ チャネルが自動的に作成されます。
  • [z/OS]On z/OS®では、複数のキューマネージャが結合設備のキューを共有するように設定することができます。 複数のキュー・マネージャーに接続されたアプリケーションは、同じキューでメッセージの書き込みおよび取得が行えます。
  • 1 つのキュー・マネージャー上に、多数のキューやトピックを設定できます。
  • 1 つのコンピューター上に複数のキュー・マネージャーを持つことができます。
  • アプリケーションは、キュー・マネージャーと同じコンピューター上で実行することも、別のコンピューター上で実行することもできます。 同じコンピューター上で実行される場合は、 IBM MQ サーバー・アプリケーションです。 別のコンピューターで実行されている場合は、 IBM MQ クライアント・アプリケーションです。 IBM MQ クライアントであるかサーバーであるかにかかわらず、アプリケーションにほとんど違いはありません。 IBM MQ クライアントまたはサーバーを使用して、クライアント/サーバー・アプリケーションを構築することができます。

[Windows] IBM MQ を使うのが初めてで、IBM MQ を使い始めるための詳細を知りたい場合は、LearnMQIBM Developer を参照してください。

IBM MQ にはどのようなツールとリソースが付属していますか?

IBM MQ は、以下のツールおよびリソースを提供します。
  • コマンド・ラインから実行する制御コマンド。 制御コマンドを使用して、キュー・マネージャーの作成、開始、および停止を実行します。 また、制御コマンドを使用して IBM MQ 管理プログラムおよび問題判別プログラムを実行することもできます。
  • IBM MQ スクリプト・コマンド (MQSC)。インタープリターによって実行されます。 これらのコマンドを使用して、キューとトピックを作成し、 IBM MQ を構成および管理します。 ファイルでコマンドを編集し、そのファイルを runmqsc プログラムに渡すと、それらのコマンドが解釈されます。 また、別のキュー・マネージャーを管理する別のコンピューターにコマンドを送信する、1 つのキュー・マネージャー上でインタープリターを実行することもできます。
  • IBM MQを管理するために独自のアプリケーションで呼び出すプログラマブル・コマンド・フォーマット (PCF) コマンド。 PCF コマンドには、スクリプト・コマンドと同じ機能がありますが、より簡単にプログラムできます。
  • IBM MQ Console は、 IBM MQの管理に使用できる Web ベースのユーザー・インターフェースです。 IBM MQ Console はブラウザーで実行され、キュー・マネージャーおよび IBM MQ オブジェクトを制御します。
  • REST API は、既存の IBM MQ Script Commands (MQSC) および Programmable Command Format (PCF) ツールに代わるプログラマブル・インターフェースを提供します。 この RESTful API は、一般的な DevOps および自動化ツールに IBM MQ 管理を組み込むのに役立ちます。
  • サンプル・プログラム。
  • [Windows][Linux] Windows および Linux® x86 および x86-64 プラットフォームでは、IBM MQ Explorer を使用して、キューマネージャが動作しているプラットフォームに関係なく、キューマネージャのネットワーク全体を管理および設定することができます。 IBM MQ Explorer は、スクリプト・コマンドと同じ管理用タスクを実行しますが、対話式に使用する方がはるかに簡単です。