ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server JMS のコンフィグレーションと管理
11g リリース 1 (10.3.1)
B55547-01
 

目次
目次

戻る
戻る
 
次へ
次へ
 

1 概要とロードマップ

以下の節では、このマニュアル『Oracle Fusion Middleware Oracle WebLogic Server JMS のコンフィグレーションと管理』の内容と構成について説明します。

ドキュメントの内容と対象読者

このドキュメントは、JMS サーバ、スタンドアロンの送り先 (キューとトピック)、分散送り先、接続ファクトリなどの WebLogic JMS リソースのコンフィグレーション、管理、およびモニタを担当するシステム管理者を対象としています。

このドキュメントでは、プロダクション段階における管理、モニタ、およびパフォーマンス チューニングについて取り扱います。ソフトウェア プロジェクトのプロダクション前の開発またはテスト段階については説明しません。これらのトピックに関する WebLogic Server のドキュメントとリソースへのリンクについては、「関連ドキュメント」を参照してください。

このドキュメントは、WebLogic Server のシステム管理に精通している読者を対象としています。このドキュメントでは、WebLogic Server JMS の付加価値機能と、WebLogic Server 機能を使用して WebLogic JMS をプロダクション環境で管理するための主要な情報を重点的に扱います。

このドキュメントの手引き

関連ドキュメント

このドキュメントには、JMS 固有のコンフィグレーションおよび管理上の情報が含まれています。

WebLogic Server アプリケーションの開発、デプロイメント、モニタの総合的な情報については、以下を参照してください。

JMS 管理者向けのサンプルとチュートリアル

このドキュメント以外に、JMS コード サンプルとチュートリアルが用意されています。チュートリアルでは、JMS のコンフィグレーション、API の使用方法、および JMS の主要な開発タスクについて説明します。独自のシステムをコンフィグレーションする前に、まず JMS サンプルの一部またはすべてを実行することをお勧めします。

Avitek Medical Records アプリケーション (MedRec) とチュートリアル

MedRec は WebLogic Server に付属したエンドツーエンドのサンプル Java EE アプリケーションであり、一元的で独立した医療記録管理システムをシミュレートします。MedRec アプリケーションを使用すると、患者、医師、および管理者が、さまざまなクライアントから患者のデータを管理できます。

MedRec は WebLogic Server と Java EE の機能を例示し、Oracle 推奨のベスト プラクティスを重要点として示します。MedRec は WebLogic Server 配布キットに含まれており、Windows マシンの [スタート] メニューからアクセスできます。Linux などのプラットフォームでは、WL_HOME\samples\domains\medrec ディレクトリから MedRec を起動します。WL_HOME は、WebLogic Platform の最上位のインストール ディレクトリです。

WebLogic Server 配布キットの JMS サンプル

このリリースの WebLogic Server では、任意で API サンプル コードを WL_HOME\samples\server\examples\src\examples にインストールできます。ここで、WL_HOME は WebLogic Server のインストール先ディレクトリの最上位ディレクトリです。WebLogic Server のスタート メニューからサンプル サーバを起動して、サンプルとその実行手順に関する情報を確認できます。

このリリースでの JMS の新機能と変更点

このリリースで導入された WebLogic Server の新機能の一覧については、『Oracle Fusion Middleware Oracle WebLogic Server の新機能』を参照してください。

WebLogic Server の付加価値 JMS 機能

WebLogic JMS には、JMS 1.1 仕様で指定されている標準 JMS API よりも高度な WebLogic JMS 拡張 API が数多く用意されています。この API 群は、http://java.sun.com/products/jms/docs.html で入手できます。また、WebLogic Server プラットフォームに緊密に統合されているため、セキュリティで保護された Java EE アプリケーションを構築し、それらを WebLogic Server コンソールで容易にモニタおよび管理できます。XA トランザクションが完全にサポートされているだけでなく、クラスタ機能とサービス移行機能による高い可用性を特長としています。加えて、他のバージョンの WebLogic Server やサード パーティのメッセージ プロバイダとの相互運用性も提供されます。

以下の節では、WebLogic JMS のユニークかつ強力な機能について概説します。

