JMS バインディングは、Service Component Architecture (SCA) 環境と JMS システムの間の接続を提供します。
JMS インポート・バインディングでは、SCA モジュール内で使用する外部 JMS アプリケーションをインポートできます。JMS インポート・バインディングにより、SCA モジュール内のコンポーネントは、外部 JMS アプリケーションが提供するサービスと通信できるようになります。
JMS 宛先に関連する JMS プロバイダーへの接続を作成するには、JMS 接続ファクトリーを使用します。デフォルト・メッセージング・プロバイダーの JMS 接続ファクトリーを管理するには、接続ファクトリーの管理オブジェクトを使用します。
外部 JMS システムとの対話では、要求を送信し、応答を受信するための宛先が使用されます。
JMS インポート・バインディングでは、呼び出されている操作のタイプに応じた以下の 2 種類の使用シナリオがサポートされています。
receive 宛先がアウトバウンド・メッセージの replyTo ヘッダー・プロパティーに設定されます。 受信宛先で listen するためのメッセージ駆動型 Bean (MDB) をデプロイします。応答を受信すると、MDB は応答をコンポーネントに返します。
インポート・バインディングは、要求メッセージ ID (デフォルト) または要求メッセージ相関 ID から応答メッセージ相関 ID がコピーされていることを期待するように (WebSphere® Integration Developer の「応答相関スキーム」フィールドを使用して) 構成することができます。
片方向と両方向のいずれのシナリオを使用する場合も、動的および静的ヘッダー・プロパティーを指定できます。静的プロパティーは、JMS インポート・メソッド・バインディングから設定できます。これらのプロパティーの一部は、SCA JMS ランタイムで特別な意味を持ちます。
重要な点として、JMS は非同期バインディングであることに注意してください。 呼び出し側コンポーネントが JMS インポートを同期的に呼び出すと (両方向操作の場合)、呼び出し側コンポーネントは、JMS サービスからの応答が返されるまでブロックされます。
図 1 は、インポートがどのように外部サービスにリンクされているのかを示しています。
JMS エクスポート・バインディングは、SCA モジュールが外部 JMS アプリケーションにサービスを提供する手段を提供します。
JMS エクスポートの接続部分は、構成可能なアクティベーション・スペックです。
エクスポート・バインディングで 指定された receive 宛先に着信する要求を listen するため、MDB が デプロイされます。send フィールドで指定された宛先は、呼び出されたコンポーネントが応答を返す場合にインバウンド要求に対する応答を送信するために使用されます。 着信メッセージの replyTo フィールドで指定された宛先は、send で指定された宛先をオーバーライドします。
図 2 は、外部の要求側がどのようにエクスポートにリンクされているのかを示しています。