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