エンタープライズ レベルの信頼性

WebLogic JMS には、信頼性に関する以下の機能があります。

  • トランザクションを完全にサポート。

    • JTA (Java Transaction API) の使用により、JMS アプリケーションとその他のトランザクション対応リソースの間のトランザクション (分散トランザクションを含む) を完全にサポート (『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「WebLogic JMS によるトランザクションの使い方」を参照)。

    • 完全に統合されたトランザクション マネージャ (『Oracle Fusion Middleware Oracle WebLogic Server JTA プログラマーズ ガイド』の「トランザクションについて」を参照)。

  • ファイルまたはデータベースの永続メッセージ ストレージ (どちらも XA トランザクションに完全対応)。『Oracle Fusion Middleware Oracle WebLogic Server サーバ環境のコンフィグレーション』の「WebLogic 永続ストアの使い方」を参照してください。

  • メッセージのストア アンド フォワード (SAF)。この機能はクラスタ化可能で、利用不可能なリモートの送り先に送信されたメッセージをローカルに格納することにより信頼性を向上させます。『Oracle Fusion Middleware Oracle WebLogic Server ストア アンド フォワードのコンフィグレーションと管理』の「ストア アンド フォワード サービスについて」を参照してください。

  • サーバまたはネットワークの障害が発生した場合、JMS プロデューサおよびコンシューマ オブジェクトは (使用可能なものがあれば) 別のサーバ インスタンスに透過的にフェイルオーバを試みます。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「JMS クライアントの自動フェイルオーバ」を参照してください。

  • 複数の WebLogic Server で対象とされる接続ファクトリを使用した接続クラスタ化のサポート。「WebLogic JMS クラスタ化のコンフィグレーション」を参照してください。

  • 共通分散送り先のシステム支援によるコンフィグレーション。クラスタ内での高可用性、ロード バランシング、およびフェイルオーバのサポートが提供されます。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「分散送り先の使用」を参照してください。

  • サーバ全体の自動移行。高度なクラスタの信頼性とサーバ移行機能を提供します。現在、WebLogic Server では、クラスタ化されたサーバ インスタンスとそこでホストされるすべてのサービスについて、1 つのマシンから別のマシンへの自動および手動での移行をサポートしています。「WebLogic JMS クラスタ化のコンフィグレーション」を参照してください。

  • 失敗した、または期限の切れたメッセージのエラー送り先へのリダイレクト。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「ロールバック、回復、再配信、または期限切れメッセージの管理」を参照してください。

  • JMS 配信回数メッセージ プロパティ (JMSXDeliveryCount) をサポート。このプロパティでは、メッセージの配信試行回数を指定できます。1 回目の試行が 1、2 回目の試行が 2 (以降同様) になります。WebLogic Server では、可能な限り配信回数を永続化することで、サーバの再起動後に配信回数が 1 にリセットされないようにしています。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「Message」を参照してください。

  • 3 つのレベルでのロード バランシングが可能。ネットワーク レベル、JMS 接続、および分散送り先におけるロード バランシングができます。

エンタープライズ レベルの機能

