目次 前 次 PDF


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

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サーブレットには、次のような利点があります。
整形式のコンパイル済言語(Java)で記述されているため、変換して使用するスクリプトよりも強力です。
常駐するHTTPサーバーの主要な部分を構成しています。
セキュリティに関して安全性が低いCGIとは異なり、常駐するサーバーの堅牢なセキュリティ機能によって保護されています。
うまく開発されたプログラム・インタフェースを使用してHTTPリクエストを処理するため、プログラムの作成を簡単に行うことができ、エラーの発生を抑えることができます。
サーブレットとJoltの関係
Joltのサーブレット接続性機能を使用すると、一般的なHTTPサーブレットでJolt機能を利用することができます。Joltサーブレットは、次のJoltクラスを使用してHTTPリクエストを処理します。
ServletDataSet
ServletPoolManagerConfig
ServletResult
ServletSessionPool
ServletSessionPoolManager
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サービスを呼び出す
結果セットを処理する
この例では、サーブレットがOracle Tuxedoに接続し、その任意のサービスを呼び出す仕組みを例示します。サービスはsimpapp.htmlファイルから呼び出す必要があります。サーブレットは初期化時にセッション・プール・マネージャを作成します。これは、doPost()メソッドが呼び出される時にセッションを取得するために使用されます。このセッションは、ポストされた「SVCNAME」引数によって記述された名前を使用してOracle Tuxedoのサービスに接続するために使用されます。この例では、サービスは「TOUPPER」と呼ばれ、ポストされた「STRING」引数のテキストを大文字に変換し、結果を自動生成されたHTML内のクライアント・ブラウザに返します。
注意:
このサンプルではWebLogic Serverが使用されます。
SimpAppの実行に必要な条件
SimpAppの実行に必要な条件は、以下のとおりです。
Servlet JSDK 1.1以上がインストールされたWebアプリケーション・サーバー
SimpAppを実行中のOracle Tuxedo 8.0以上
Oracle Jolt
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内に指定してください。
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です。
3.
simpapp.htmlsimpapp.propertiesの2ファイルをpublic HTMLディレクトリに置きます。
4.
simpapp.propertiesファイルを変更します。appaddrlistfailoverlistをJoltサーバーの正しいホストおよびポートに変更します。SimpAppでセキュリティが有効になっている場合は、正しいOracle Tuxedo認証情報を指定します。例:
#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
5.
SimpappをSimpAppServletに登録します。詳細は、ご使用のWebアプリケーション・サーバーを参照してください。Oracle WebLogic Serverを使用している場合は、config.xmlファイルの次のセクションを追加します。
<Application
Deployed="true"
Name="simpapp"
Path=".\config\mydomain\applications"
>
<WebAppComponent
Name="simpapp"
Targets="myserver"
URI="simpapp"
/>
</Application>
6.
SimpAppの最初のページsimpapp.htmlにアクセスするには、次のように入力します。
http://mywebserver:8080/simpapp.html
BankAppサンプル
BankAppアプリケーションは、サーブレットがPageCompiledServletを使い、Servlet Connectivity for Oracle Tuxedoを利用してどのように作成されるかを示しています。BankAppでは以下の方法を説明します。
プロパティ・ファイルを使ってセッション・プールを作成する
セッション・プール・マネージャを取得する
名前を使ってセッション・プールを取得する
Oracle Tuxedoサービスを呼び出す
結果セットを処理する
BankAppの実行に必要な条件
BankAppの実行に必要な条件は、以下のとおりです。
Servlet JSDK 1.1以上がインストールされたWebアプリケーション・サーバー
BankAppを実行中のOracle Tuxedo 8.0以上
Oracle Jolt
インストール手順
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)。
bankapp.properties
tellerForm.html
inquiryForm.html
depositForm.html
withdrawalForm.html
transferForm.html
InquiryServlet.jhtml
DepositServlet.jhtml
WithdrawalServlet.jhtml
TransferServlet.jhtml
3.
bankapp.propertiesファイルを変更します。appaddrlistfailoverlistをJoltサーバーの正しいホストおよびポートに変更します。BankAppでセキュリティが有効になっている場合は、正しいOracle Tuxedo認証情報を指定します。例:
#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
4.
必要に応じて、お使いのサーブレット・エンジンからJHTMLの自動コンパイル機能を有効にしておきます。詳細は、お使いのWebアプリケーション・サーバーのマニュアルを参照してください。
5.
お使いのブラウザで次のURLを指定し、Servlet Connectivity for Oracle Tuxedoを使ってBankAppにアクセスしてください。
http://mywebserver:8080/tellerForm.html
Adminサンプル
「Admin」サンプル・アプリケーションでは、以下のサーブレットのタスクを説明します。
管理用APIを使用してセッション・プールを管理する
Servlet Connectivity for Oracle TuxedoのPageCompiledServletを使用して統計情報を取得する
Adminの実行に必要な条件
Adminの実行に必要な条件は、以下のとおりです。
Servlet JSDK 1.1以上がインストールされたWebアプリケーション・サーバー
Oracle Jolt
インストール手順
1.
Webアプリケーション・サーバーにJoltクラス・ライブラリとServlet Connectivity for Oracle Tuxedoクラス・ライブラリをインストールします。
2.
すべてのJHTMLファイルをpublic HTMLディレクトリ(WebLogicの場合は$WEBLOGIC/myserver/public_html for WebLogic)にコピーします。
PoolList.jhtml
PoolAdmin.jhtml
3.
セッション・プールの一覧を表示するには、お使いのブラウザで次のURLを指定してください。
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
 

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved