この付録は、Oracle Tuxedo管理コンソールのアーキテクチャと実装のガイドです。World Wide WebとJavaプログラムの概念とプロトコルに精通している高度なユーザーおよび開発者を対象としています。
Oracle Tuxedo管理コンソール・アプレットは、高度なクライアント/サーバー・アプリケーションであり、クライアント側ではJava、サーバー側ではC言語で記述されています。クライアント(ユーザー)マシンはJavaアプレットを実行し、Oracle Tuxedoサーバー・マシンはカスタム・プロトコルを介してOracle Tuxedo MIB(管理情報ベース)とのインタフェースをとるゲートウェイ・プログラムを実行します。
Web (HTTP)サーバーは、GUIの実際の操作には不要ですが、Webブラウザにアプレット・コードを配布するため、またオンライン・ヘルプとスナップショットを表示するために必要です。システムにWebサーバーがまだない場合は、Oracle Tuxedoソフトウェアに付属のtuxwsvr
を使用できます。
(前述のように)サーバー・マシンで実行されるゲートウェイ・プログラムは、wgated
と呼ばれます。これは直接実行されず、Oracle Tuxedo管理コンソール・リスナーwlisten
によって呼び出されます。GUIの実行中にps
コマンドを実行すると、1つ以上のwgated
プロセスが実行されます。
tuxwsvr
とwlisten
の両方は、別々のネットワーク・ポートをリスニングして、リクエストの到着を待機します。これらは相互に認識しません。したがって、GUIは2つのネットワーク・ポートが動作していることを必要とします。これらは、ブリッジおよびtlisten
プロセス用にUBBCONFIG
ファイルで構成されているネットワーク・ポートとは異なります。
WebブラウザがJavaアプレットを実行するためには、ブラウザが<APPLET>要素を含むHTMLファイルをロードする必要があります。アプレット要素には、プログラムの名前と、そのプログラムへのパラメータが含まれます。通常のプログラムのコマンド行と同様です。
GUIの特定の呼出しに対してアプレット要素をハードコーディングし、WebブラウザでそのHTMLページを取得できます。ただし、Oracle Tuxedo管理コンソール・アーキテクチャは柔軟であるため、その操作は不要です。初期化ファイル(.ini
ファイル)がGUIの操作を制御します。ini
ファイルには、アプレットを制御するパラメータ、サーバー・ゲートウェイを制御するパラメータ、両方に使用されるパラメータがあります。
前述のtuxadm
CGIプログラムは、ini
ファイルを読み取り、HTMLテンプレート・ファイルとマージして、アプレットHTMLをその場で生成します。Oracle Tuxedoソフトウェアとともに配布されるテンプレート・ファイルは次の場所にあります。
$TUXDIR/udataobj/webgui/webgui.html
これは必要最小限のテンプレートです。顧客が会社のスタイルを追加することが期待されます。tuxadm
の機能は、%APPLET%というキーワードを実際のアプレット要素と置換する程度です。サーバーの初期化ファイルにTEMPLATE
パラメータを設定することで、テンプレートを別の場所に指定できます(次の手順を参照してください)。
GUIの実行中にWebブラウザの"ソースの表示"機能を使用すると、アプレットの配布に使用されるこの拡張HTMLページを表示できます。
先に進む前に、tuxadm
で生成される次のHTMLコード例を参照してください。
<HTML>
<HEAD>
<TITLE>BEA Administrator Console Applet Screen</TITLE>
</HEAD>
<BODY>
<CENTER>
<H1>The Applet is Loading</H1>
<APPLET ARCHIVE="bea/tuxadm/TuxApplet.jar"
CODE="bea/tuxadm/TuxApplet.class"
WIDTH="400" HEIGHT="150" CODEBASE="/java">
<PARAM NAME="TUXDIR" VALUE="/usr/tuxedo">
<PARAM NAME="PORT" VALUE="4009">
<PARAM NAME="WIDTH" VALUE="400">
<PARAM NAME="HEIGHT" VALUE="150">
<PARAM NAME="ENCRYPTBITS" VALUE="0">
<PARAM NAME="DOCBASE" VALUE="/docs">
<PARAM NAME="SNAPBASE" VALUE="/java/snapshot">
<PARAM NAME="TOTALDOMAINS" VALUE="2">
<PARAM NAME="DOMAINNAME0" VALUE="simpapp">
<PARAM NAME="TUXCONFIG0" VALUE="/home/sdo/simpapp/tuxconfig">
<PARAM NAME="DOMAINNAME1" VALUE="bankapp">
<PARAM NAME="TUXCONFIG1" VALUE="/home/sdo/bankapp/tuxconfig">
<B>Your browser does not appear to support JAVA.
Administration Console must be run on a JAVA capable browser.CCheck your browser's options to see if JAVA processing has been disabled.</B>
</APPLET>
</CENTER>
</BODY>
</HTML>
注: | 管理コンソール・アプレットとサーバー間の通信に暗号化を使用している場合、tuxadm で生成されるHTMLコードにはJavascriptコードが含まれます。生成されたこのコードを表示するには、「ソースの表示」を使用します。 |
前述のHTMLおよびアプレットをWebブラウザに配布するには、Webサーバーが実行されている必要があります。
tuxwsvr -l //
machine:port
-i
ini-file
/dev/tcp
は、ネットワーク・デバイスの適切なデバイス名のパス名で置換する必要があります。このデバイスは、tlisten
に使用し、UBBCONFIG
ファイルのBRIDGE
パラメータに指定するデバイスと同じです。文字列machine:port
は、Oracle Tuxedoで使用される標準DNS命名規則に基づきます。Webサーバーは、通常はポート80です。ただし、そのポートを使用するにはルートである必要があるため、次のような別のポートを選択することをお薦めします。
//lcuw99:8080
注: | これは、前に示したアプレット要素に表示されるポート番号ではありません。そのポート番号は、TUXWSVR ではなくWLISTEN に付与されたものです。WLISTEN についてはまだ説明していません。 |
ini-file
には、Webサーバーのディレクトリ・マッピングが含まれます。
管理者は、ファイル・システム全体を外部に公開することを望みません。したがって、Oracle Tuxedo管理コンソールで使用するディレクトリ名用に複数の別名が提供されています。
ULOGおよびイベント・スナップショット・ファイルをJavaディレクトリに書き込まない場合は、置換スナップショット・ディレクトリ用の別の別名が必要です。
Oracle TuxedoソフトウェアをCDからインストールした場合は、Webサーバーのini
ファイルが自動的に作成されています。ただし、このファイルのデフォルト値が望ましくない場合は、独自のini
ファイルを作成する必要があります。
CGI /cgi-bin TUXDIR
/bin
HTML /java TUXDIR
/udataobj/webgui/java
HTML /TUXDIR
/udataobj/webgui
注: | TUXDIR は、Oracle Tuxedoルート・ディレクトリへのフルパス(/usr/tuxedo など)で置換する必要があります。ini ファイルにはTUXDIR という単語を挿入しないでください。 |
これは何を意味するのでしょうか。WebサーバーがCGIプログラムの最初の実行リクエストを受け取った場合、これは/cgi-bin/tuxadm
のようになります。
上記のファイルはこれをOracle Tuxedoのbin
ディレクトリにマッピングします。このディレクトリには、tuxadm
が存在します。セキュリティが保護された環境ではこの操作を行いません。tuxadm
を別の場所にコピーします(または、LD_LIBRARY_PATH
を設定して実際のtuxadm
を実行するシェル・スクリプトにする必要がある場合があります)。また、tuxwsvr
を実行する前にTUXDIR
を環境に設定しておく際にも役立ちます。
APPLET要素にはCODEBASE
という属性があり、前述のように/java
のことです。Web ブラウザが、/java/bea/tuxadm/TuxApplet.class
というパスを使用してWebサーバーからアプレットを取得しようと試行するとき、上記のini
ファイルがパスを次に再マッピングします。
$TUXDIR/udataobj/webgui/java/bea/tuxadm/TuxApplet.class
/
からudataobj/webgui
へのマッピングは、最上位レベルのWebページであるwebguitop.html
のマッピングに使用されます。(java
ディレクトリはwebgui
ディレクトリの直下にあるため、tuxwsvr.ini
ファイル内の/java
のマッピングは厳密には不要です。Javaファイルを別の場所に移動する場合の説明の目的で挿入してあります。)
Oracle Tuxedoオンライン・ドキュメントをインストールした場合は、ドキュメントのマッピングもある可能性があります。
Webサーバーのini
ファイルには、複数のCGI行とHTML行を含めることができ、これらは一致に到達するまで順次に処理されます。
ここでは、DIR
とBASE
で終わるwebgui.ini
パラメータの違いについて説明します。DIRは、wlisten
が実行されたサーバー上のディレクトリを示します。サーバー・プログラムでは、このディレクトリにあるファイルが使用されます。
BASE
は、Webブラウザがドキュメントの取得に使用するURL接頭辞を意味します。JavaコードのCODEBASE
は/java
ですが、Javaコードのサーバー・ディレクトリは/usr/tuxedo/udataobj/webgui/java
です。
次のステップは、tuxadm
とwlisten
で使用されるwebgui.ini
ファイルの設定です。tuxadm
は、INIFILE
パラメータを与えられない場合、$TUXDIR/udataobj/webgui/webgui.ini
を参照します(後で詳述します)。wlisten
には、コマンド行でini
ファイル・パスが必要になります(後で詳述します)。(インストール・ユーティリティを使用してOracle Tuxedoをインストール済の場合、使用可能なwebgui.ini
ファイルをすでに持っている可能性があります。)
注: | これは、Webサーバーについて説明したのとは異なるini ファイルです。リストA-2に、ini ファイルがどのようなものかを示します。 |
TUXDIR=/usr/tuxedo
INIFILE=/home/sdo/gui/webgui.ini
NADDR=//lcuw99:4009
DEVICE=/dev/tcp
ENCRYPTBITS=128
DOCBASE=/tuxdocs
CODEBASE=/java
WIDTH=400 (optional)
HEIGHT=150 (optional)
FRAMEWIDTH=800
FRAMEHEIGHT=450
TEMPLATE=/usr/tuxedo/udataobj/webgui/webgui.html (optional)
DOMAIN=simpapp;/home/sdo/simpapp/tuxconfig
DOMAIN=bankapp;/home/sdo/bankapp/tuxconfig
DOMAIN=...
TUXDIR
は、Oracle Tuxedoがインストールされる場所です。NADDR
は、wlisten
に使用するネットワーク・アドレスで、標準のOracle Tuxedo構文(DNS、0x、. . . またはその他のプロバイダ固有形式)です。DEVICE
は、TCP/IPデバイスのデバイス・ファイル名です(HPやIBMなど、ソケットを使用する一部のシステムでは不要です)。ENCRYPTBITS
は、0、40、56または128です。このパラメータは、GUIアプレットと管理コンソール・サーバー間の通信に使用される暗号化の強度を指定します。デフォルトは128ビットです。 CODEBASE
は、Javaコードが格納されているディレクトリのパス(つまり、マシン上の物理パスではなく、Webサーバーが認識する別名パス)です。DOCBASE
は、Oracle Tuxedoヘルプ・ファイルが格納されている場所です。INIFILE
は、このファイルのパス(別名パスではなく実際のパス)です。TEMPLATE
は、tuxadm
がアプレットの配布に使用するHTMLテンプレート・ファイルです。 DOMAIN
リストは、特にGUIを使用してドメインをゼロから作成する場合にはオプションです。
ドメイン・リスト内の各ドメイン(最大64)について、次のようなDOMAIN行を含めます。
DOMAIN=domain_name;tuxconfig-path
tuxconfig-path
の値は、別名パスではなく実際のパスです。
これで、APPLET HTMLコードがtuxadm
によってどのように生成されるかがわかりました。
GUIの使用を開始した後で、ini
ファイルにいくつか行を追加して、フォルダ選択リストなどの情報や、オプション・ボタンから設定するオプションを格納します。
wlisten
を実行する前に、プログラムがOracle Tuxedo MIBフィールド表を見つけられるようにFML32環境変数を設定する必要があります。次に示すように変数を設定します。
FLDTBLDIR32=$TUXDIR/udataobj
FIELDTBLS32=tpadm,evt_mib
wlisten -i ini-file
wlisten
は、次の2つのセキュリティ・モードのいずれかで動作できます。
これらのモードを一緒に使用するか、認証を単独で使用できます。
認証は、tlisten
パスワード・ファイルに基づいて行われます。$TUXDIR/udataobj
または$APPDIR/.adm
のいずれかにtlisten.pw
というパスワード・ファイルがある場合、アプレットの起動時にユーザーはユーザー名とパスワードを入力する必要があります。パスワードは、パスワード・ファイルにある任意のパスワードに一致する必要があります。一致しない場合、認証は失敗します。ユーザー名は、GUIゲートウェイ・プログラムであるwgated
がOracle Tuxedoに接続するとき、tpinit
に渡されます。
暗号化も使用されている場合、アプレットとサーバー間で行われる通信はRSA暗号化を使用して暗号化されます。
Webサーバーを用意し、wlisten
を実行したら、Oracle Tuxedo管理コンソールを実行します。
インストール・スクリプトは、Webサーバーが一般のHTMLファイルに使用するディレクトリにwebguitop.html
というファイルを格納します。このファイルの下部には、URLを生成してtuxadm
(CGIプログラム)を実行するSubmit FORMがあります。
通常は、次のURLを入力することで、このWebページを表示します。
http://lcuw99:8080/webguitop.html
デフォルトのwebguitop.html
ファイルを編集する場合は、一番下に移動する必要があります。ここには次のような内容が記載されています。
<FORM ACTION="http://HOST/CGI-BIN/tuxadm">
<INPUT TYPE=HIDDEN NAME="TUXDIR" VALUE="TUXDIRVALUE">
<FORM ACTION="/cgi-bin/tuxadm">
<INPUT TYPE=HIDDEN NAME="INIFILE" VALUE="/home/sdo/gui/webgui.ini">
INIFILE
は、GUI ini
ファイルを格納する場所に設定します。
以前にwebguitop.html
ページでソフトウェア・ライセンスに同意した場合は、特別なURLを使用してGUIに直接進むことができます。
http://machine:port/cgi-bin/tuxadm?TUXDIR=tuxdir-path&INIFILE=inifile-path
ポートは、wlisten
ではなくWebサーバー(tuxwsvr
)を実行したポートです。誤ってwlistenポートを使用すると、予期しない結果になります。
tuxdir-path
は、サーバー・マシン上のOracle Tuxedoルート・ディレクトリの絶対パスです。inifile-path
は、(Webサーバーではなく)wlistenのini
ファイルの絶対パスです。INIFILE
は、ini
ファイル内のINIFILE
パラメータと一致する必要があります。INIFILE
が$TUXDIR/udataobj/webgui/webgui.ini
のデフォルトの場所にある場合は、&INIFILE= . . .
全体を省略できます。
http://lcuw99:8080/cgi-bin/tuxadm?TUXDIR=/home/units/
r63&INIFILE=/home/sdo/gui/webgui.ini
これは、ほとんどの管理コンソール・ユーザーには不要な高度なトピックです。ただし、Javaプログラマは、Appletviewer (Javaアプレットを実行するためのスタンドアロン・プログラム)を使用して管理コンソールを実行する方法を知っておくことが必要な場合があります。
注: | OracleではAppletviewerの使用をテストまたはサポートしていませんが、特殊な状況(たとえば、Webサーバーが正常に動作しない場合など)では、Appletviewerを使用してコンソールを実行することが必要な場合があります。 |
アプレット・コードとイメージは、Java Appletviewerプログラムが実行されるマシンにインストールできます。
APPLET要素を含むHTMLは、2通りの方法で変更する必要があります。CODEBASE
は、マシン上のローカル・ディレクトリを指す必要があり、HOST
パラメータを追加して、wlisten
が実行されているマシンのDNS名を指定する必要があります。
上記の例では、APPLET要素には次のような新しいPARAMタグがあります。
<PARAM NAME
="HOST
"VALUE
="lcuw99">
このHOSTパラメータはドキュメント化されていないため、検索しないでください。
Webサーバーは、この構成では使用されません。一方、ブラウザを使用していないため、ヘルプ・システムを使用できず、ULOGおよびイベント・スナップショットも表示できません。Oracle管理コンソールは、Javaバージョン1.1でテストされていないため、このバージョンはサポートされません。