この章では、WebLogic ServerのJMS (Java Messaging System)について説明します。
この章の内容は次のとおりです。
WebLogic Serverメッセージングのためのロードマップ
JMSのWebLogic Server実装は、WebLogic Serverプラットフォームに緊密に統合されたエンタープライズ・クラスのメッセージング・システムです。JMS 1.1仕様(http://www.oracle.com/technetwork/java/jms/index.html
で入手可能)を完全にサポートしています。また、標準JMS APIより高度なWebLogic JMS拡張も数多く用意されています。
エンタープライズ・メッセージング・システムを使用すると、アプリケーション同士がメッセージを交換することによって非同期的に通信できます。メッセージとは、異なるアプリケーション間の通信を調整するために必要な情報が含まれている、リクエスト、レポート、およびイベントです。メッセージで提供される抽象化の階層により、宛先システムについての詳細情報をアプリケーション・コードから切り離すことができます。
Java Message Service (JMS)は、業界メッセージング・プロバイダによって実装されるエンタープライズ・メッセージング・システムにアクセスするための標準APIです。具体的なJMSの特長は次のとおりです。
メッセージング・システムを共有するJavaアプリケーション同士でメッセージを交換できます
メッセージを作成、送信、および受信するための標準インタフェースによりアプリケーションの開発が容易になります
WebLogic JMSではクライアントとサーバーの両方のアプリケーションがサポートされており、Javaに加えて、C APIおよびMicrosoft .NET用のクライアント・ライブラリが含まれています。WebLogic JMSは、プロデューサ・アプリケーションからメッセージを受信し、そのメッセージをコンシューマ・アプリケーションに配信します。WebLogic ServerでのJMS APIプログラミングの詳細は、『Oracle WebLogic Server JMSアプリケーションの開発』を参照してください。WebLogic Serverにホストしたコンシューマ・アプリケーション用JMS APIプログラミングについては、『Oracle WebLogic ServerメッセージドリブンBeanの開発』を参照してください。
図9-1では、WebLogic JMSのアーキテクチャを示します。
図9-1では、A1およびB1が接続ファクトリ、B2がキューです。
WebLogic JMSアーキテクチャの主要コンポーネントは次のとおりです。
JMSサーバー: JMSのキューおよびトピックのための管理対象メッセージ・コンテナ。宛先構成は、1つ以上のJMSサーバーをターゲットできるJMS XMLモジュールに存在し、1つの論理宛先を複数のJMSサーバーに分散できます。JMSサーバーの最も重要な役割は、JMSサーバーの宛先が受信するすべての永続メッセージに使用される永続ストアに関する情報を管理し、また、JMSサーバーの宛先で作成される恒久サブスクライバの状態を管理することです。ドメインごとに1つ以上のJMSサーバーを構成できます。1つのWebLogicサーバーでは複数のJMSサーバーを同時に起動でき、1つのJMSサーバーで1つ以上のモジュールを管理できます。詳細は、『Oracle WebLogic Server JMSリソースの管理』のJMSサーバーの概要に関する項を参照してください。
JMS接続ホストおよび接続ファクトリ: クラスタ内のどのWebLogicサーバーでもJMSアプリケーション用のJMS接続ホストとして機能します。JMSアプリケーションは、次の手順でWebLogic JMSへのアクセスを取得します: (a) JNDIから接続ファクトリ・リファレンスを取得し、(b) そのファクトリから接続を取得し、最終的に(c) その接続を通してメッセージを送受信します。JMSメッセージはアプリケーションからその接続ホストを経由して、接続ホストと同じクラスタに存在するJMSサーバー上の任意の宛先まで送信されます。アプリケーションでは、デフォルトの接続ファクトリ、またはJMSモジュールを使用して構成したカスタム接続ファクトリを利用できます。
JMS宛先: JMSメッセージを保持し、JMSサーバーにホストされます。WebLogic JMSアプリケーションは、通常はJNDI経由でJMS宛先リファレンスを取得し、該当するJMS接続を使用してこれらの宛先に対してメッセージの送受信を行います。1つの論理WebLogic宛先を、同じクラスタ内の複数のJMSサーバーに分散されるように構成できます。WebLogic JMSクライアントは、クライアントの接続ホストと同じクラスタにホストされているどのWebLogic JMS宛先とでも透過的に通信できます。
JMSモジュール: スタンドアロンのキューおよびトピック宛先、分散宛先、接続ファクトリなどの構成リソースを含み、weblogic-jms.xsd
スキーマに準拠するXMLドキュメントによって定義されます。詳細は、『Oracle WebLogic Server JMSリソースの管理』のJMS構成リソースに関する項を参照してください。
クライアントJMSアプリケーション: 宛先へのメッセージを生成するか、または宛先からのメッセージを消費します。
JNDI (Java Naming and Directory Interface): JMS接続ファクトリおよび宛先用にルックアップ機能を提供します。
WebLogic永続ストレージ: 永続メッセージ・データを保持するための、サーバー・インスタンスのデフォルト・ストア、ユーザー定義のファイル・ストア、またはJDBCでアクセス可能なユーザー定義ストア。
表9-1 WebLogic Serverメッセージングのためのロードマップ
主要なタスク | サブタスクと追加情報 |
---|---|
WebLogic Serverメッセージングについてもっとよく知る |
|
WebLogic JMSのスタート・ガイド |
|
WebLogic JMSの新規機能の使用 |
|
WebLogicメッセージングのプログラミング |
|
WebLogicメッセージにおけるクライアントの理解 |
|
WebLogicメッセージングの構成 |
|
管理コンソールを使用したWebLogicメッセージングの構成 |
|
パフォーマンスおよびチューニング |
|
リファレンス |
|