チャネル
IBM® MQ は、メッセージ・チャネル、MQI チャネル、および AMQP チャネルという 3 つの異なるタイプのチャネルを使用することができます。
これらの別個のタイプのチャネルを混同しないでください。
- メッセージ・チャネル
- メッセージ・チャネルは、2 つのキュー・マネージャーの間の単一方向通信リンクです。IBM MQ では、メッセージ・チャネルを使用して、キュー・マネージャー間でメッセージを転送します。両方向にメッセージを送信するには、方向ごとにチャネルを定義する必要があります。
- MQI チャネル
- 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 チャネル・タイプ | 説明 |
---|---|
サーバー接続 | サーバー接続チャネルは、双方向の MQI チャネルで、IBM MQ クライアントを IBM MQ サーバーに接続するために使用されます。サーバー接続チャネルとは、チャネルのサーバー側です。 |
クライアント接続 | クライアント接続チャネルは、双方向の MQI チャネルで、IBM MQ クライアントを IBM MQ サーバーに接続するために使用されます。IBM MQ エクスプローラーは、リモート・キュー・マネージャーへの接続に、クライアント接続も使用します。クライアント接続チャネルとは、チャネルのクライアント側です。クライアント接続チャネルを作成すると、 キュー・マネージャーをホストするコンピューターにファイルが作成されます。 その後、クライアント接続ファイルを IBM MQ クライアント・コンピューターにコピーする必要があります。 |
![[UNIX、Linux、Windows、IBM i]](./ngmulti.gif)
AMQP チャネル
AMQP チャネルのタイプは 1 つだけです。
チャネルを使用して AMQP メッセージング・アプリケーションをキュー・マネージャーと接続し、アプリケーションが IBM MQ アプリケーションとメッセージを交換できるようにします。 AMQP チャネルにより、MQ Light を使用してアプリケーションを開発し、IBM MQ によって提供されるエンタープライズ・レベルの機能を利用して、そのアプリケーションをエンタープライズ・アプリケーションとしてデプロイすることができます。
チャネルについて詳しくは、IBM Knowledge Center 内のチャネルを参照してください。