Oracle Joltの使用

     前  次    新規ウィンドウで目次を開く  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

Oracle Tuxedo用のサーブレット接続性の使用

Oracle Joltのサーブレット接続性の機能を利用すると、HTTPリクエストに対する処理をHTTPサーブレットを使用して行い、サーバー側のJavaタスクを実行することができます。Joltでは、Java Web Serverバージョン1.1.3以上のサーブレット接続性の機能がサポートされており、標準的なサーブレット・エンジンがサポートされています。Joltのセッション・プール・クラスを使用すると、単純なHTMLクライアントからも一般的なサーブレットをサポートするWebサーバーに接続することができます。これで、すべてのJoltトランザクションは、クライアント側のアプレットやアプリケーションのかわりに、Webサーバー側のサーブレットで処理されます。

サーブレット機能により、HTMLクライアントはOracle Tuxedoに直接接続せずにOracle Tuxedoサービスを呼び出すことができます。HTMLクライアントは、HTTPプロトコルを使用してWebサーバー(Oracle Tuxedoサービスに対するリクエストをサーブレットを使って処理するサーバー)に接続します。Webサーバー上のサーブレットは、Joltセッションを使用してOracle Tuxedoサービスに対するリクエストを管理します。つまり、Joltサーバー・ハンドラ(JSH: Jolt Server Handler)またはJoltサーバー・リスナー(JSL: Jolt Server Listener)を介してOracle Tuxedoサーバーに接続し、Oracle Tuxedoサービスに対するリクエストを作成します。

この機能により、さまざまなHTMLクライアントがリモートのOracle Tuxedoサービスのリクエストを作成できるようになります。これで、すべてのJoltトランザクションはサーバー側で処理されます。元のHTMLクライアントを変更する必要はありません。したがって、単純な構造のHTMLクライアントで処理することが可能になり、HTMLクライアントの管理も容易になります。

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

 


サーブレットとは

サーブレットとは、クライアントの代わりにサーバー上で呼び出され、実行されるJavaクラスのことです。アプレットがクライアント側で実行されるのに対し、サーブレットはサーバー側で実行されます。HTTPサーブレットは、受け取ったHTTPリクエストを処理し、それに対してHTTPレスポンスを送信するJavaクラスです。HTTPサーブレットはHTTPサーバーに常駐しており、サーブレット・クラスJavaSoft javax.servlet.http.Httpの拡張である必要があります。これで、サーブレットは、一般的なサーブレット・エンジンのフレームワークで動作します。

HTTPサーブレットには、次のような利点があります。

 


サーブレットとJoltの関係

Joltのサーブレット接続性機能を使用すると、一般的なHTTPサーブレットでJolt機能を利用することができます。Joltサーブレットは、次のJoltクラスを使用してHTTPリクエストを処理します。

Joltサーブレット接続性クラス

以下は、Joltサーブレット接続性クラスの説明です。

ServletDataSet

このクラスには、Oracle Tuxedoサービスの入力パラメータと出力パラメータを表すデータ要素が含まれています。HTMLのフィールド名と値をjavax.servlet.http.HttpServletRequestオブジェクトからインポートするメソッドが用意されています。

ServletPoolManagerConfig

このクラスは、Joltセッション・プール・マネージャと、関連する1つまたは複数のJoltセッション・プール用のスタートアップ・クラスです。必要に応じてセッション・プール・マネージャを作成し、最低限必要な数のセッションを設定してセッション・プールを開始します。Joltセッション・プール・マネージャは、1つまたは複数の名前付きセッション・プールを内部的に追跡します。

このクラスはbea.jolt.pool.PoolManagerConfigから派生しています。呼出し側はPropertiesオブジェクトまたはHashtableオブジェクトを静的なstartup()メソッドに渡してセッション・プールを作成したり、静的なgetSessionPoolManager()メソッドを渡してbea.jolt.pool.servlet.ServletSessionPoolManagerクラスのセッション・プール・マネージャを取得することができます。

ServletResult

このクラスには、ServletResultオブジェクトの各フィールドをString型で取得するメソッドが用意されています。

ServletSessionPool

このクラスには、Javaサーブレットで使用するセッション・プールが用意されています。セッション・プールは、Oracle Tuxedoシステムに対する1つ以上の接続(セッション)を表します。このクラスには、Oracle Tuxedoサービスの入力パラメータをjavax.servlet.http.HttpServletRequestオブジェクトとして受け入れるコール・メソッドが用意されています。

ServletSessionPoolManager

このクラスは、サーブレットに固有のセッション・プール・マネージャです。ServletSessionPoolクラスの1つ以上のセッション・プールの集まりを管理します。このクラスには、ServletSessionPoolManagerそのものおよびその中のセッション・プールの両方を作成するためのメソッドが用意されています。これらのメソッドは、セッション・プール用の管理APIの一部です。

 


HTTPサーブレットの作成と登録

HTTPサーブレットを作成と登録を行う前に、まずJoltサーブレット接続性をサポートするパッケージ(jolt.jarjoltjse.jarservlet.jar)をインポートする必要があります。HTTPサーブレットは、javax.servlet.http.HttpServletの拡張です。作成したHTTPサーブレットは、一般的なサーブレットをサポートするWebサーバーに登録します。カスタマイズしたサーブレットは、HTTP機能を持つ標準のHTTPサーブレットと同様に扱われます。

各HTTPサーブレットには、特定のURLの形式が登録されます。あるURLがリクエストされると、対応するサーブレットが呼び出され、リクエストが処理されます。

サーブレットの登録方法については、お使いのWebサーバーのドキュメントを参照してください。

 


Joltサーブレット接続性のサンプル

Joltソフトウェアには、Joltサーブレット・クラスを使用してサーブレット接続性を解説するサンプル・アプリケーションが用意されています。次の3つのサンプルが用意されています。

Joltサーブレット・クラスの使用方法を学ぶには、これらのサンプルで示されているサンプル・コードを参照してください。

サーブレット・アプリケーションのサンプルを表示するには

Joltサンプル・アプリケーションのコードを表示するには、Jolt APIクライアント・クラス(通常は、Joltのインストール時のオプション項目)をインストールする必要があります。指定したディレクトリにこれらのクラスをインストールしたら、次のディレクトリにあるサンプル・アプリケーション・ファイルを選択してください。

<Installation directory>\udataobj\jolt\examples\servlet

サンプル・コードを表示するには、Microsoftのメモ帳などのテキスト・エディタを使って、サンプル・アプリケーションごとにJavaファイルを開いてください。

SimpAppサンプル

Joltにはsimpappというサンプル・アプリケーションがあります。simpappは、サーブレットでどのようにServlet Connectivity for Oracle Tuxedoが使用されるかを示しています。SimpAppサンプルでは、次のサーブレット・タスクが示されています。

この例では、サーブレットがOracle Tuxedoに接続し、その任意のサービスを呼び出す仕組みを例示します。サービスはsimpapp.htmlファイルから呼び出す必要があります。サーブレットは初期化時にセッション・プール・マネージャを作成します。これは、doPost()メソッドが呼び出される時にセッションを取得するために使用されます。このセッションは、ポストされた「SVCNAME」引数によって記述された名前を使用してOracle Tuxedoのサービスに接続するために使用されます。この例では、サービスは「TOUPPER」と呼ばれ、ポストされた「STRING」引数のテキストを大文字に変換し、結果を自動生成されたHTML内のクライアント・ブラウザに返します。

注意: このサンプルではWebLogic Serverが使用されます。

SimpAppの実行に必要な条件

SimpAppの実行に必要な条件は、以下のとおりです。

SimpAppのインストール

  1. Webアプリケーション・サーバーにJoltクラス・ライブラリ(jolt.jar)とServlet Connectivity for Oracle Tuxedoクラス・ライブラリ(joltjse.jar)をインストールします。Webアプリケーション・サーバーでクラス・ファイルの抽出が必要であれば、クラス・ファイルを抽出します。
  2. SimpAppServlet.javaをコンパイルします。必ず、標準のJDK 1.1.x classes.zip、JSDK 1.1クラス、Joltクラス・ライブラリおよびServlet Connectivity for Oracle Tuxedoクラス・ライブラリをclasspath内に指定してください。
  3. javac -classpath $(JAVA_HOME)/lib/classes.zip:$(JSDK)/lib/servlet.jar:
    	$(JOLTHOME)/jolt.jar:$(JOLTHOME)/joltjse.jar:./classes
    		-d ./classes SimpAppServlet.java
    注意: SimpAppServletのパッケージ名はexamples.jolt.servlet.simpappです。
  4. simpapp.htmlsimpapp.propertiesの2ファイルをpublic HTMLディレクトリに置きます。
  5. simpapp.propertiesファイルを変更します。appaddrlistfailoverlistをJoltサーバーの正しいホストおよびポートに変更します。SimpAppでセキュリティが有効になっている場合は、正しいOracle Tuxedo認証情報を指定します。例:
  6. 	#simpapp
    	#Fri Apr 16 00:43:30 PDT 1999
    	poolname=simpapp
    	appaddrlist=//host:7000,//host:8000
    	failoverlist=//backup:9000
    	minpoolsize=1
    	maxpoolsize=3
    	userrole=tester
    	apppassword=appPass
    	username=guest
    	userpassword=myPass
  7. SimpappをSimpAppServletに登録します。詳細は、ご使用のWebアプリケーション・サーバーを参照してください。Oracle WebLogic Serverを使用している場合は、config.xmlファイルの次のセクションを追加します。
  8. <Application
    Deployed="true"
    Name="simpapp"
    Path=".\config\mydomain\applications"
    >
    <WebAppComponent
    Name="simpapp"
    Targets="myserver"
    URI="simpapp"
    />
    </Application>
  9. SimpAppの最初のページsimpapp.htmlにアクセスするには、次のように入力します。
  10. http://mywebserver:8080/simpapp.html