WebLogic JMS に備わっているエンタープライズ レベルの機能は以下のとおりです。

  • WebLogic Server では Java EE 5.0 仕様に完全準拠した JMS 1.1 仕様を完全にサポート (http://java.sun.com/products/jms/docs.html で入手可能)。また、標準 JMS API よりも高度な WebLogic JMS 拡張が数多く用意されています。

  • 以下のようなメッセージおよび送り先の堅牢な管理機能を提供。

    • 管理者は、Administration Console または実行時 API を使用して、実行中の JMS サーバのほとんどのメッセージを操作可能。「JMS メッセージの管理」を参照してください。

    • 管理者は、Administration Console または実行時 API を使用して、所定の JMS 送り先または単一の JMS サーバでホストされるすべての送り先においてメッセージの生成、挿入 (処理中のメッセージ)、および消費操作の休止と再開を行える。「送り先でのメッセージ処理の制御」を参照してください。

    • メッセージ駆動型 EJB (MDB) でもメッセージの休止および再開機能が提供され、エラー状態での自動的な一時休止も可能。『Oracle Fusion Middleware Oracle WebLogic Server エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「メッセージ駆動型 EJB」を参照してください。

  • JMS リソースのモジュール形式のデプロイメント。XML で定義され、これによりエンタープライズ アプリケーション ファイルを開いたり、手動による JMS の膨大な再コンフィグレーションを行ったりすることなく、アプリケーションおよび必要な JMS コンフィグレーションをある環境から別の環境に移行できます。「JMS モジュールの概要」を参照してください。

  • JMS メッセージ プロデューサは順序付けされたメッセージを単一の順序単位にグループ化できる。これにより、このようなすべてのメッセージが作成された順序で確実に連続処理されます。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「メッセージ順序単位の使用」を参照してください。

  • メッセージ順序単位機能よりもさらに限定的なグループを定義するため、メッセージ作業単位 (UOW) 機能がある。これによって JMS プロデューサは特定のメッセージを UOW メッセージ グループのコンポーネントとして識別でき、JMS コンシューマでもそうしたメッセージをそのようなものとして処理できます。たとえば、JMS プロデューサでは、メッセージが 1 つの単位として処理されるように、1 つのクライアントに中断せずに配信する必要のあるメッセージの集合を指定できます。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「作業単位メッセージ グループの使用」を参照してください。

  • メッセージ ライフ サイクルのロギング。この機能を利用すると、管理者は JMS サーバの観点から、具体的にはメッセージの生成、消費、削除などの基本的なライフ サイクル イベントによって、JMS メッセージの存在をより正確に把握できるようになります。「メッセージ ライフ サイクルのロギング」を参照してください。

  • タイマー サービスを使用してスケジュール付きメッセージを配信できる。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「 メッセージ配信時間の設定」を参照してください。

  • 柔軟な期限切れメッセージ ポリシーで期限切れメッセージを処理できる。『Oracle Fusion Middleware Oracle WebLogic Server パフォーマンス チューニング ガイド』の「期限切れメッセージの処理」を参照してください。

  • XML (Extensible Markup Language) を含むメッセージをサポートする。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「XML セレクタ メソッドを使用した XML メッセージ セレクタの定義」を参照してください。

  • シン アプリケーション クライアント JAR。クライアントサイドの WebLogic のサイズを大幅に縮小しつつ、JMS を含む WebLogic Server Java EE 機能を完全に提供する JAR です。『Oracle Fusion Middleware Oracle WebLogic Server スタンドアロン クライアント プログラマーズ ガイド』の「WebLogic JMS シン クライアント」を参照してください。

  • JMS SAF クライアント。この機能を使用することで、(ネットワーク接続障害などが原因で) JMS クライアントが一時的に送り先にアクセスできない場合でも、JMS クライアントはサーバサイドの JMS 送り先にメッセージを確実に送信できるようになります。サーバとの接続が切断されている間、JMS SAF クライアントによって送信されたメッセージはクライアント上でローカルに格納され、クライアントが再接続するときに、サーバサイドの JMS 送り先に転送されます。『Oracle Fusion Middleware Oracle WebLogic Server スタンドアロン クライアント プログラマーズ ガイド』の「JMS SAF クライアントによる確実なメッセージ送信」を参照してください。

  • JMS resource-reference プーリングによる、サーバサイド アプリケーション内の JMS クライアント リソースの自動プーリング。サーバサイド アプリケーションで標準 JMS API を使用しながら、リソースを自動的にプーリングできます。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「WebLogic JMS を EJB やサーブレットと組み合わせて使用するために拡張されたサポート」を参照してください。

パフォーマンス

WebLogic JMS には、自動的なメッセージ ページング、メッセージ圧縮、XML メッセージ用の DOM サポートといった以下のようなエンタープライズクラスのパフォーマンス機能があります。

  • WebLogic Server は高度に最適化されたディスク アクセス アルゴリズムや他の内部拡張を使用して、JMS ベースおよび Web サービスのメッセージングのパフォーマンスを向上させる統一されたメッセージング カーネルを提供している。『Oracle Fusion Middleware Oracle WebLogic Server サーバ環境のコンフィグレーション』の「WebLogic 永続ストアの使い方」を参照してください。

  • 一方向メッセージ送信を使用すると、一般的な非永続メッセージングのパフォーマンスが大幅に改善される可能性がある。接続ファクトリにコンフィグレーションされている場合、関連するプロデューサは対象送り先のホスト JMS サーバからの応答を内部的に待機せずに、メッセージを送信できます。キュー センダおよびトピック パブリッシャに一方向送信を許可したり、この機能をトピック パブリッシャのみに制限したりできます。「一方向ウィンドウ サイズ」を指定して、追加の一方向送信を続行する前に、プロデューサを制御するために双方向メッセージが必要になる時期を決定することもできます。Oracle Fusion Middleware Oracle WebLogic Server の Administration Console オンライン ヘルプの「接続ファクトリのフロー制御のコンフィグレーション」を参照してください。

  • 負荷ピーク時に仮想メモリを自動的に解放するメッセージ ページング。『Oracle Fusion Middleware Oracle WebLogic Server パフォーマンス チューニング ガイド』の「メッセージのページングによるメモリの解放」を参照してください。

  • 管理者は、Administration Console または実行時 API を使用して、指定したしきい値サイズを超えるメッセージを圧縮することにより、JVM の境界を超えて移動するメッセージの送信パフォーマンスを向上できる。『Oracle Fusion Middleware Oracle WebLogic Server パフォーマンス チューニング ガイド』の「メッセージの圧縮」を参照してください。

  • Administration Console または実行時 API を使用して、コンシューマの JMS 接続ファクトリの [同期コンシューマのプリフェッチ モード] オプションを有効にすることにより、同期コンシューマでも非同期コンシューマと同じ効率的な動作を利用できる。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「プリフェッチ モードを使用した同期メッセージ パイプラインの作成」を参照してください。

  • JMS メッセージ用にさまざまなパフォーマンス チューニング オプションを提供。『Oracle Fusion Middleware Oracle WebLogic Server パフォーマンス チューニング ガイド』の「WebLogic JMS のチューニング」を参照してください。

  • 単一のトランザクションで複数のメッセージを処理することにより、MDB トランザクションのバッチ処理をサポート。『Oracle Fusion Middleware Oracle WebLogic Server エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「MDB のトランザクション バッチ処理」を参照してください。

  • JMS SAF により、クラスタ間に渡る WebLogic メッセージング ブリッジ以上のパフォーマンスが実現する。『Oracle Fusion Middleware Oracle WebLogic Server パフォーマンス チューニング ガイド』の「WebLogic JMS ストア アンド フォワードのチューニング」を参照してください。

  • DOM (Document Object Model) による XML メッセージ送信のサポートにより、アプリケーションで XML メッセージの送信前に DOM をフラット化する必要がなくなるため、すでに DOM を使用している実装のパフォーマンスが大幅に向上する。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「XML メッセージの送信」を参照してください。

  • 負荷ピーク時のメッセージ フロー制御。過度にアクティブな送信者のブロックもできます。『Oracle Fusion Middleware Oracle WebLogic Server パフォーマンス チューニング ガイド』の「割り当ての定義」と「JMS サーバおよび送り先のメッセージのフロー制御」を参照してください。

  • JMS resource-reference プーリングを使用した JMS ラッパーによる接続および他のオブジェクトの自動的なプーリング。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「WebLogic JMS を EJB やサーブレットと組み合わせて使用するために拡張されたサポート」を参照してください。

  • メッセージのマルチキャスト。IP マルチキャストを使用して多数のクライアントに同時配信できます。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「WebLogic JMS でのマルチキャストの使い方」を参照してください。

WebLogic Server との緊密な統合

WebLogic JMS は、WebLogic Server との緊密な統合を実現するため、以下の機能を備えています。

  • 送り先を同じサーバにアプリケーションとして配置できるため、サーバサイド アプリケーションから JMS にネットワーク呼び出しなしでローカルにアクセス可能。

  • WebLogic Server と同じポート、プロトコル、ユーザ ID を使用 (T3、IIOP、および HTTP トンネリング プロトコル、必要に応じて SSL)。

  • WebLogic Server の Web サービス、エンタープライズ JavaBean (MDB を含む)、およびサーブレットを JMS と緊密に連携させることが可能。

  • 同じ Administration Console、または JMS API を使用してコンフィグレーションとモニタが可能。

  • WebLogic Scripting Tool (WLST) のサポートにより、対話形式で、または実行可能なスクリプトを使用してコンフィグレーションの変更の開始、管理、および永続化が可能。「WLST を使用した JMS サーバと JMS システム モジュール リソースの管理」を参照してください。

  • JMX の管理およびモニタ API 群を完備。『Oracle Fusion Middleware Oracle WebLogic Server JMX によるカスタム管理ユーティリティの開発』を参照してください。

  • 完全に統合されたトランザクション マネージャ (『Oracle Fusion Middleware Oracle WebLogic Server JTA プログラマーズ ガイド』の「トランザクションについて」を参照)。

  • WebLogic Server に組み込まれた高度なセキュリティ モデル (ポリシー エンジン) を利用。『Oracle Fusion Middleware Oracle WebLogic Server ロールおよびポリシーによるリソースの保護』の「ポリシーで保護できるリソースのタイプ」と「WebLogic Security について」を参照してください。

他のメッセージング サービスとの相互運用性

WebLogic JMS は、他のメッセージング サービスとの相互運用性のため、以下の機能を備えています。

  • WebLogic Server 8.1 から WebLogic Server 10.0 までの直接的な相互運用性を完全サポート。たとえば、リリース 8.1 のクライアントをリリース 10.0 のサーバと相互運用できます (逆の場合も可能)。

  • メッセージを WebLogic メッセージング ブリッジでトランザクションを介して他の JMS プロバイダへ転送。WebLogic JMS の他のインスタンスやバージョンへも同様に転送します。『Oracle Fusion Middleware Oracle WebLogic Server メッセージング ブリッジのコンフィグレーションと管理』を参照してください。

  • 他の JMS プロバイダのマッピングをサポート。これにより、他の JMS プロバイダのオブジェクトが WebLogic JNDI ツリーにローカル JMS オブジェクトとして表示されます。また、ローカルの JNDI ツリーで別のクラスタまたはドメインにある WebLogic Server のリモート インスタンスも参照できます。「外部サーバのコンフィグレーション」を参照してください。

  • MDB を使用することで、複数の JMS プロバイダからのメッセージをトランザクションとして受信可能。『Oracle Fusion Middleware Oracle WebLogic Server エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「メッセージ駆動型 EJB」を参照してください。

  • Web サービスと JMS のトランスポートとしての信頼性ある統合。『Oracle Fusion Middleware Oracle WebLogic Server JAX-RPC を使用した Web サービスの高度な機能のプログラミング』の「Web サービスの信頼性のあるメッセージングの使用」を参照してください。

  • JMS resource-reference プーリングによる、サーバサイド アプリケーション内の非 WebLogic JMS クライアント リソースの自動トランザクション登録。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「WebLogic JMS を EJB やサーブレットと組み合わせて使用するために拡張されたサポート」を参照してください。

  • WebLogic Tuxedo Connector で提供される Oracle Tuxedo メッセージングとの統合。『Oracle Fusion Middleware Oracle WebLogic Server Tuxedo Connector 管理ガイド』の「Oracle Tuxedo キュー ブリッジのコンフィグレーション方法」を参照してください。

  • Weblogic JMS C API により、「C」で記述されたプログラムが JMS アプリケーションに参加可能。この JMS C API の実装では、Java 仮想マシン (JVM) へのアクセスに JNI を使用します。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「WebLogic JMS C API」を参照してください。

  • Oracle Streams Advanced Queuing で、データベースに統合されたメッセージ キューイング機能を提供。この機能は、Oracle データベースの関数を利用してメッセージを管理します。『Oracle Streams Advanced Queuing User's Guide』を参照してください。