![]() |
![]() |
|
|
| |
WebLogic JMS の概要
以下の節では、WebLogic Server の Java Messaging Service(JMS)について概説します。
メッセージ指向ミドルウェア(Message-Oriented Middleware : MOM)とも呼ばれるエンタープライズ メッセージング システムを使用すると、複数のアプリケーションがメッセージの交換を通じて通信できます。メッセージとは、異なるアプリケーション間の通信を調整するために必要な情報が含まれている要求、レポート、またはイベントのことです。メッセージで提供される抽象化の階層により、送り先システムについての詳細情報をアプリケーション コードから切り離すことができます。
Java Message Service(JMS)は、エンタープライズ メッセージング システムにアクセスするための標準の API です。具体的な JMS の特長は以下のとおりです。
次の図は、WebLogic JMS によるメッセージングの仕組みを示しています。
図1-1 WebLogic JMS のメッセージング
図で示されているように、WebLogic JMS はプロデューサ アプリケーションからメッセージを受信し、受け取ったメッセージをコンシューマ アプリケーションに配信します。
WebLogic JMS では、JMS API の完全な実装が提供されます。具体的な WebLogic JMS の機能は以下のとおりです。
次の図は、WebLogic JMS のアーキテクチャを示しています。
図1-2 WebLogic JMS のアーキテクチャ
WebLogic JMS のアーキテクチャの図で示されているように、WebLogic JMS Server のアーキテクチャはおもに以下の要素で構成されています。
WebLogic JMS のアーキテクチャでは、クラスタ内のあらゆるサーバから送り先へのクラスタワイドで透過的なアクセスをサポートすることで、複数の JMS サーバのクラスタ化 が実装されます。WebLogic Server は、クラスタ全体への JMS の送り先と接続ファクトリの配布をサポートするようになりました。ただし、JMS トピックおよびキューが、クラスタ内の個々の WebLogic Server インスタンスによって管理される点は変わりません。
WebLogic JMS でのクラスタ化のコンフィグレーションについて、詳しくは WebLogic JMS のクラスタ化のコンフィグレーションを参照してください。WebLogic クラスタ化の詳細については、『WebLogic Server クラスタ ユーザーズ ガイド』を参照してください。
クラスタ化のメリットは以下のとおりです。
システム管理者は、複数の JMS サーバをコンフィグレーションし、対象を使用してそれらを定義済みの WebLogic Server に割り当てることで、クラスタ内の複数のサーバにわたる送り先のロード バランシングを確立できます。各 JMS サーバは、厳密に 1 つの WebLogic サーバにデプロイされ、複数の送り先に対する要求を処理します。
注意: ロード バランシングは動的ではありません。コンフィグレーションの段階で、システム管理者が JMS サーバの対象を指定してロード バランシングを定義します。
システム管理者は、複数の接続ファクトリをコンフィグレーションし、対象を使用してそれらを WebLogic サーバに割り当てることで、クラスタ内のあらゆるサーバから送り先へのクラスタワイドで透過的なアクセスを確立できます。各接続ファクトリは、複数の WebLogic サーバにデプロイできます。
アプリケーションでは、Java Naming and Directory Interface(JNDI)を使用して接続ファクトリをルックアップし、JMS サーバとの通信を確立するための接続を作成します。各 JMS サーバでは、複数の送り先に対する要求が処理されます。JMS サーバで処理されない送り先への要求は、適切なサーバに転送されます。
接続ファクトリの詳細については、 WebLogic JMS の基礎を参照してください。
スケーラビリティは以下の機能によって実現します。
注意: 自動フェイルオーバは、このリリースの WebLogic JMS ではサポートされていません。手動フェイルオーバの実行の詳細については、 WebLogic Server の障害からの回復を参照してください。
JavaSoft JMS 仕様バージョン 1.0.2 で指定されている API に加えて、WebLogic JMS では次の表の拡張機能を実現するクラスとメソッドを定義したパブリック API weblogic.jms.extensions も用意されています。
この API では、NO_ACKNOWLEDGE
と MULTICAST_NO_ACKNOWLEDGE
の確認応答モード、および以下のような例外の送出を含む拡張例外もサポートされています。
![]() |
![]() |
![]() |