BankAppサンプル

BankAppアプリケーションは、サーブレットがPageCompiledServletを使い、Servlet Connectivity for Oracle Tuxedoを利用してどのように作成されるかを示しています。BankAppでは以下の方法を説明します。

BankAppの実行に必要な条件

BankAppの実行に必要な条件は、以下のとおりです。

インストール手順

  1. Webアプリケーション・サーバーにJoltクラス・ライブラリ(jolt.jar)とServlet Connectivity for Oracle Tuxedoクラス・ライブラリ(joltjse.jar)をインストールします。Webアプリケーション・サーバーでクラス・ファイルの抽出が必要であれば、クラス・ファイルを抽出します。
  2. Webアプリケーション・サーバーのpublic HTMLディレクトリに、HTML、JHTML、bankapp.propertiesファイルをすべてコピーします(WebLogicの場合は$WEBLOGIC/myserver/public_html)。
  3. 	bankapp.properties
    	tellerForm.html
    	inquiryForm.html
    	depositForm.html
    	withdrawalForm.html
    	transferForm.html
    	InquiryServlet.jhtml
    	DepositServlet.jhtml
    	WithdrawalServlet.jhtml
    	TransferServlet.jhtml
  4. bankapp.propertiesファイルを変更します。appaddrlistfailoverlistをJoltサーバーの正しいホストおよびポートに変更します。BankAppでセキュリティが有効になっている場合は、正しいOracle Tuxedo認証情報を指定します。例:
  5. 	#bankapp
    	#Fri Apr 16 00:43:30 PDT 1999
    	poolname=bankapp
    	appaddrlist=//host:8000,//host:7000
    	failoverlist=//backup:9000
    	minpoolsize=2
    	maxpoolsize=10
    	userrole=teller
    	apppassword=appPass
    	username=JaneDoe
    	userpassword=myPass
  6. 必要に応じて、お使いのサーブレット・エンジンからJHTMLの自動コンパイル機能を有効にしておきます。詳細は、お使いのWebアプリケーション・サーバーのマニュアルを参照してください。
  7. お使いのブラウザで次のURLを指定し、Servlet Connectivity for Oracle Tuxedoを使ってBankAppにアクセスしてください。
  8. http://mywebserver:8080/tellerForm.html

Adminサンプル

「Admin」サンプル・アプリケーションでは、以下のサーブレットのタスクを説明します。

Adminの実行に必要な条件

Adminの実行に必要な条件は、以下のとおりです。

インストール手順

  1. Webアプリケーション・サーバーにJoltクラス・ライブラリとServlet Connectivity for Oracle Tuxedoクラス・ライブラリをインストールします。
  2. すべてのJHTMLファイルをpublic HTMLディレクトリ(WebLogicの場合は$WEBLOGIC/myserver/public_html for WebLogic)にコピーします。
  3. 	PoolList.jhtml
    	PoolAdmin.jhtml
  4. セッション・プールの一覧を表示するには、お使いのブラウザで次のURLを指定してください。
  5. http://mywebserver:8080/PoolList.jhtml

 


サーブレットに関するその他の情報

サーブレットの作成方法と使用方法の詳細は、以下のサイトを参照してください:

Oracle WebLogicサーブレットに関するドキュメント

http://e-docs.bea.com/wls/docs81/adminguide/index.html

http://e-docs.bea.com/wls/docs81/servlet/index.html

http://e-docs.bea.com/wls/docs81/javadocs/index.html

Javaサーブレット

http://jserv.java.sun.com/products/java-server/documentation/
webserver1.1/index_developer.html

サーブレット関連団体

http://servlet-interest@java.sun.com


  先頭に戻る       前  次