WebSphere® Message Broker は、WebSphere MQ アプリケーションで現在使用されているいくつかのプログラミング・インターフェースをサポートしますが、固有のプログラミング・インターフェースは提供しません。
MQI は、キュー・マネージャーの WebSphere MQ ネットワークを介して、アプリケーションが他のアプリケーションと対話できるようにする、少数の呼び出しを提供します。 呼び出しは、個々のメッセージおよびすべてのメッセージに対する処理オプションの豊富な選択を提供する、広範囲のパラメーターをサポートします。
MQI を使用するクライアント・アプリケーションは、サポートされる任意の WebSphere MQ オペレーティング・システム上で稼働することができ、したがって、言語または関数についての制限が、そのオペレーティング・システムの関連する製品によって定義されます。
MQI については、WebSphere MQ バージョン 7 インフォメーション・センター・オンラインの「アプリケーション・プログラミング・リファレンス」および「アプリケーション・プログラミング・ガイド」セクションに解説されています。 このインターフェースを使用するクライアントで使用できるプログラミング言語とオペレーティング・システムのサポートに関する詳細も記載されています。
AMI は、アプリケーション・プログラム外部のオプション・パラメーターの選択を中央制御することによって、アプリケーション・プログラマーの作業を単純化するよう設計されています。 これはまた、ブローカーから使用可能な、さらに拡張された機能を提供します。 AMI は、ブローカーを使用する、またそれを使用しない、一般メッセージング・アプリケーション用に設計されています。
AMI の主な機能は、ポリシーおよびサービスとして知られる、オプションの管理者定義パケットです。 アプリケーションは、基礎となる必要なメッセージング・サポートを判別するサービスを指定し、ポリシーをメッセージの送受信に関連付けて、優先順位などのメッセージ処理の属性を制御します。
ポリシーとサービスにより、アプリケーションは MQRFH2 ヘッダーと MQI インターフェースの詳細を理解する必要がなくなります。
AMI を使用するクライアント・アプリケーションは、このインターフェースによってサポートされるオペレーティング・システムおよびプログラム言語に制限されます。 AMI は、WebSphere MQ バージョン 7 インフォメーション・センター・オンラインの「パブリッシュ/サブスクライブ・ユーザーズ・ガイド」セクションで定義されています。
これらのインターフェースに書き込む、既存のエンド・ユーザー・アプリケーションがある場合には、それらは一般に、ブローカー環境で未変更のまま実行することができます。 適切な入力ノードおよび出力ノードを使用し、サポートされるプロトコルを介して、これらのアプリケーションと対話するメッセージ・フローを作成する必要があります。 WebSphere Message Broker は、そのサポートされているプロトコル用の組み込みの入出力ノードを提供します。また、ユーザーは別のプロトコルをサポートする独自のユーザー定義ノードを作成することができます。
また、ブローカーと対話する、新規エンド・ユーザー・アプリケーションを作成することもできます。
WebSphere Message Broker には、多数の WebSphere MQ ヘッダー用のパーサーがあるので、WebSphere MQ Enterprise Transport プロトコルを介して、これらのヘッダーを含むメッセージを受信することができます。
メッセージには最初のヘッダーとして WebSphere MQ メッセージ記述子 (MQMD) が組み込まれていなければなりません。 これは、すべてのメッセージにおいて、ユーザー・データまたはアプリケーション・データより前に置かれる必要があります。 MQMD には、メッセージと共に伝達する必要のある、次のような基本制御情報が含まれています。
メッセージが WebSphere Message Broker ブローカーによって処理される際、通常は (しかし必ずしもそうとは限らない)、1 つ以上の追加ヘッダーがあります。 MQMD に続くヘッダーは必ず、MQMD 内のフォーマット・フィールドで識別され、それ自体には、続くヘッダーかユーザー・データのフォーマットのいずれかを示す別のフォーマット・フィールドが含まれます。
追加ヘッダーには、次のものを組み込むことができます。
WebSphere MQ テクノロジーを基にしたサポート対象プロトコルを使用する、WebSphere Message Broker 環境用に作成するすべての新規アプリケーションで、MQRFH2 ヘッダーを使用してください。 MQRFH2 ヘッダーは、メッセージ本体の直前になければなりません (つまり、最後のヘッダーにすること)。
MQRFH2 ヘッダーを組み込まない場合は (WebSphere MQ テクノロジーを基にしていないサポート対象プロトコルを使用するアプリケーションの場合は通常そうなります)、(入力ノードのプロパティーを設定することにより) メッセージ特性を指定して、メッセージを処理するメッセージ・フローを構成しなければなりません。