bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

WebLogic Server での Jolt の使用

 Previous Next Contents View as PDF  

BEA Jolt for BEA WebLogic Server の概要

BEA Jolt for BEA WebLogic Server を使用すると、Web 対応の BEA Tuxedo サービスを有効にし、BEA WebLogic Server をフロントエンド HTTP およびアプリケーション・サーバとして使用することができます。

BEA Jolt は Java ベースのクライアント API であり、Tuxedo サーバ上で実行されている Jolt サービス・リスナ (JSL: Jolt Service Listener) 経由で、BEA Tuxedo サービスに対する要求を管理します。Jolt API は WebLogic API 内に埋め込まれており、サーブレットまたはほかの BEA WebLogic アプリケーションからアクセス可能です。

BEA Jolt for BEA WebLogic Server は Jolt Java クラス・ライブラリを拡張しているため、WebLogic Server 内で実行される HTTP サーブレットでは、Jolt Java クライアントのクラス・ライブラリを使用することができます。また BEA Jolt for BEA WebLogic Server は、Java HTTP サーブレットを使用して、HTML ブラウザ・クライアントと BEA Tuxedo サービスとの間のインターフェイスを提供します。

以降の説明では、読みやすさを考慮して、BEA Tuxedo を「Tuxedo」、BEA Jolt を「Jolt」、BEA WebLogic を「WebLogic」と表記します。

ここでは、次の内容について説明します。

 


主な特長

BEA Jolt for BEA WebLogic Server のアーキテクチャには主に次の特長があります。

注記 Jolt for WebLogic では、非同期の Tuxedo イベント通知へのアクセスは提供されません。

 


Jolt for WebLogic のしくみ

この節では、Jolt 内での通信で使用する主なコンポーネントと BEA Jolt for BEA WebLogic Server のしくみについて、次の内容を説明します。

Jolt for WebLogic と Tuxedo の関係

BEA Jolt for BEA WebLogic Server を使用すると、基盤となる Tuxedo システムに Web からアクセスできます。Web アクセスが可能なので、Tuxedo ドメイン内の他のシステムやデータベースと通信できる Web 対応アプリケーションを作成することができます。

ここで説明するシステムには、標準の Web ブラウザからアクセスします。この Web ブラウザに対し、WebLogic Server は、カスタマイズした Java HTTP サーブレットを使用して、ブラウザのインタラクティブな HTTP 要求を処理します。HTTP サーブレットは、受け取った HTTP 要求を処理し、それに対して HTTP 応答を送信する Java クラスです。カスタマイズした HTTP サーブレットは、Jolt for WebLogic API を使用して、リモート・マシン上またはセキュリティ・ファイアフォールの背後に配置された Jolt Server とも通信します。

Jolt Server は Tuxedo ドメイン内に存在するサーバであり、各クライアントに対してアクセスを許可する Tuxedo サービスを決定します。Jolt Server は要求された Tuxedo サービスを呼び出し、結果を WebLogic Server に返します。返された結果は、サーブレットが生成した Web ページにコンパイルし、ブラウザに送信することができます。その際、インターネットまたはイントラネット上のどこからでも Tuxedo サービスにアクセスできる使いやすいインターフェイスを作成します。

Jolt アーキテクチャの主要コンポーネント

WebLogic Java HTTP サーブレットから Jolt Server へ、また、Jolt Server から Tuxedo への通信接続を維持する基本的なオブジェクト・タイプは、以下のとおりです。

図 1-1 は、BEA Jolt for BEA WebLogic Server のアーキテクチャを示します。

図 1-1 BEA Jolt for BEA WebLogic Server のアーキテクチャ


 

WebLogic Server の起動

WebLogic 標準に基づくピュア Java アプリケーション・サーバは、分散型 Java アプリケーションのアセンブリ、デプロイ、および管理を行います。このサーバは、Enterprise JavaBeans、Remote Method Invocation (RMI)、分散型 JavaBeans、および Java Database Connect (JDBC) など、分散型コンポーネント・サービスおよびエンタプライズ・データベース・アクセスをサポートしています。

WebLogic Server の管理サーバには、JavaBean に似たオブジェクトである、Sun Microsystem の Java Management Extension (JMX) 標準が設定されています。これらのオブジェクトにより、ドメインの資源に対して管理アクセスを実行できます。

管理サーバには、コンフィグレーション MBean と実行時 MBean があります。MBean は、コンフィグレーション属性への SET (書き込み) アクセスと GET (読み取り) アクセスの両方を提供します。実行時 MBean は、現在の HTTP セッションや JDBC セッション・プールのロードなど、ドメインの資源に関する情報のスナップショットを提供します。ドメイン内の特定の資源 (Jolt 接続プールなど) がインスタンス化されると、その資源に関する情報を収集するための MBean が作成されます。

注記 コンフィグレーション MBean および実行時 MBean の詳細については、『BEA WebLogic Server 管理者ガイド』を参照してください。

