チャネル
IBM® MQ は、メッセージ・チャネル、MQI チャネル、および AMQP チャネルの 3 つの異なるタイプのチャネルを使用できます。
これらの別個のタイプのチャネルを混同しないでください。
- メッセージ・チャネル
- メッセージ・チャネルは、2 つのキュー・マネージャーの間の単一方向通信リンクです。 IBM MQ は、メッセージ・チャネルを使用してキュー・マネージャー間でメッセージを転送します。 両方向にメッセージを送信するには、方向ごとにチャネルを定義する必要があります。
- MQI チャネル (MQI channel)
- MQI チャネルは、両方向であり、アプリケーション (MQI クライアント) をサーバー・マシン上のキュー・マネージャーに接続します。 IBM MQ は MQI チャネルを使用して、MQI クライアントとキュー・マネージャーの間で MQI の呼び出しと応答を転送します。
AMQP チャネル
- AMQP チャネルは、両方向であり、AMQP クライアントをサーバー・マシン上のキュー・マネージャーに接続します。 IBM MQ は AMQP チャネルを使用して、AMQP アプリケーションとキュー・マネージャーの間で AMQP 呼び出しと応答を転送します。
メッセージ・チャネルに言及する際、チャネルという言葉はよくチャネル定義の同義語として使用されます。 2 つの側を持つ完全チャネルのことか、または 1 つの側しかないチャネル定義のことなのかは、ふつうはその文脈から明らかです。
メッセージ・チャネル
メッセージ・チャネル定義は、以下のタイプのいずれかです。
メッセージ・チャネル定義のタイプ | 説明 |
---|---|
送信側 | 送信側チャネルは、キュー・マネージャーがメッセージを他のキュー・マネージャーに送信するために使用するメッセージ・チャネルです。 送信側チャネルを使用してメッセージを送信するには、 他のキュー・マネージャー上に送信側チャネルと同じ名前の受信側チャネルも作成しなければなりません。 「コールバック」メカニズムを実装している場合は、送信側チャネルを要求側チャネルと共に使用できます。 |
サーバー | サーバー・チャネルは、キュー・マネージャーがメッセージを他のキュー・マネージャーに送信するために使用するメッセージ・チャネルです。 サーバー・チャネルを使用してメッセージを送信するには、 他のキュー・マネージャー上にサーバー・チャネルと同じ名前の受信側チャネルも作成しなければなりません。 要求側チャネルを持つサーバー・チャネルを使用することもできます。 その場合、 チャネルの他方の終端の要求側チャネル定義によって、サーバー・チャネル定義の開始が要求されます。 サーバーは要求側にメッセージを送信します。 サーバーにパートナー・チャネルの接続名が知られている限り、サーバーも通信を開始することができます。 |
受信側 | 受信側チャネルは、キュー・マネージャーがメッセージを他のキュー・マネージャーから受信するために使用するメッセージ・チャネルです。 受信側チャネルを使用してメッセージを受信するには、他のキュー・マネージャー上にこの受信側チャネルと同じ名前の送信側またはサーバー・チャネルも作成しなければなりません。 |
リクエスター | 要求側チャネルは、キュー・マネージャーが他のキュー・マネージャーからメッセージを受信するために使用するメッセージ・チャネルです。 要求側チャネルは、リモート・エンドで定義されているパートナー・チャネルに開始を要求できます。 パートナー・チャネルがサーバー・チャネルの場合、サーバー・チャネルは開始要求を受け入れて、 サーバー・チャネル定義で識別されている伝送キューから要求側チャネルへのメッセージの送信を開始します。 パートナー・チャネルが送信側チャネルの場合、送信側チャネルは開始要求を受け入れますが、その時点で要求側との接続をクローズします。 その後、送信側チャネルが開始し、要求側であるパートナー・チャネルとのセッションをネゴシエーションして、送信側チャネル定義で識別されている伝送キューからのメッセージの送信を開始します。 要求側チャネルが送信側チャネルにコールバックを要求するという点で、この後者のケースは本質的にコールバック・メカニズムを提供しています。 |
クラスター送信側 | クラスター送信側 (CLUSSDR) チャネル定義は、クラスター・キュー・マネージャーがいずれかの フル・リポジトリーにクラスター情報を送信できるチャネルの送信側を定義します。 クラスター送信側チャネルを使用して、キューの追加や削除など、キュー・マネージャーの状況の変化をリポジトリーに 通知します。 また、このチャネルは、メッセージの送信にも使用されます。 フル・リポジトリー・キュー・マネージャー自体に、お互いを指し示すクラスター送信側チャネルがあります。 フル・リポジトリー・キュー・マネージャーは、このチャネルを使用してクラスター状況の変更を相互に通信します。 キュー・マネージャーの CLUSSDR チャネル定義がどのフル・リポジトリーを指しているかは、あまり重要ではありません。 最初の接続が行われた後に、必要に応じて、自動的にクラスター・キュー・マネージャー・オブジェクトがさらに定義されます。 これで、キュー・マネージャーがすべてのフル・リポジトリーにクラスター情報を送信し、 すべてのキュー・マネージャーにメッセージを送信することができるようになります。 詳しくは、 キュー・マネージャー・クラスターを参照してください。 |
クラスター受信側 | クラスター受信側 (CLUSRCVR) チャネル定義は、 クラスター・キュー・マネージャーがクラスター内の他のキュー・マネージャーからメッセージを受信できるチャネルの受信側を定義します。 クラスター受信側チャネルは、リポジトリー宛てのクラスター情報に関する情報も伝送できます。 クラスター受信側チャネルを定義すると、キュー・マネージャーは、 メッセージを受信することができることを他のクラスター・キュー・マネージャーに示します。 各クラスター・キュー・マネージャーごとに、少なくとも 1 つのクラスター受信側チャネルが必要です。 詳しくは、 キュー・マネージャー・クラスターを参照してください。 |
それぞれのチャネルごとに両端を定義し、チャネルのそれぞれの終端にチャネル定義があるようにする必要があります。 チャネルの両端のタイプは互換タイプでなければなりません。
以下のチャネル定義の組み合わせが可能です。
- 送信側 - 受信側
- サーバー - 受信側
- 要求側 - サーバー
- 要求側 - 送信側 (コールバック)
- クラスター送信側 - クラスター受信側
メッセージ・チャネル・エージェント
作成する各チャネル定義は、特定のキュー・マネージャーに属している必要があります。 キュー・マネージャーは、同じまたは異なるタイプのいくつかのチャネルを持つことができます。 チャネルの両端に、プログラム、メッセージ・チャネル・エージェント (MCA) があります。 チャネルの片側で、呼び出し側 MCA が伝送キューからメッセージを取り出し、それらをチャネルを通して送信します。 チャネルのもう一方の側で、応答側 MCA がメッセージを受信し、リモート・キュー・マネージャーへそれらを配信します。
呼び出し側 MCA は、送信側、サーバー、または要求側チャネルと関連している場合があります。 応答側 MCA は、どのタイプのメッセージ・チャネルとも関連できます。
IBM MQ は、接続の両端で以下のチャネル・タイプの組み合わせをサポートします。
呼び出し側 | メッセージ・フローの方向 | 応答側 | ||
---|---|---|---|---|
チャネル・タイプ | リスナーが必要か | リスナーが必要か | チャネル・タイプ | |
送信側 | いいえ | 呼び出し側から応答側 | はい | 受信側 |
サーバー | いいえ | 呼び出し側から応答側 | はい | 受信側 |
サーバー | いいえ | 呼び出し側から応答側 | はい | リクエスター |
リクエスター | いいえ | 応答側から呼び出し側 | はい | サーバー |
リクエスター | はい | 応答側から呼び出し側 | はい | 送信側 |
MQI チャネル
MQI チャネルは次のタイプの 1 つです。
MQI チャネル・タイプ | 説明 |
---|---|
サーバー接続 | サーバー接続チャネルは、 IBM MQ クライアントを IBM MQ サーバーに接続するために使用される双方向 MQI チャネルです。 サーバー接続チャネルとは、チャネルのサーバー側です。 |
クライアント接続 | クライアント接続チャネルは、 IBM MQ クライアントを IBM MQ サーバーに接続するために使用される双方向 MQI チャネルです。 IBM MQ Explorer は、クライアント接続を使用してリモート・キュー・マネージャーに接続することもできます。 クライアント接続チャネルとは、チャネルのクライアント側です。 クライアント接続チャネルを作成すると、 キュー・マネージャーをホストするコンピューターにファイルが作成されます。 次に、クライアント接続ファイルを IBM MQ クライアント・コンピューターにコピーする必要があります。 |
![[UNIX、Linux、Windows、IBM i]](ngmulti.gif)
AMQP チャネル
AMQP チャネルのタイプは 1 つだけです。
チャネルを使用して AMQP メッセージング・アプリケーションをキュー・マネージャーと接続し、アプリケーションが IBM MQ アプリケーションとメッセージを交換できるようにします。 AMQP チャネルを使用すると、 IBM MQが提供するエンタープライズ・レベルの機能を利用して、 MQ Lightを使用してアプリケーションを開発し、それをエンタープライズ・アプリケーションとしてデプロイすることができます。
チャネルについて詳しくは、 IBM Documentationの チャネル を参照してください。