ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server JMSの構成と管理
11g リリース1(10.3.3)
B61636-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 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拡張が数多く用意されています。

  • 以下のようなメッセージおよび宛先の堅牢な管理機能を提供します:

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

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

    • メッセージドリブンEJB (MDB)でもメッセージの休止および再開機能が提供され、エラー状態での自動的な一時休止も可能です。『Oracle Fusion Middleware Oracle WebLogic ServerメッセージドリブンBeanのプログラミング』の「MDBのプログラミングと構成: 詳細」を参照してください。

  • 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メッセージ・セレクタの定義」を参照してください。

  • WebLogic Thin T3クライアントjar(wlthint3client.jar)は、wlfullclient.jarおよびwlclient.jar(IIOP)リモート・クライアントjarにかわる軽量の高性能な機能です。Thin T3クライアントは、クライアントの使用に適したAPIリッチ・セットへのアクセスを提供しながら、フットプリントは最小限で済みます。『Oracle Fusion Middleware Oracle WebLogic Serverスタンドアロン・クライアントのプログラミング』の「WebLogic Thin T3クライアントの開発」を参照してください。

  • 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やサーブレットと組み合せて使用するために拡張されたJava EEサポート」を参照してください。

パフォーマンス

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

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

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

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

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

  • 管理コンソールまたは実行時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メッセージドリブンBeanのプログラミング』の「メッセージドリブンBeanでのバッチの使用」を参照してください。

  • 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やサーブレットと組み合せて使用するために拡張されたJava EEサポート」を参照してください。

  • メッセージのマルチキャスト。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サービス、Enterprise JavaBeans (MDBを含む)、およびサーブレットをJMSと緊密に連携させることが可能です。

  • 同じ管理コンソール、または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との直接の相互運用を完全にサポートします。『Oracle Fusion Middleware Oracle WebLogic Serverインフォメーション・ロードマップ』の「WebLogic Serverの互換性」を参照してください。

  • メッセージを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メッセージドリブンBeanのプログラミング』の「MDBのプログラミングと構成: 詳細」を参照してください。

  • 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やサーブレットと組み合せて使用するために拡張されたJava EEサポート」を参照してください。

  • WebLogic Tuxedo Connectorで提供されるOracle Tuxedoメッセージングとの統合。Oracle WebLogic Server WebLogic 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アドバンスト・キューイングは、データベースに統合されたメッセージ・キューイング機能(Oracleデータベースの関数を利用してメッセージを管理)を提供します。『Oracle Streamsアドバンスト・キューイング・ユーザーズ・ガイド』を参照してください。