WebLogic Server は、起動時に config.xml ファイルによって、セッション・プールを初期化するように設定されます。特殊なスタートアップ・クラス PoolManagerStartUp が、いくつかのパラメータを設定した WebLogic Server によって呼び出されます。このクラスには、次の機能があります。

注記 Jolt サーバは、セッション・プールを作成する前に起動してください。作成後に起動すると、スタートアップ・クラスは異常終了し、再コミットは行われません。

作成されるセッション・プールの数は、config.xml ファイルで設定されている JoltConnectionPools の数によって決まります。

クライアント・ブラウザから WebLogic サーバへの接続

WebLogic Server は、別の Java サービスを提供するほか、Java HTTP サーブレットをサポートする本格的な HTTP サーバです。一般に、サーブレットはそれぞれ仮想名で config.xml ファイルに登録する必要があります。

サーブレットは、直接呼び出して実際に HTML をブラウザに表示する場合もあれば、ユーザがフォームを送信するときなど、HTML フォームから間接的に呼び出す場合もあります。WebLogic Server は、登録されているサーブレットの仮想名を含む要求を受け取ると、該当するサーブレットの service() メソッドを呼び出します。HTTP サーブレットの詳細については、『WebLogic HTTP サーブレット プログラマーズ ガイドS』を参照してください。

HTTP サーブレットの service() メソッド (コンテキストに応じて、サーブレットの doPost() または doGet() メソッドのいずれかを呼び出す) が呼び出されると、ブラウザから送られた HTTP データを含む HttpServletRequest オブジェクトが渡されます。サンプル・パッケージの使用方法 で説明するサンプル・パッケージでは、Tuxedo に対するトランザクション呼び出しでクライアントのクエリ・データを使用し、応答は新しい HTML ページに組み込まれます。

サーブレットから Tuxedo への接続

まず、サーブレットは、WebLogic Server が起動時に作成し、初期化したセッション・プール・マネージャに対する参照を取得します。セッション・プール・マネージャは、config.xml ファイルで設定されたセッション・プールを取得するために使用されます。このセッション・プールは、Tuxedo ドメイン内の適切な Jolt Server を参照します。サーブレットは、セッション・プールを使用して特定の Tuxedo サービスを呼び出します。

Tuxedo サービスが記述され、Jolt リポジトリの Jolt サーバにエクスポート (アクセス可能を宣言) されます。Jolt リポジトリでは、サービス側で予想する入力パラメータと出力パラメータのタイプが宣言されています。サーブレット側では、必要な入力パラメータを提供しなければなりません。BEA Jolt for BEA WebLogic Server は、HttpServletRequest オブジェクトから直接入力を受け取ることができる特殊な ServletSessionPool オブジェクトを使用します。出力データは、ServletResult オブジェクトに返されます。

要求が異常終了した場合の処理

セッション・プールは、プール内のセッションに均等に要求を分散します。また、未処理の要求が最も少ないセッションを選択して Tuxedo サービスを呼び出します。選択したセッションが、Tuxedo サービスが呼び出される前に終了した場合、セッション・プールはサービスの呼び出しを別のセッションにリダイレクトし、切断されたセッションに代わる新しいセッションを確立します。セッション・プールはラウンドロビン・アルゴリズムを使用して、プライマリ Jolt サーバへの接続を選択し、確立します。プライマリ Jolt サーバから応答がない場合、セッション・プールはフェイルオーバー・サーバに接続します。

セッション・プールに使用可能なセッションがない場合、またはセッション・プールが中断されている場合は、SessionPoolException がスローされます。

複数の要求は、1 つのトランザクションにグループ化されます。トランザクションが異常終了すると、TransactionException がスローされます。この例外はサーブレットによってキャッチされ、適切に処理されます(通常、サーブレットはロールバックを実行します)。

クライアント・ブラウザへの応答

サービスの呼び出しが正常に終了すると、次のイベントが発生します。

Jolt サーバとの接続の切断

WebLogic Server は、config.xml ファイルで、Tuxedo への既存のセッション・プール接続をシャットダウンするようにも設定されています。

PoolManagerShutDown クラスを登録し、WebLogic Server がシャットダウンしたときに、Jolt セッション・プールが正しくクリーンナップされるようにしてください。PoolManagerShutDown は、config.xml ファイルの属性を必要としません。

 


サンプル・パッケージの使用方法

BEA Jolt for BEA WebLogic Server には、2 つのサンプル・パッケージが付属しています。これらのパッケージについては、簡単なサーブレット・サンプル・プログラム および Servlet with Enterprise JavaBean サンプル・プログラム で説明します。サンプル・パッケージでは、WebLogic サーブレットで Jolt を使用して Tuxedo サービスにアクセスする方法を示します。これらのサンプルを作成、実行、および検証することにより、WebLogic を使用して Tuxedo サービスをインターネットに拡張する方法を判断することができます。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy