Oracle Jolt

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

Oracle Jolt システムのコンフィグレーション

この章では、Oracle Jolt のコンフィグレーション方法を説明します。Jolt を既に使用したことがある場合は「簡易コンフィグレーション」をご覧ください。それ以外の節では、さらに詳しい内容を説明しています。この章は、Oracle Jolt のコンフィグレーション先のオペレーティング システムやワークステーション プラットフォームでの作業を経験したことのあるシステム管理者またはアプリケーション開発者を対象としています。

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

 


簡易コンフィグレーション

Oracle Jolt および Oracle Tuxedo を既に使用したことがある場合は、この「簡易コンフィグレーション」で説明する、Oracle Jolt のコンフィグレーション方法に関するガイドラインを参照してください。Jolt を初めて使用する場合は、「Jolt に関する背景情報」を読んでからコンフィグレーションを始めてください。

簡易コンフィグレーション」では、Oracle Tuxedo で Jolt サーバ リスナ (JSL) をコンフィグレーションするために必要な次の手順について説明します。

UBBCONFIG ファイルを編集する

  1. MACHINES セクションで、MAXWSCLIENTS=number を指定します (必須)。
注意 : MAXWSCLIENTS が設定されていないと、JSL は起動しません。
  1. GROUPS セクションで、GROUPNAME に必須パラメータとオプション パラメータを設定します。
  2. SERVERS セクションを設定します (必須)。
  3. このセクション内にある各行の形式は次のとおりです。

    JSL 必須パラメータ [オプション パラメータ]  

    JSL は、tmboot(1) で実行されるファイル (string_value) を指定します。

  4. JSL の必須パラメータを設定します。
  5. 以下のパラメータは必須です。

    SVRGRP=string_value

    SRVID=number

    CLOPT=”-A...-n...//host port

  6. JSL にその他のパラメータを設定します。
  7. JSL には次のパラメータを使用できますが、これらのパラメータを設定するとアプリケーションにどのような影響が及ぶかを考慮してください。詳細については、「JSL で使用できるパラメータ」を参照してください。

    MAX # of JSHs

    MIN # of JSHs

Jolt リポジトリをコンフィグレーションする

以下のセクションを使用して、Jolt リポジトリをコンフィグレーションします。

Groups セクション

  1. MACHINES セクションの LMID パラメータに指定されている値と同じ識別子を指定します。
  2. GRPNO に 1 ~ 30,000 の範囲の値を指定します。

Servers セクション

Oracle Jolt リポジトリ サーバ (JREPSVR) には、リポジトリにアクセスしたり、リポジトリを編集するためのサービスが格納されています。JREPSVR インスタンスが複数ある場合は、共有ファイルにより、リポジトリの情報が共有されます。UBBCONFIG ファイルの SERVERS セクションには、JREPSVR を指定してください。

  1. SRVID パラメータを使用して、新しいサーバの識別子を指定します。
  2. JREPSVR -W フラグを指定し、リポジトリを編集可能にしておきます (この設定は 1 つの JREPSVR だけに対して行います)。このフラグを設定しないと、リポジトリは読み取り専用になります。
  3. -P フラグを指定して、リポジトリ ファイルへのパスを設定します。-P フラグに対する引数が指定されていないと、Oracle Tuxedo の ULOG ファイルにエラー メッセージが表示されます。
  4. リポジトリ ファイルのファイル パス名を追加します (例 : /app/jrepository)。
  5. tmloadcf コマンドと tmboot コマンドを使用して、Oracle Tuxedo システムを起動します。

Oracle Tuxedo およびリポジトリ エディタを使用するサービスを初期化する

Oracle Tuxedo および Oracle Jolt を使用する Oracle Tuxedo サービスを定義し、クライアントが Jolt サービスを利用できるようにします。

  1. サービスを格納した Oracle Tuxedo サーバを作成します。
  2. Oracle Jolt リポジトリ エディタにアクセスします。

リポジトリ エディタを使用する

リポジトリ エディタを起動する前に、必要な Oracle Jolt ソフトウェアがすべてインストールされているかどうかを確認してください。

注意 : JREPSVRJSL が実行されていないと、リポジトリ エディタは使用できません。

リポジトリ エディタを使用するには、次の手順に従います。

  1. リポジトリ エディタを起動します。
  2. リポジトリ エディタは、JavaSoft appletviewer または Web ブラウザから起動します。これらの手順は、次の節でさらに詳しく説明されます。

  3. リポジトリ エディタにログオンします。

Java Applet Viewer を使ってリポジトリ エディタを起動する

  1. CLASSPATH に、Jolt クラスのディレクトリか、または *.jar ファイルが置かれたディレクトリを指定します。
  2. アプレットをローカル ディスクからロードする場合は、URL に次のように入力してください。
  3. appletviewer full-pathname/RE.html

    Web サーバからアプレットをロードする場合は、URL に次のように入力してください。

    http://www.server/URL path/RE.html
  4. Enter〕を押します。
  5. Oracle Jolt リポジトリ エディタの [Logon] ウィンドウ」の図に示すようなウィンドウが表示されます。

Web ブラウザを使用してリポジトリ エディタを起動する

次のいずれかの方法を使用して、Web ブラウザからリポジトリ エディタを起動してください。

ローカル ファイルからリポジトリ エディタを起動する場合
  1. CLASSPATH に Jolt クラスのディレクトリを指定します。
  2. 次を入力します。
  3. file:full-pathname/RE.html
  4. Enter〕を押します。
  5. Oracle Jolt リポジトリ エディタの [Logon] ウィンドウ」の図に示すようなウィンドウが表示されます。

Web サーバからリポジトリ エディタを起動する場合
  1. CLASSPATH に Jolt クラスのディレクトリが含まれていないことを確認します。
  2. CLASSPATH から Jolt クラスを削除します。
  3. 次を入力します。
  4. http://www.server/URL path/RE.html
    注意 : jolt.jar および admin.jarRE.html と同じディレクトリに置かれている場合は、Web サーバ側がクラスを作成します。RE.html とは異なるディレクトリに置かれている場合は、アプレットのコードを変更します。
  5. Enter〕を押します。
  6. Oracle Jolt リポジトリ エディタの [Logon] ウィンドウ」の図に示すようなリポジトリ エディタのログオン ウィンドウが表示されます。

リポジトリ エディタにログオンする

Jolt リポジトリ エディタを起動したら、以下の手順に従ってログオンします。

注意 : ログオンする前に、Oracle Jolt リポジトリ エディタの [Logon] ウィンドウが表示されている必要があります。この画面が表示されたことを確認してから以下の手順に進んでください。
  1. [Logon] ウィンドウに、Oracle Tuxedo アプリケーションへの「アクセス ポイント」として指定されているサーバ マシン名を入力し、〔Tab〕を押します。
  2. ポート番号を入力して〔Enter〕を押します。
  3. システムにより、サーバとポートの情報が検証されます。

    注意 : Jolt リレー経由でログオンしない限り、ここで指定したポート番号と同じ番号が Jolt リスナのコンフィグレーション時に使用されます。詳細については、UBBCONFIG ファイルを参照してください。
  4. Oracle Tuxedo のアプリケーション パスワードを入力して〔Enter〕を押します。
  5. 認証レベルに応じて、手順 5 と手順 6 を実行します。

  6. Oracle Tuxedo ユーザ名を入力して〔Tab〕を押します。
  7. Oracle Tuxedo ユーザ パスワードを入力して〔Enter〕を押します。
  8. [Packages] ボタンと [Services] ボタンが有効になります。

    注意 : Oracle Jolt のリポジトリ エディタでは、ユーザ ロールにハードコーディングされた joltadmin が使用されます。
    図 3-1 Oracle Jolt リポジトリ エディタの [Logon] ウィンドウ


    Oracle Jolt リポジトリ エディタの [Logon] ウィンドウ

次表の「リポジトリ エディタの [Logon] ウィンドウの説明」では、このウィンドウにあるフィールドとボタンについて説明します。

リポジトリ エディタの [Logon] ウィンドウの説明

表 3-1 リポジトリ エディタの [Logon] ウィンドウの説明
オプション
機能
Server
サーバ名を入力する。
Port Number
10 進値でポート番号を入力する。
注意 : サーバ名とポート番号が入力されると、[User Name] フィールドと [User Password] フィールドがアクティブになる。これらのフィールドがアクティブになるかどうかは Oracle Tuxedo アプリケーションの認証レベルに基づく。
User Role
Oracle Tuxedo ユーザ ロールを入力する。Oracle Tuxedo の認証レベルが USER_AUTH 以上の場合にのみ入力する。
Application Password
Oracle Tuxedo の管理パスワードを入力する。
User Name
Oracle Tuxedo ユーザを識別するための名前を入力する。名前の先頭には英字を指定する。
User Password
Oracle Tuxedo のパスワードを入力する。
Packages
[Packages] ウィンドウにアクセスする (ログオンすると利用可能になる)。
Services
[Services] ウィンドウにアクセスする (ログオンすると利用可能になる)。
Log Off
サーバとの接続を切断する。

リポジトリ エディタを終了する

パッケージ、サービス、およびパラメータの追加、編集、テスト、削除が完了したらリポジトリ エディタを終了します。終了する前に、下図の「Oracle Jolt リポジトリ エディタを終了する前の [Logon] ウィンドウ」に示すようなウィンドウが表示されます。

図 3-2 Oracle Jolt リポジトリ エディタを終了する前の [Logon] ウィンドウ

使用できるのは、[Packages]、[Services]、および [Log Off] のみです。文字入力フィールドは利用できません。

リポジトリ エディタを終了するには、以下の手順に従います。

  1. 前のウィンドウで [Back] をクリックして、リポジトリ エディタの [Logon] ウィンドウに戻ります。
  2. [Log Off] をクリックしてサーバとの接続を切断します。
  3. リポジトリ エディタの [Logon] ウィンドウ内のフィールドが入力できない状態になります。

  4. ブラウザのメニューの [Close] をクリックしてウィンドウを閉じます。

イベント サブスクリプション用に Oracle Tuxedo の TMUSREVT サーバをコンフィグレーションする

Jolt のイベント サブスクリプション機能では、Oracle Tuxedo サービスまたは別の Oracle Tuxedo クライアントからイベント通知を受信します。Oracle Tuxedo の TMUSREVT サーバをコンフィグレーションし、アプリケーションの UBBCONFIG ファイルを編集してください。次の「UBBCONFIG ファイル内の TMUSREVT パラメータ」は、UBBCONFIG ファイル内の TMUSREVT パラメータを示しています。

コード リスト 3-1 UBBCONFIG ファイル内の TMUSREVT パラメータ
TMUSREVT        SRVGRP=EVBGRP1  SRVID=40        GRACE=3600
ENVFILE="/usr/tuxedo/bankapp/TMUSREVT.ENV"
CLOPT="-e tmusrevt.out -o tmusrevt.out -A --
-f /usr/tuxedo/bankapp/tmusrevt.dat"
SEQUENCE=11

UBBCONFIG ファイルの SERVERS セクションで、SRVGRP および SRVID を指定してください

Jolt リレーをコンフィグレーションする

UNIX の場合

システム プロンプトで次のコマンドを入力し、UNIX での JRLY プロセスを開始します。

jrly -f <config_file_path>

コンフィグレーション ファイルが存在しないか開けない場合、JRLY は標準エラーにメッセージを書き込み、起動時のエラーをエラー ログに記録してから終了します。

UNIX および Windows 2003 の場合

コンフィグレーション ファイルは、「タグ=値」の形式で記述されています。空白行または「#」で始まる行は無視されます。次の「正式なコンフィグレーション ファイルの形式の例」を参照してください。

コード リスト 3-2 正式なコンフィグレーション ファイルの形式
LOGDIR=<LOG_DIRECTORY_PATH>
ACCESS_LOG=<ACCESS_FILE_NAME in LOGDIR>
ERROR_LOG=<ERROR_FILE_NAME in LOGDIR>
LISTEN=<IP:Port combination where JRLY will accept comma-separated connections>
CONNECT=<IP:Port1, IP:Port2...IP:PortN:Port(List of IP:Port combinations associated with JRADs: can be 1...N)>
Windows 2003 のみの場合 (省略可能)

SOCKETTIMEOUT は、JRLY の Windows 2003 サービスが、ネットワーク アクティビティ (新しい接続、読み込み対象のデータ、クローズされた接続など) を実現するためにソケット接続をブロックする期間を示す時間 (秒単位) を指定します。SOCKETTIMEOUT の値はサービス コントロール マネージャ (SCM: Service Control Manager) にも影響します。サービス コントロール マネージャは、Windows 2003 サービスの停止を要求する場合には少なくとも SOCKETTIMEOUT で指定した秒数を待つ必要があります。

注意 : ディレクトリ名とファイル名の形式は、オペレーティング システムによって異なります。UNIX システムではフォワードスラッシュ (/) を使用します。Windows 2003 システムではバックスラッシュ (\) を使用します。LOGDIRACCESS_LOG、または ERROR_LOG で指定されたファイルを開けない場合、JRLY は stderr にエラー メッセージを記録してから終了します。
注意 : 次の表は、ホスト名とポート番号の形式を示しています。

表 3-2 ホスト名とポート番号の形式
ホスト名/ポート番号
説明
//Hostname:Port
Hostname は文字列で指定し、Port は 10 進数で指定する。
IP:Port
IP にはドット区切りの IP アドレスを指定し、Port には 10 進数値を指定する。

Jolt リレー アダプタ (JRAD) を起動する
  1. tmloadcf -y <UBBFILE> と入力します。
  2. tmboot と入力します。
JRAD をコンフィグレーションする

1 つの JRLY に接続できる JRAD プロセスは 1 つだけです。JRAD は、1 つの JSL および関連する JSH とだけ通信するようにコンフィグレーションできます。複数の JRAD を 1 つの JSL と通信するようにコンフィグレーションすることもできます。UBBCONFIG ファイルには、Oracle Tuxedo サービス用の CLOPT パラメータを含める必要があります。

  1. -l hexadecimal format (JRLY がクライアントの代わりに接続する JSL ポート) と入力します。
  2. -c hexadecimal format (JRAD が接続する JSL のアドレス) と入力します。
  3. 注意 : 形式は、「0x0002PPPNNN」、またはドット区切りの「100.100.10.100」です。
  4. ネットワーク接続されたコンポーネントをコンフィグレーションします。
  5. これで、Jolt がコンフィグレーションされました。

 


Jolt に関する背景情報

この節では、Jolt コンポーネントに関するその他の情報を説明します。

Jolt サーバ

Jolt サーバは、1 つまたは複数のハンドラを扱うリスナです。

Jolt サーバ リスナ (JSL) - JSL は、IP/ポートの組み合わせでコンフィグレーションし、クライアントをサポートします。JSL は、Jolt サーバ ハンドラ (JSH: Jolt Server Handler) と動作して、クライアントが Oracle Jolt システムのバックエンドへ接続できるようにします。JSL は Oracle Tuxedo サーバとして実行されます。

Jolt サーバ ハンドラ (JSH) - Tuxedo サーバ マシンで実行されるプログラム。リモート クライアント用のネットワーク接続ポイントを提供します。JSH は、JSL と動作し、クライアントが Oracle Jolt システムのバックエンドに接続できるようにします。JSL に対し、最大 32,767 までの JSH を利用できます。詳細については、「JSL のコマンドライン オプション」の -M コマンドライン オプションの説明を参照してください。

システム管理者の作業 - システム管理者は、Oracle Jolt のサーバ コンポーネントに関して、以下の作業を行う必要があります。

JSL を起動する

UBBCONFIG ファイルにあるすべての管理プロセスとサーバ プロセスを開始するには、次の手順に従います。

  1. tmloadcf と入力します。
  2. このコマンドにより、コンフィグレーション ファイルが解析され、バイナリ形式のコンフィグレーション ファイルがロードされます。

  3. tmboot -y と入力します。
  4. このコマンドにより、コンフィグレーション ファイルで指定されたアプリケーションがアクティブになります。

    オプションを指定しない場合は、TUXCONFIG ファイルを上書きしてもよいかどうかを確認するメッセージが表示されます。

tmloadcftmboot については、『Oracle Tuxedo アプリケーション実行時の管理』および『Tuxedo コマンド リファレンス』を参照してください。

JSL を停止する

Jolt サーバに対して停止を要求するには、Oracle Tuxedo の次のコマンドを入力します。

 tmshutdown -y

停止中には次の制約があります。

JSL を再起動する

Oracle Tuxedo は JSL をモニタし、障害が発生した場合は JSL を再起動します。Oracle Tuxedo がリスナ プロセスを再起動すると、次のイベントが発生します。

JSL をコンフィグレーションする

JSL は、Jolt から JSH へ接続要求を分散する Oracle Tuxedo サーバです。Oracle Tuxedo は、JSL と JREPSVR が置かれているホスト マシンで実行されていなければなりません。

注意 : JSH に対する JSL のポートの選択方法は、Oracle Tuxedo ワークステーション リスナ (WSL: Workstation Server Listener) の場合のプロセスとは異なります。JSL ポートを正しくコンフィグレーションする方法については、「UBBCONFIG ファイルを作成する」の「SERVERS セクション」を参照してください。

JSL のコマンドライン オプション

サーバ側では、コマンドラインからの情報の取得が必要な場合があります。CLOPT パラメータを使用すると、コマンドライン オプションを指定して、サーバに設定されたデフォルト値を変更することができます。次の表では、JSL のコマンドライン オプションを説明します。

表 3-3 JSL のコマンドライン オプション
オプション
説明
[-a]
Jolt 接続プールのセキュリティ コンテキストを有効または無効にする。WebLogic Server と Jolt の間で認証の伝播を実装する場合は、このオプションを有効にする。ID の伝播を実装するには、このオプションを設定して Jolt サービス ハンドラ (JSH) を起動する必要がある。-a オプションを設定しないと、SecurityContext が有効の場合、JSH はこのリクエストを受け付けない。SecurityContext 属性が有効の場合、Jolt クライアントは呼び出し側のユーザ名を JSH に渡す。
JSH は、呼び出し側の ID が付いたメッセージを取得すると、impersonate_user() を呼び出してそのユーザの appkey を取得します。JSH は appkey をキャッシュし、呼び出し側が次に要求したときに、appkey をキャッシュから取り出してリクエストがサーバに転送されるようにする。キャッシュは JSH ごとに維持される。つまり、同じ JSH に接続されたすべてのセッション プールに対して 1 つのキャッシュが維持される。
[-A]
リモート アプリケーションから SSL 接続を受け付けるときに証明書ベースの認証を必須にすることを指定する。

注意 : JSL -A オプションは ISL(5) および WSL(5) の -a オプションと同じ。詳細については、「セクション 5 - ファイル形式、データ記述方法、MIB、およびシステム プロセスのリファレンス」を参照。

[-c compression_threshold]
Jolt クライアントと Jolt サーバ (JSH) の間で送受信されるアプリケーション データがネットワーク上で転送されるときに、圧縮されるようにする。
compression_threshold には、バイト数 (0 ~ 2,147,483,647) を指定する。指定されたしきい値を超えるメッセージは、転送前に圧縮される。
デフォルトでは圧縮は行われない。つまり、圧縮のしきい値が指定されていないため、Oracle Jolt によるクライアントまたはサーバ上のメッセージの圧縮は行われない。
[-d device_name]
トランスポート層インタフェースを使用するプラットフォームのデバイスを指定する。デフォルト値はなし。必須のコマンドライン オプション (ただし、ソケットの場合は省略可能)。
[-H external netaddr]
ネットワーク アドレスの変換が行われる場合に、Jolt クライアントがアプリケーションに接続するために使用するネットワーク アドレス マスクを指定する。JSL プロセスでは、このアドレスを使用して、このアドレスで接続しようとするクライアントをリスンする。外部アドレス マスクが 0x0002MMMMdddddddd で、JSH のネットワーク アドレスが 0x00021111ffffffff の場合、結果 (外部) のネットワーク アドレスは 0x00021111dddddddd になる。先頭に「//」が付いたネットワーク アドレスは、IP ベースであることを示し、JSH ネットワーク アドレスから TCP/IP ポート番号がコピーされて、新しいネットワーク アドレスを構成する。
外部 IP アドレス マスクは、次の形式で指定される。
-H //external ip address:MMMM
(Oracle Tuxedo 6.4 および 6.5 の JSL では省略可能)

注意 : このオプションでは IPv6 はサポートされない。

[-I init-timeout]
Jolt クライアントが JSH を介して初期化を完了するまでの時間 (秒単位) を指定する。この時間を過ぎると、JSL によるタイムアウトが発生する。デフォルト値は 60 秒 (省略可能)。
[-j connection_mode]
コネクション モードの種類は次のとおり。
RETAINED - セッションの確立中、完全にネットワーク接続は保持される。
RECONNECT - クライアントが接続を確立した後でアイドル状態が続き、タイムアウトが発生したために接続が切断された場合に、複数の要求を受け取るとセッション中に再接続を行う。
ANY - サーバは、クライアントが RETAINED または RECONNECT の接続をセッションで確立することを許可する。
デフォルトは ANY。つまり、オプションが何も指定されていない場合、サーバはクライアントが RETAINED または RECONNECT の接続を要求することを許可する (省略可能)。
[-m minh]
一度に JSL と共に利用できる JSH の最小数を指定する。このパラメータに指定できる値の範囲は 0 ~ 255。デフォルトは 0 (省略可能)。
[-M maxh]
一度に JSL と共に利用できる JSH の最大数を指定する。このオプションを指定しない場合、このパラメータにはデフォルト値として、MAXWSCLIENTS-x 多重係数 (小数点以下切り上げ) で割った値が指定される。オプションを指定する場合、-M オプションには 1 ~ 32,767 の値を指定できる (省略可能)。
[-n netaddr]
Oracle Tuxedo 6.4、Oracle Tuxedo 6.5、および WebLogic Enterprise 4.2 で Oracle Jolt リスナが使用するネットワーク アドレスを指定する。
TCP/IP アドレスは、次のいずれかの形式で指定される。
  • IPv4
  • //IP:port

    //hostname:port_number

    //#.#.#.#:port_number

    ドメインはローカル名を解決する手法 (通常は DNS) を使用して hostname のアドレスを検索する。hostname にはローカル マシン名を指定し、名前解決の機能でローカル マシンのアドレスに明確に解決されなければならない。

    2 番目の形式の場合、「#.#.#.#」にはドット区切りの 10 進数を指定する。ドットで区切った 10 進数の形式では、各 # は 0 から 255 までの数でなければならない。このドットで区切った 10 進数は、ローカル マシンの IP アドレスを表現する。どちらの形式の場合も、port_number にはドメイン プロセスが接続要求の受信をリスンする TCP ポート番号を指定する。port_number には、0 ~ 65535 までの数字または名前を指定する。

  • IPv6
  • //[IPv6 address]:port

    //hostname:port_number

    注意 : IPv6 では 16 進数形式はサポートされない。

[-R renegotiation-interval]
ネゴシエーションを行う間隔を分単位で指定する。SSL および TLS 標準に規定されているとおり、特定の SSL セッションで SSL 暗号化パラメータの再ネゴシエーションを行わずに指定された分数が経過した後で、次にデータを交換するときに SSL 暗号化パラメータの再ネゴシエーションが行われる。デフォルト値は 0 で、セッションのネゴシエーションは定期的には行われない。

注意 : -R パラメータを指定して、-S パラメータを指定しないか 0 に設定した場合、JSL はユーザログに警告メッセージを送信する。

[-S Client-timeout]
未処理の要求が存在しない (休止状態の) クライアントのアイドル期間 (分単位)。
このオプションは、-T オプションと一緒に使用できない。いずれかのタイムアウトに達すると、JSH によってセッションが閉じられる。
パラメータを指定しないと、デフォルトではタイムアウトの指定なしになる (省略可能)。
[-s secure-port]
SSL プロトコルを使用した安全な接続の受け付けに JSL が使用するポート番号を指定する。JSL で安全な接続のみを使用するようにコンフィグレーションするには、-s および -n オプションで指定するポート番号に同じ値を設定する。
JRLY および JRAD プロセスが使用される場合、このオプションは使用できない。
JSL -s オプションは ISL(5) および WSL(5) の -S オプションと同じ。詳細については、「セクション 5 - ファイル形式、データ記述方法、MIB、およびシステム プロセスのリファレンス」を参照。
[-T Client-timeout]
クライアントがアイドル状態でいられる期間 (分単位) を指定する。ここで指定した期間内にクライアントから要求が発行されないと、JSH によりクライアントの接続は切断され、セッションは終了する。引数が指定されていない場合、セッションでタイムアウトは発生しない。
-j ANY オプションまたは -j RECONNECT オプションを使用する場合は、常に -T でアイドル タイムアウト値を指定する。-T が指定されず、接続が一時停止になっている場合、JSH が自動的にセッションを終了することはない。クライアントがセッションを異常終了すると、セッションは完全に終了しない。
パラメータを指定しないと、デフォルトではタイムアウトの指定なしになる (省略可能)。
[-w JSH]
このコマンドライン オプションは、Jolt サーバ ハンドラを示す。デフォルトは JSH (省略可能)。
[-x mpx-factor]
1 つの JSH で扱えるクライアントの数を指定する。このパラメータを使用して、各 JSH プロセスでの多重化のレベルを制御する。UNIX および Windows 2003 の場合、このパラメータには 1 ~ 32767 の範囲の値を指定できる。デフォルト値は 10 (省略可能)。
[-Z 0|56|128|256]
Jolt クライアントと JSH の間にネットワーク リンクが確立されている場合、このオプションを使用して特定のレベルまでの暗号化を行うことができる。初期値の 0 は、DH ノードの暗号化も RC4 形式の暗号化も行わないことを示す。56、128、および 256 は、暗号化キーの長さ (ビット単位) を示す。キーを生成するには、DH 鍵交換が必要。セッション キーは、ネットワーク経由で転送されない。デフォルト値は 0。

セキュリティ機能と暗号化

Jolt のセキュリティと暗号化に LLE を使用する場合、認証データと鍵交換データは Diffie-Hellman 鍵交換を使用して Jolt クライアントと JSL/JSH の間を転送されます。以降のすべての交換は、RC4 形式で暗号化されます。国際版のパッケージでは、DES 鍵交換と 128 ビット キーを使用します。128 ビットのうち、40 ビットが暗号化され、88 ビットがエクスポーズされます。

Jolt のセキュリティと暗号化に SSL を使用する場合、認証、鍵交換、およびデータ交換には SSL プロトコルが使用されます。

 


Jolt リレー

Jolt リレー (JRLY) と Jolt リレー アダプタ (JRAD) 間の動作を、通常インターネット リレーと呼びます。Jolt リレーは、Jolt クライアントから JSL や JSH にメッセージをルーティングします。これにより、JSH と Oracle Tuxedo を、(安全性に問題があると見なされている) Web サーバと同じマシンで実行する必要がなくなります。Jolt リレーは、「Jolt インターネット リレーのパス」で示すように 2 つのコンポーネントで構成されています。

注意 : Jolt リレーは、Jolt クライアントおよび Jolt サーバからは見えません。Jolt サーバは、複数のイントラネット クライアントに同時に直接接続したり、Jolt リレーを介してインターネット クライアントに接続できます。
注意 : Tuxedo 10 では Jolt クライアントと JSL/JSH で SSL をサポートしていますが、JRAD と JRLY については SSL のサポートが実装されていません。そのため、SSL を使用する Tuxedo 10 Jolt コンフィグレーションでは JRAD および JRLY プロセスを利用できません。
図 3-3 Jolt インターネット リレーのパス

Jolt インターネット リレーのパス

この図では、ブラウザから Web サーバ ソフトウェアに接続し、Oracle Jolt アプレットをダウンロードする様子を示しています。まず、Jolt のアプレットまたはクライアントは、Web サーバ マシン上の JRLY に接続します。次に、JRLY は、ファイアウォールを越えて Jolt メッセージを JRAD に転送します。さらに、JRAD はメッセージを JSL または適切な JSH に転送します。

Jolt リレーのフェイルオーバ

JRLY のフェイルオーバには、次の 2 つがあります。

Jolt クライアントから JRLY への接続時に発生するフェイルオーバ

1 つのサーバ アドレスがセッションで失敗すると、フェイルオーバ機能がはたらきます。この機能により、Jolt クライアントの API は、次に接続可能な (まだ接続されていない) JRLY を API の引数一覧から検索して接続します。Windows 2003 環境でこのフェイルオーバ機能を有効にするには、複数の Windows 2003 JRLY サービスを実行します。Windows 2003 以外の環境では、JRLY プロセスが複数実行されています。各 JRLY (サービスまたはプロセス) には、固有のコンフィグレーション ファイルが用意されています。この種のフェイルオーバ処理は、Oracle Jolt のクライアント API 機能により行われ、ユーザは Jolt サーバ アドレス (JSL または JRLY) の一覧を指定することができます。

JRLY から JRAD アダプタへの接続時に発生するフェイルオーバ

各 JRLY のコンフィグレーション ファイルには、JRAD アドレスの一覧が用意されています。JRAD が利用できない場合、JRLY は次に利用可能な (接続されていない) JRAD をラウンドロビン方式で検索して接続しようとします。2 つの JRLY から同じ JRAD に接続することはできません。これらの条件を利用し、JRAD アドレスの順序を変えて効率的に接続を確立することができます。つまり、予備の JRAD を待機させておき、JRLY から JRAD への最初の接続が切断されたら、予備の JRAD に接続されるようにします。この種のフェイルオーバ処理は、JRLY のみで行われます。

JRLY の起動時に一覧内の JRAD がどれも実行されていない場合、最初の接続は失敗します。Jolt クライアントが JRLY に接続しようとすると、JRLY は、再び JRAD に接続しようとします。

フェイルオーバ機能を有効にするには、UBBCONFIG ファイルで JRAD を設定し、複数の JRAD を起動する必要があります。

Jolt リレーのプロセス

JRLY (フロントエンド リレー) のプロセスは、JRAD の起動前または起動後のどちらかの時点で始まります。JRLY の起動時に JRAD が利用できない場合、JRLY はクライアントからの要求を受信する時点で JRAD に接続を試みます。クライアントからの要求受信時にも JRAD に接続できない場合、クライアントはアクセスを拒否され、JRLY のエラー ログ ファイルに警告メッセージが書き込まれます。

UNIX で JRLY を起動する

システム プロンプトで次のコマンドを入力し、JRLY プロセスを開始します。

jrly -f config_file_path

コンフィグレーション ファイルが存在しないか、または開けない場合、JRLY はエラー メッセージを出力します。

JRLY を起動できない場合、JRLY は標準エラーにメッセージを書き込み、起動時のエラーをエラー ログに記録してから終了します。

JRLY コマンドライン オプション (Windows 2003)

この節では、JRLY.exe の Windows 2003 バージョンで利用できるコマンドライン オプションについて説明します。次のような制限事項があります。

JRLY のコマンドライン オプションを次の表で詳しく説明します。

表 3-4 JRLY コマンドライン オプション (Windows 2003)
オプション
説明
jrly -install [display_suffix]
jrly を Windows 2003 サービスとしてインストールする。
例 1
jrly -install
このコマンドを実行すると、デフォルトの JRLY が Windows 2003 サービスとしてインストールされ、サービス コントロール マネージャ (SCM: Service Control Manager) に Jolt リレーとして表示される。
例 2
jrly -install MASTER
このコマンドを実行すると、JRLY のインスタンスが Windows 2003 サービスとしてインストールされ、SCM に Jolt Relay_MASTER として表示される。接尾辞の MASTER は、さまざまな JRLY のインスタンスをユニークに識別するために使用されており、特に意味はない。
この時点の JRLY のインスタンスは、まだ開始できない。コンフィグレーション ファイルを割り当て (set コマンドの説明を参照)、接続指示を受け付ける TCP/IP ポート、JSH の接続を行う TCP/IP ポート、ログ ファイル、および sockettimeout を指定する必要がある。JRLY の複数のインスタンスがコンフィグレーション ファイルを共有することはできない。
jrly -remove [display_suffix] | -all
Windows 2003 サービスから 1 つまたはすべての JRLY のインスタンスを削除する。
[display_suffix] を指定すると、指定された JRLY サービスが削除される。
[display_suffix] を指定しないと、Windows 2003 サービスとしてのデフォルトの JRLY が削除される。
-all オプションを指定すると、すべての JRLY Windows 2003 サービスが削除される。
HKEY_LOCAL_MACHINE\System\
CurrentControlSet\Services\BEA JoltRelay
および
HKEY_LOCAL_MACHINE\Software\
BEA Systems\Jolt\x.x
に置かれている Windows 2000 の関連レジストリは削除される。
jrly -set
[-d
display_suffix] -f config_file
新しいコンフィグレーション ファイルの絶対パスを指定して、レジストリを更新する。
例 1
jrly -set -f c:\tux71\udataobj\jolt\jrly.con
このコマンドを実行すると、デフォルトの JRLY Windows 2003 サービス (Jolt リレー) に、c:\tuxdir\udataobj\jolt ディレクトリに存在する jrly.con というコンフィグレーション ファイルが割り当てられる。
例 2
jrly -set -d MASTER -f c:\tuxdir\udataobj\jolt\master.con
このコマンドを実行すると、Jolt Relay_MASTER という JRLY Windows 2003 サービスのインスタンスに jrly_master.con というコンフィグレーション ファイルが割り当てられ、c:\tuxdir\udataobj\jolt ディレクトリに置かれる。
jrly -manual [display_suffix]
処理の開始または終了を手動で行うように設定する。
このコマンドを実行すると、コマンドライン オプションまたは SCM を使用して、指定された JRLY インスタンスを手動で制御できるように設定される。
jrly -auto [display_suffix]
処理の開始または終了を自動で行うように設定する。
このコマンドを実行すると、OS の起動時および停止時に、指定した Windows 2003 サービスに対するすべての操作が自動的に開始するように設定される。
jrly -start [display_suffix]
指定した JRLY を開始する。
jrly -stop [display_suffix]
指定した JRLY を停止する。
jryl -version
JRLY バイナリの現在のバージョンを出力する。
jrly -help
コマンドライン オプション (簡単な説明付き) を出力する。

JRLY コマンドライン オプション (UNIX)

UNIX 用の JRLY のコマンドライン オプションは、次の 1 つだけです。

表 3-5 JRLY コマンドライン オプション (UNIX)
オプション
説明
jrly -f config_file_path
JRLY プロセスを開始する。
このコマンドを実行すると、JRLY プロセスが開始する。コンフィグレーション ファイルが存在しないか、または開けない場合、JRLY はエラー メッセージを出力する。JRLY を起動できない場合、JRLY は標準エラーにメッセージを書き込み、起動時のエラーをエラー ログに記録してから終了する。

JRLY コンフィグレーション ファイル

コンフィグレーション ファイルは、「タグ=値」の形式で記述されています。空白行または「#」で始まる行は無視されます。次のリストは、正式なコンフィグレーション ファイルの形式を示しています。

コード リスト 3-3 コンフィグレーション ファイルの内容
LOGDIR=<LOG_DIRECTORY_PATH>
ACCESS_LOG=<ACCESS_FILE_NAME in LOGDIR>
ERROR_LOG=<ERROR_FILE_NAME in LOGDIR>
LISTEN=<IP:Port combination where JRLY will accept connections>
CONNECT=<IP:Port combination associated with JRAD>
SOCKETTIMEOUT=<Seconds for socket accept()function>
注意 : SOCKETTIMEOUT は、リレー Windows 2003 サービスがネットワーク アクティビティ (新しい接続、読み込み対象のデータ、クローズされた接続など) を実現するために、新しいソケット接続の確立をブロックする期間を示す時間 (秒単位) です。これは、Windows 2003 マシンでのみ有効です。SOCKETTIMEOUT の値は、SCM にも影響します。SCM からサービスの停止が要求されると、SCM は少なくとも SOCKETTIMEOUT で指定した秒数を待つ必要があります。

次のコード リストは、JRLY のコンフィグレーション ファイルの例です。CONNECT で始まる行は、JRAD マシンの IP アドレスとポート番号を指定します。

コード リスト 3-4 JRLY コンフィグレーション ファイルの例
LOGDIR=/usr/log/relay
ACCESS_LOG=access_log
ERROR_LOG=errorlog
# jrly はポート 4444 でリスンします。
LISTEN=200.100.10.100:4444
CONNECT=machine1:port1
CONNECT=machine2:port2
SOCKETTIMEOUT=30            //コード リストの下のテキストを参照

ディレクトリ名とファイル名の形式は、オペレーティング システムによって異なります。UNIX システムではフォワードスラッシュ (/) を使用します。Windows 2003 システムではバックスラッシュ (\) を使用します。LOGDIRACCESS_LOG、または ERROR_LOG で指定されたファイルを開けない場合、JRLY は stderr にエラー メッセージを記録してから終了します。

表 3-6 は、ホスト名とポート番号の形式を示しています。

注意 : JRLY では IPv6 はサポートされません。

表 3-6 ホスト名とポート番号の形式
IPv4
IPv6
//IP:port
IP にはドット区切りの IP アドレス表記を指定し、port には 10 進数を指定する。
//[IPv6 address]:port
//hostname:port_number
IP にはドット区切りの IP アドレス表記を指定し、port には 10 進数を指定する。
//hostname:port_number
//#.#.#.#:port_number
16 進数形式はサポートされない。

 


Jolt リレー アダプタ

Jolt リレー サーバ アダプタ (バックエンド リレー) は、Oracle Tuxedo システム サーバです。Jolt リレー アダプタ (JRAD) の配置場所は、JSL サーバの接続先である Oracle Tuxedo のホスト マシン (シングル ホスト モード (SHM)) およびサーバ グループでなくてもかまいません。

JRAD は、関連する JRLY とは独立して起動できます。JRAD は、起動および停止のアクティビティを Oracle Tuxedo ログ ファイルから追跡します。

JRAD のコンフィグレーション

1 つの JRLY に接続できる JRAD プロセスは 1 つだけです。JRAD は、1 つの JSL および関連する JSH とだけ通信するようにコンフィグレーションできます。複数の JRAD を 1 つの JSL と通信するようにコンフィグレーションすることもできます。UBBCONFIG ファイルには、Oracle Tuxedo サーバ用の CLOPT パラメータを含める必要があります。「UBBCONFIG ファイル内の JRAD エントリの例」に示すコンフィグレーション ファイルの例を参照してください。

次の表では、CLOPT パラメータに関する追加情報を示します。

表 3-7 JRAD の CLOPT パラメータの説明
CLOPT パラメータ
説明
-l netaddr
クライアントの代わりに接続を行う JRLY をリスンするポートを指定する。
  • IPv4
  • //IP:port

    //hostname:port_number

    //#.#.#.#:port_number

    ドメインはローカル名を解決する手法 (通常は DNS) を使用して hostname のアドレスを検索する。hostname にはローカル マシン名を指定し、名前解決の機能でローカル マシンのアドレスに明確に解決されなければならない。

    2 番目の形式の場合、「#.#.#.#」にはドット区切りの 10 進数を指定する。ドットで区切った 10 進数の形式では、各 # は 0 から 255 までの数でなければならない。このドットで区切った 10 進数は、ローカル マシンの IP アドレスを表現する。どちらの形式の場合も、port_number にはドメイン プロセスが接続要求の受信をリスンする TCP ポート番号を指定する。port_number には、0 ~ 65535 までの数字または名前を指定する。

  • IPv6
  • //[IPv6 address]:port

    //hostname:port_number

注意 : IPv6 では 16 進数形式はサポートされない。
-c netaddr
JRAD の接続先 JSL のアドレスを指定する。
Ipv4 と IPv6 のアドレス形式は -l netaddr と同じ。
-H netaddr
外部プロキシのリスン アドレスを指定する。外部プロキシはクライアントのホストで実行するプロキシです。このプロキシは HTTP プロトコルやその他のプロトコルを処理する。プロキシの他方の側は JRLY に接続し、JRLY は JSL/JSH に接続する。
プロキシが Jolt クライアント (特に、JRLY に接続するアプレット) の代わりに動作するように、JRAD は -H 引数をアプレットに渡し、JRLY アドレスではなくプロキシ アドレスに接続するよう指示する。

注意 : JSL の -H オプションと異なり、JRAD の -H オプションは、ネットワーク アドレスの変換には使用されず、またアドレス マスクとしても使用されない。IPv6 では JRAD -H オプションがサポートされない。

JRAD CLOPT パラメータのアドレスは、次のいずれかの形式で指定できます。

//hostname:port

0x0002pppphhhhhhhh
pppp はポート番号、hhhhhhhh は 16 進数の IP アドレスを示します。

コード リスト 3-5 UBBCONFIG ファイル内の JRAD エントリの例
# JRAD host 200.100.100.10 listens at port 2000, connects to JSL port 8000 on the same host
JRAD    SRVGRP=JSLGRP   SRVID=60
CLOPT="-A -- -l 0x000207D0C864640A – c 0x00021f40C864640A"

ネットワーク アドレスのコンフィグレーション

Jolt インターネット リレーをコンフィグレーションするには、ネットワーク接続されたいくつかのコンポーネントを動作させる必要があります。コンフィグレーションを行う前に次の表に示す条件を確認し、情報を書き留め、間違ったコンフィグレーションを行わないようにしてください。

表 3-8 Jolt インターネット リレーのネットワーク アドレスのコンフィグレーション条件
JRLY
JRAD
JSL
LISTEN: クライアントの接続先を指定する。
CONNECT: JRAD の場所を指定する。JRAD の -l パラメータと一致していなければならない。
-l: リスナが JRLY に接続する場所を指定する。
-c: JSL の場所を指定する。JSL の -n パラメータと一致していなければならない。
-n: JSL の場所を指定する。JRAD の -c パラメータと一致していなければならない。

 


Jolt リポジトリ

Jolt リポジトリには、Oracle Tuxedo サービスの定義が格納されています。この定義情報により、Jolt クライアントは Oracle Tuxedo サービスにアクセスすることができます。インストール時にダウンロードされる Jolt リポジトリのファイル群には、Oracle Jolt で内部的に使用されるサービス定義が含まれています。アプリケーション サービスに定義を追加する方法の詳細については、「Jolt リポジトリ エディタを使う」を参照してください。

Jolt リポジトリをコンフィグレーションする

Oracle Jolt リポジトリをコンフィグレーションするには、アプリケーションの UBBCONFIG ファイルを編集してください。UBBCONFIG ファイルは、ASCII 形式の Oracle Tuxedo コンフィグレーション ファイルです。アプリケーションごとに別の UBBCONFIG ファイルを作成してください。ファイル内のエントリの構文については、『Tuxedo コマンド リファレンス』を参照してください。次のコード リストは、UBBCONFIG ファイルの一部を示しています。

コード リスト 3-6 UBBCONFIG ファイルの例
*GROUPS
JREPGRP GRPNO=94 LMID=SITE1
*SERVERS
JREPSVR SRVGRP=JREPGRP SRVID=98
RESTART=Y GRACE=0 CLOPT="-A -- -W -P /app/jrepository"
JREPSVR SRVGRP=JREPGRP SRVID=97
RESTART=Y RQADDR=JREPQ GRACE=0 CLOPT="-A -- -P /app/jrepository"
JREPSVR SRVGRP=JREPGRP SRVID=96
RESTART=Y RQADDR=JREPQ REPLYQ=Y GRACE=0 CLOPT="-A -- -P /app/jrepository"
注意 : UNIX システムで jrepository ファイルのパスを設定する場合は、スラッシュ (/) を使用してください (例 : app/repository)。Windows 2003 システムの場合は円記号 (\) を使用し、ドライブ名を指定してください (例 : c:\app\repository)。

次の表に従って、UBBCONFIG ファイル内のセクションを変更してください。

表 3-9 UBBCONFIG ファイル
セクション
指定するパラメータ
GROUPS
LMID、GRPNO
SERVERS
SRVGRP、SRVID

GROUPS セクション

GROUPS エントリを使用して、Oracle Jolt リポジトリを含むグループを設定します。グループ名のパラメータには、アプリケーション側で選択された名前が使用されます。

  1. MACHINES セクションの LMID パラメータに指定されている値と同じ識別子を指定します。
  2. GROUPS セクションの GRPNO に 1 ~ 30,000 の範囲の値を指定します。

SERVERS セクション

Jolt リポジトリ サーバである JREPSVR には、リポジトリにアクセスしたり、リポジトリを編集するためのサービスが格納されています。JREPSVR インスタンスが複数ある場合は、共有ファイルにより、リポジトリの情報が共有されます。UBBCONFIG ファイルの SERVERS セクションには、JREPSVR を指定してください。

  1. SRVID パラメータに新しいサーバの識別子を指定します (例 : 98 など)。
  2. 1 つの JREPSVR に対して -W フラグを設定し、リポジトリを編集可能にします。このフラグを設定しないと、リポジトリは読み取り専用になります。
  3. 注意 : インストールする必要があるのは、書き込み可能な 1 つの JREPSVR (-W フラグを指定した JREPSVR) だけです。読み取り専用に設定された複数の JREPSVR を同じホストにインストールすることもできます。
  4. -P フラグを指定して、リポジトリ ファイルへのパスを設定します。-P フラグに対する引数が指定されていないと、Oracle Tuxedo の ULOG ファイルにエラー メッセージが表示されます。
  5. リポジトリ ファイルのファイル パス名を追加します (例 : /app/jrepository)。
  6. tmloadcf コマンド (例 : tmloadcf -y ubbconfig) や tmboot コマンドを使用して、Oracle Tuxedo システムを起動します。tmloadcf および tmboot については、『Oracle Tuxedo アプリケーション実行時の管理』を参照してください。

リポジトリ ファイル

リポジトリ ファイル jrepository は、Oracle Jolt で利用可能です。このファイルには bankapp のサービスとリポジトリ サービスが含まれています。これらのサービスは、リポジトリ エディタを使って編集したり、テストを行ったり、削除することができます。

注意 : Oracle Jolt バージョン 1.x からアップグレードする場合、現在のバージョンとの互換性を保つために、バルク ローダを使って jrepository ファイルを作成し直す必要があります。

Oracle Jolt で bankapp アプリケーションのテストを行わない場合も、インストール時に提供される jrepository ファイルから始めてください。bankapp のパッケージまたはサービスが必要でない場合は削除してください。

ファイルのパス名は、-P オプションの引数と一致していなければなりません。

警告 :
Jolt インターネット リレーのパス
リポジトリ ファイルを手動で変更しないでください。手動で変更すると、リポジトリ エディタを使用できなくなります。jrepository ファイルの変更はどんなテキスト エディタでも行うことができますが、Oracle Jolt システムでは整合性チェック (ファイルが正しい形式かどうかを確認) は行われません。jrepository ファイルが手動で変更されたかどうかは、実行時までわかりません。その他の情報については、「Jolt リポジトリ エディタを使う」を参照してください。

Oracle Tuxedo およびリポジトリ エディタを使用してサービスを初期化する

Oracle Tuxedo および Oracle Jolt リポジトリ エディタを使用して次の手順で Oracle Tuxedo サービスを定義し、クライアントが Jolt サービスを利用できるようにします。

  1. サービスを格納した Oracle Tuxedo サーバを作成します。以下の情報については、『Oracle Tuxedo アプリケーション実行時の管理』または『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』を参照してください。
    • Oracle Tuxedo アプリケーション サーバを作成する
    • UBBCONFIG ファイルを編集する
    • TUXCONFIG ファイルを更新する
    • tmboot コマンドを使用する
  2. Oracle Jolt リポジトリ エディタにアクセスします。以下に関する情報については、「Jolt リポジトリ エディタを使う」を参照してください。
    • サービスを追加する
    • 作業を保存する
    • サービスをテストする
    • サービスのエクスポートとアンエクスポート

 


イベント サブスクリプション

Jolt のイベント サブスクリプション機能では、Oracle Tuxedo サービスまたは別の Oracle Tuxedo クライアントからイベント通知を受信します。

イベント サブスクリプションをコンフィグレーションする

Oracle Tuxedo の TMUSREVT サーバをコンフィグレーションし、アプリケーションの UBBCONFIG ファイルを編集してください。次のコード リストは、UBBCONFIG ファイル内の TMUSREVT パラメータの内容を示しています。コンフィグレーション ファイル内のエントリの構文については、『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』を参照してください。

コード リスト 3-7 UBBCONFIG ファイル
TMUSREVT        SRVGRP=EVBGRP1  SRVID=40        GRACE=3600
ENVFILE="/usr/tuxedo/bankapp/TMUSREVT.ENV"
CLOPT="-e tmusrevt.out -o tmusrevt.out -A --
-f /usr/tuxedo/bankapp/tmusrevt.dat"
SEQUENCE=11

UBBCONFIG ファイルの SERVERS セクションで、SRVGRP パラメータと SRVID パラメータを必要に応じて変更してください。

Oracle Tuxedo の FML バッファまたは VIEW バッファをフィルタ処理する

フィルタ処理を行うと、サブスクリプションをカスタマイズできます。Oracle Tuxedo のイベント ブローカ、イベントのサブスクライブ方法、またはフィルタ処理に関する追加情報については、『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』を参照してください。

Oracle Tuxedo の FML バッファまたは VIEW バッファをフィルタ処理するには、Oracle Tuxedo の実行時にフィールド定義ファイルが必要です。

注意 : STRING バッファをフィルタ処理する場合の条件は特にありません。

バッファ型

FML バッファの例

TMUSREVT.ENV ファイルの FIELDTBLS 変数」のリストは、FML バッファの使用例を示しています。FIELDTBLS 変数と FLDTBLDIR 変数を設定することにより、Oracle Tuxedo で FML フィールドの定義テーブルを利用できるようになります。

my.flds ファイルのフィールドをフィルタ処理するには、次の手順に従います。

  1. my.flds ファイルを /usr/me/bankapp ディレクトリにコピーします。
  2. 次のコード リストに示すように、TMUSREVT.ENV ファイルの FIELDTBLS 変数に my.flds を追加します。
  3. コード リスト 3-8 TMUSREVT.ENV ファイルの FIELDTBLS 変数
    FIELDTBLS=Usysflds,bank.flds,credit.flds,event.flds,my.flds
    FLDTBLDIR=/usr/tuxedo/me/T6.2/udataobj:/usr/me/bankapp

UBBCONFIG ファイルで ENVFILE="/usr/me/bankapp/TMUSREVT.ENV" と定義されている場合 (「UBBCONFIG ファイル」を参照)、FIELDTBLSFLDTBLDIR の定義は、設定されている環境変数の代わりに TMUSREVT.ENV ファイルから取得されます。

ENVFILE="/usr/me/bankapp/TMUSREVT.ENV" の定義を削除すると、FIELDTBLSFLDTBLDIR の定義は、設定されている環境変数から取得されます。Oracle Tuxedo システムを起動する前には、FIELDTBLSFLDTBLDIR の定義に適切な値が設定されていなければなりません。

イベント サブスクリプションと Oracle Jolt クラス ライブラリの詳細については「Jolt クラス ライブラリを使う」を参照してください。

 


Oracle Tuxedo に関する背景情報

次の節では、コンフィグレーションに関する情報を詳しく説明します。Oracle Tuxedo について理解している場合でも、Jolt サービス ハンドラ (JSL: Jolt Service Handler) のコンフィグレーションについてこの節で確認してください。

コンフィグレーション ファイル

Oracle Tuxedo のコンフィグレーション ファイルには、ASCII 形式の UBBCONFIG と、コンパイル済みの TUXCONFIG の 2 種類があります。TUXCONFIG ファイルを作成したら、UBBCONFIG はバックアップとして保存してください。

UBBCONFIG ファイルは、使い慣れたテキスト エディタを使用して変更することができます。MASTER マシンにログインしているときにアプリケーションが動作しなくなったら、tmloadcf(1) を実行して TUXCONFIG を再コンパイルします。Tuxedo からは、TUXCONFIG ファイルを上書きしてもよいかどうかを確認するプロンプトが表示されます。-y オプションを指定してコマンドを実行すると、このプロンプトは表示されません。

UBBCONFIG ファイルを作成する

バイナリ形式のコンフィグレーション ファイル、TUXCONFIG には、tmboot(1) の実行時に使用される情報が含まれています。これにより、サーバの起動と Oracle Tuxedo システムの掲示板の初期化が順番に行われます。バイナリ形式の TUXCONFIG ファイルを直接作成することはできません。まず、UBBCONFIG ファイルを作成する必要があります。tmloadcf(1) を実行すると、このファイルが解析され、TUXCONFIG に読み込まれます。次に、tmadmin(1) により、コンフィグレーション ファイルまたはそのコピーを使ったシステムのモニタが行われます。tmshutdown(1) は、アプリケーションの停止時に必要な情報をコンフィグレーション ファイルから参照します。

コンフィグレーション ファイルの形式

UBBCONFIG ファイルには、最大 9 つまでのセクションを指定することができます。セクションは、アスタリスク (*) が先頭に付いた行から始まります。アスタリスク (*) の直後にはセクション名が表示されます。使用可能なセクションは、RESOURCES、MACHINES、GROUPS、NETGROUPS、NETWORK、SERVERS、SERVICES、INTERFACES、および ROUTING です。

注意 : RESOURCES セクション (使用する場合) と MACHINES セクションは、この順序で最初に指定しなければなりません。GROUPS セクションは、SERVERS セクション、SERVICES セクション、および ROUTING セクションより前に指定しなければなりません。

JSL をコンフィグレーションするには、UBBCONFIG ファイルを変更する必要があります。Oracle Tuxedo のコンフィグレーションに関するさらに詳しい情報については、『Oracle Tuxedo アプリケーション実行時の管理』を参照してください。

次のコード リストは、UBBCONFIG ファイルの一部を示しています。

コード リスト 3-9 UBBCONFIG ファイル
*MACHINES
MACH1 LMID=SITE1
MAXWSCLIENTS=40
*GROUPS
JSLGRP GRPNO=95 LMID=SITE1
*SERVERS
JSL SRVGRP=JSLGRP SRVID=30 CLOPT= “ -- -n 0x0002PPPPNNNNNNNN -d
/dev/tcp -m2 -M4 -x10”

次の表では、Jolt サーバ グループと Jolt サーバに対して指定できるパラメータを示しています。これら以外のパラメータを指定する必要はありません。

次の表に従って、UBBCONFIG ファイル内のセクションを変更してください。

表 3-11 UBBCONFIG ファイルのセクション
セクション
指定するパラメータ
MACHINES
MAXWSCLIENTS
GROUPS
GRPNO、LMID
SERVERS
SRVGRPSRVIDCLOPT

MACHINES セクション

MACHINES セクションでは、物理マシンの論理名を指定します。また、このセクションではマシン固有のパラメータも指定します。MACHINES セクションには、アプリケーションで使用される物理プロセッサごとのエントリが必要です。エントリの形式は次のとおりです。

ADDRESS または NAME 必須パラメータ [オプション パラメータ]

ADDRESS はプロセッサの物理名です。たとえば、UNIX システムの uname -n コマンドの実行結果として返される値などです。

LMID=string_value

このパラメータは、ADDRESS のシンボリック名として、ほかのセクションで string_value が使用されることを指定します。この名前にはカンマを指定できません。名前は 30 文字以内で指定します。これは必須パラメータです。コンフィグレーションで使用されるすべてのマシンには、LMID 行を指定する必要があります。

MAXWSCLIENTS=number

コンフィグレーション ファイルの MACHINES セクションには、MAXWSCLIENTS パラメータを指定する必要があります。これは、プロセッサにおけるアクセサ数を指定する、Jolt クライアントと Workstation クライアント専用のパラメータです。このパラメータには、0 ~ 32,768 の範囲の値を指定します。

Jolt サーバと Workstation では、同じ要領で MAXWSCLIENTS が使用されます。たとえば、MAXWSCLIENTS に 200 スロットがコンフィグレーションされると、Jolt と Workstation で使用されるリモート クライアントの総数が決まります。

コンフィグレーション ファイルの MAXWSCLIENTS は必ず指定してください。指定しない場合は、デフォルトで 0 が設定されます。

注意 : MAXWSCLIENTS が設定されていないと、JSL は起動しません。

GROUPS セクション

このセクションでは、サーバ グループに関する情報を定義します。サーバ グループは少なくとも 1 つ定義しなければなりません。サーバ グループのエントリには、サーバ群およびマシン上のサービス群に対して、論理名を指定します。論理名は、SERVERS セクションの SRVGRP パラメータの値に使用されます。この値により、サーバはグループ内のサーバとして識別されます。SRVGRP は、SERVICES セクションで、グループ内の特定のサービス インスタンスのオカレンスを識別する場合にも使用されます。GROUPS セクションのその他のパラメータは、このグループを特定のリソース管理インスタンスに関連付けます (社員データベースなど)。GROUPS セクション内にある各行の形式は次のとおりです。

GROUPNAME 必須パラメータ [オプション パラメータ]

GROUPNAME は、グループの論理名 (string_value) を指定します。グループ名は、GROUPS セクションのグループ名と MACHINES セクションの LMID の中でユニークでなければなりません。このグループ名には、アスタリスク (*)、カンマ (,)、またはコロン (:) を指定できません。名前は 30 文字以内で指定します。

Jolt サーバ リスナ (JSL) を含むグループには、GROUPS エントリを指定する必要があります。次の手順に従って、GROUPS エントリを作成します。

  1. アプリケーション側でグループ名が選択されます (例 : JSLGRP and JREPGRP)。
  2. MACHINES セクションの LMID パラメータに指定されている値と同じ識別子を指定します。
  3. *GROUPS セクションの GRPNO に 1 ~ 30,000 の範囲の値を指定します。
注意 : UBBCONFIG ファイルの GROUPS セクションに指定されているすべてのグループに対して、デフォルトでリソース マネージャが割り当てられないようにしてください。デフォルト値として指定されたリソース マネージャは、JSL に割り当てられ、tmboot の実行時にエラーが発生します。SERVERS セクションの RESTARTMAXGEN、その他に指定されているデフォルト値は、JSL に対して有効です。

SERVERS セクション

このセクションでは、システムで起動されるサーバの初期状態に関する情報を定義します。常時実行中の状態にあり、受信したサーバ グループのサービス要求を処理するのがサーバである、という捉え方は、特定のリモート環境には当てはまらない場合があります。ほとんどの環境では、オペレーティング システムまたはリモート ゲートウェイは単にサービスの送信を行っています。このような場合は、リモート プログラムのエントリ ポイントに対して、SERVER テーブルのエントリではなく SERVICE エントリ ポイントを指定するだけで十分です。Oracle Tuxedo システムのゲートウェイ サーバは、リモート ドメインのサービス要求を宣言し、キューに入れます。ホスト固有のリファレンス ページでは、UBBCONFIG のサーバ テーブル エントリが特定の環境に適応しているかどうかを示し、適応している場合は対応するセマンティクスを明記する必要があります。SERVERS セクション内にある各行の形式は次のとおりです。

AOUT 必須パラメータ [オプション パラメータ]

AOUT は、tmboot(1) によって実行されるファイル (string_value) を指定します。tmboot は、サーバ グループで指定されたマシン上で AOUT を実行します。tmboot は対象マシンで AOUT ファイルを検索するため、AOUT はそのマシンのファイルシステム内になければなりません (AOUT のパスには、ほかのマシン上にあるファイルシステムへの RFS 接続を含めることができます)。サーバの相対パス名が指定されている場合、AOUT の検索は、APPDIRTUXDIR/bin/binpath、の順で行われます。<path> は、マシンの環境設定ファイル (ある場合) の最後の行 (PATH=) に指定されている値です。APPDIR および TUXDIR の値は、TUXCONFIG ファイル内の適切なマシン エントリから取得されます。

クライアントは、Jolt サーバ リスナ (JSL) を介して Oracle Jolt アプリケーションに接続します。サービスは、Jolt サーバ ハンドラ (JSH) を介してアクセスされます。JSL は複数のクライアントを扱うことができます。これらのクライアントは、唯一の通信ポイントである JSL を経由して特定のネットワーク アドレス (JSL コマンドラインで指定) のアプリケーションに接続します。JSL は、ハンドラ プロセスをスケジューリングします。ハンドラ プロセスは、アプリケーションの管理ドメインの範囲内にあるリモート ワークステーションで、クライアントの代わりに動作します。ハンドラは、1 つのポートで同時に複数のクライアントを扱うために、多重化スキーマを使用します。

JSL に指定されたネットワーク アドレスは、JSL および JSL に関連付けられた JSH プロセスの TCP/IP アドレスを決定します。ネットワーク アドレスにより決定されたポート番号は、JSL が新しい接続を受け付けるポート番号を指定します。JSL に関連付けられた各 JSH は、同じ TCP/IP アドレスで連続するポート番号を使用します。たとえば、JSL の最初のポート番号が 8000 であり、最大 3 つの JSH プロセスがある場合、これらの JSH プロセスは 8001、8002、8003 のポートを使用します。

注意 : 後続の JSL を誤ってコンフィグレーションすると、ポート番号の衝突が発生します。

JSL で使用できるパラメータ

これまでに説明したセクションのパラメータのほか、JSL では次のパラメータを指定することができます。ただし、これらのパラメータを設定すると、アプリケーションにどのような影響が及ぶかを考慮してください。

SVRGRP=string_value

このパラメータは、実行するサーバが含まれるサーバ グループの名前を指定します。string_value は、*GROUPS セクションのサーバ グループを示す論理名でなければならず、名前は 30 文字以内で指定します。*GROUPS セクションのエントリと関連付けるということは、LMID が指定されたサーバ グループ内のマシンで AOUT が実行されることを意味します。また、この関連付けにより、サーバ グループの GRPNO と、関連するリソース マネージャがオープンされている場合に受け付けられるパラメータが指定されます。すべてのサーバ エントリには、サーバ グループのパラメータが指定されていなければなりません。

SRVID=number 

このパラメータには、グループ内の特定のサーバを示す識別子 (1 ~ 30,000 の範囲の値) を指定します。このパラメータは、すべてのサーバ エントリに必要です (サーバ グループ内のサーバが 1 つの場合も必要)。複数のサーバのオカレンスを設定する場合は、連続する SRVID を指定しないでください。MAX で指定された数までのサーバ用に、SRVID を残しておいてください。

オプション パラメータ

SERVERS セクションのオプション パラメータには、ブート パラメータとランタイム パラメータがあります。

ブート パラメータ

ブート パラメータは、tmboot によってサーバが実行されるときに使用されるパラメータです。いったん実行されると、サーバはコンフィグレーション ファイルからエントリを読み込み、ランタイム オプションを決定します。正しいエントリが検索されるようにするため、ユニークなサーバ識別子が使用されます。次のパラメータがブート パラメータです。

CLOPT=string_value

CLOPT パラメータは、起動時に AOUT に渡すコマンドライン オプションの文字列を指定します。『Oracle Tuxedo のファイル形式とデータ記述方法』の servopts(5) ページには、有効なパラメータが一覧表示されています。

開発中のサーバに適用されるオプションもあります。たとえば、-r オプションは、サービス要求が開始または終了するたびに、標準のエラー ファイルにレコードを書き込むようサーバに指示します。

別のコマンドライン オプションを使用して、サーバの標準出力 (stdout) や標準エラー (stderr) を特定のファイルに書き込んだり、サーバの起動時に利用可能なサービスの種類を最初に宣言するように指定できます。

CLOPT パラメータのデフォルト値は -A であり、サーバの起動時に、利用可能なサービスがすべて宣言されることを示します。

CLOPT パラメータには最大 256 文字まで指定できます。パラメータは二重引用符で囲む必要があります。

SEQUENCE=number

このパラメータは、ほかのサーバとの関係において、いつサーバを停止または起動するかを指定します。SEQUENCE が指定されていない場合、サーバは SERVERS セクションで指定された順序で起動し、逆の順序で停止されます。シーケンス番号が指定されているサーバとそうでないサーバがある場合、シーケンス番号が指定されたサーバが低い番号から順に起動します。次に、シーケンス番号が指定されていないサーバが、コンフィグレーション ファイルに表示されている順序で起動します。シーケンス番号には 1 ~ 9999 の値を指定します。複数のサーバに同じシーケンス番号が割り当てられると、tmboot の実行時にこれらのサーバが同時に起動します。

MIN=number

MIN パラメータは、tmboot で起動されるサーバのオカレンスの最小数を指定します。RQADDR が指定されており、MIN が 1 より大きい数の場合、サーバは MSSQ (複数サーバ、単一キュー) になります。サーバの識別子は SRVID で指定します。SRVID の最大値は SRVID + (MAX -1) です。サーバのすべてのオカレンスには、同じサーバ パラメータのほか、同じシーケンス番号が付きます。MIN には 0 ~ 1000 までの範囲の値を指定できます。MIN を指定しないと、デフォルトで 1 が設定されます。

MAX=number

MAX パラメータは、起動するサーバのオカレンスの最大数を指定します。tmboot が実行されると、MIN で指定した数のサーバが起動します。次に、tmboot-i オプションを使用して関連するサーバ識別子を指定し、その他のサーバ (MAX で指定した数まで) を起動します。MAX には 0 ~ 1000 の範囲の値を指定できます。MAX を指定しないと、デフォルトで MIN と同じ値かまたは 1 が設定されます。

ランタイム パラメータ

tmboot によって起動したサーバは、ランタイム パラメータを使用します。既に説明したとおり、tmboot は、サーバの起動時に MACHINES セクションに対して TUXDIRAPPDIR、および ENVFILE の各パラメータの値を使用します。さらに、サーバの PATH を次のパスに設定します。

APPDIR:TUXDIR/bin:/bin:path

path は、ENVFILE ファイルの最後の行 (PATH=) に指定されている値です。次のパラメータはランタイム パラメータです。

ENVFILE=string_value

ENVFILE パラメータを使用して、サーバの初期化時に、tmboot によって作成された環境に対して値を追加することができます。tmbootMACHINES ENVFILE で変数を指定した後、オプションとして、SERVERS ENVFILE パラメータで指定されたファイルの変数を設定することもできます。これらのファイルを使用して TUXDIR、APDIR、TUXCONFIG、または TUSOFFSET をオーバーライドすることはできません。最も良い方法は、アプリケーションを正しく実行するために必要な変数だけをサーバの ENVFILE に設定しておくことです。

サーバ側では、サーバの起動後に ENVFILE ファイルが処理されます。したがって、サーバの実行に必要な実行可能ファイルまたは動的にロードされたファイルを検索するためのパス名を、このファイルに設定することはできません。これらのタスクを実行する必要がある場合は、代わりにマシンの ENVFILE を使用してください。

ENVFILE では、各行を次の形式で指定する必要があります。

VARIABLE =string

VARIABLE の先頭には、アンダースコア (_) または英文字を指定する必要があります。また、アンダースコアと英数字だけで構成することもできます。サーバ グループに属するサーバが別のマシンに移行される場合、ENVFILE はどちらのマシンでも同じ場所になければなりません。

CONV={Y | N}

CONV は、サーバが会話型サーバであるかどうかを指定します。会話型サーバが定義されている場合、CONV の値は Y になります。接続は会話型サーバに対してのみ行うことができます。受け取った要求に対して応答を行うサーバの場合は、CONV=N (デフォルト) を設定するか、またはパラメータを省略します。

RQADDR=string_value

RQADDR は、このサーバの要求キューにシンボリック名を割り当てます。複数のサーバに対して同じシンボリック名を使用し、MSSQ セットを作成します (1 より大きい MIN の値を指定)。MSSQ セットに属するすべてのメンバーは、同じサービスのセットを提供し、同じサーバ グループに属していなければなりません。

RQADDR を指定しないと、このサーバのキュー アドレスとなるユニークなキーが割り当てられます。ただし、キューにシンボリック名が設定されている場合は、キュー アドレスを引数として使用する tmadmin コマンドを使う方が簡単です。

RQPERM=number

このサーバの要求キューに UNIX 形式でパーミッションを割り当てる場合は、RQPERM パラメータを使用してください。number には、0001 ~ 0777 の範囲の値を指定します。パラメータが何も指定されていない場合は、掲示板に設定されたパーミッションの値 (RESOURCES セクションの PERM で指定) が使用されます。そこでもパーミッションが設定されていない場合は、デフォルトの 0666 が指定されます。ただし、この値が設定された状態では、システムにログインしたユーザであれば誰でもアプリケーションを使用できるため、注意が必要です。

REPLYQ={ Y | N }

REPLYQ パラメータは、応答キュー (要求キューとは別) を AOUT に対して作成する必要があるかどうかを指定します。N が指定されると、AOUT と同じ LMID に応答キューが作成されます。要求キューを使用するサーバが 1 つの場合、要求キューから応答を取り出す操作は問題なく行われます。しかし、サーバが MSSQ セットのメンバーであり、応答メッセージを受信するようにプログラミングされているサービスを含んでいる場合、REPLYQY に設定して、このサーバに対して応答キューが個別に作成されるようにする必要があります。N に設定されると、応答は MSSQ セット内の全サーバが共有する要求キューに送信されてしまい、応答が要求元のサーバに返されるかどうかは保証されません。

応答を必ず受信するには、常に MSSQ セット内の全サーバに REPLYQ=Y を設定するべきです。MSSQ セット内のサーバでは、同じサービスが提供されなければなりません。つまり、セット内のあるサーバが応答を待機している場合は、セット内のほかのサーバでも応答を待機できます。

RPPERM=number

応答キューにパーミッションを割り当てるには、RPPERM パラメータを使用してください。number は、通常の UNIX 形式 (例 : 0600) で指定されます。指定できる値は、0001 ~ 0777 までの数値です。RPPERM を指定しない場合は、デフォルトで 0666 が指定されます。このパラメータは、REPLYQ=Y の場合のみ有効です。要求と応答が同じキューから読み出される場合、必要なのは RQPERM のみで、RPPERM は無視されます。

RESTART={ Y | N }

RESTART パラメータは、AOUT を再起動できるかどうかを示し、Y または N を指定できます。デフォルト値は N です。移行可能なサーバ グループにサーバが属している場合、RESTART には Y を指定しなければなりません。SIGTERM シグナルを指定して起動したサーバは再起動できません。このサーバはリブートする必要があります。

サーバの再起動に関するポリシーは、サーバの状態、つまりサーバが開発中であるかどうかによって異なります。アプリケーションがテスト過程の段階では、サーバに繰り返し障害が発生することも考えられます。しかし、アプリケーションがプロダクション段階に進んだら、サーバは、ほとんど障害が発生しない状態でなければなりません。アプリケーションがプロダクション段階に進んだら、サーバの再起動に関してさらに厳しい条件のパラメータを設定することもできます。

RESTART に関連するパラメータ

RCMD=string_value

AOUT が再起動できる場合、このパラメータは、AOUT が異常終了した場合に実行するコマンドを指定します。最初の空白またはタブまでの文字列には、実行可能な UNIX ファイルの名前 (絶対パス名または APPDIR への相対パス名) を指定します。コマンドの先頭に Shell の変数を設定しないでください。オプションで、コマンド名の後にコマンドライン引数を指定することもできます。コマンドラインには、GRPNOSRVID という、サーバの再起動に関連する 2 つの引数が追加されます。string_value はサーバの再起動と並行して実行されます。

RCMD パラメータを使用すると、サーバの再起動時に並行して実行されるコマンドを指定することができます。このコマンドは、サーバの PATH のディレクトリにある実行可能な UNIX のシステム ファイルでなければなりません。たとえば、カスタマイズされたメッセージを userlog に送信し、再起動するサーバにマークを付けるコマンドです。

MAXGEN=number

このパラメータは、AOUT が再起動可能な場合、GRACE で指定された期間内に、最大「number - 1」回まで再起動されることを指定します。指定できる値は 0 より大きく、256 より小さい数値です。この値を指定しないと、デフォルトの 1 (サーバは一度起動できるが、再起動はできない) が設定されます。サーバが再起動可能な場合、MAXGEN には 2 以上の値を指定する必要があります。RESTARTY を指定しないと、MAXGEN の値は無視されます。

GRACE=number

RESTARTY の場合、GRACE パラメータを使用して、サーバの再起動を行える期間 (秒単位) を指定することができます。再起動は MAXGEN - 1 回行うことができます。秒数として 0 以上 2,147,483,648 未満 (または 68 年強) の値を指定します。GRACE を指定しない場合は、デフォルトの 86,400 秒 (24 時間) が指定されます。GRACE を 0 に設定すると、すべての制限が解除されます。つまり、サーバの再起動回数が制限されなくなります。

パラメータを入力する

JSL には、Oracle Tuxedo のパラメータである RESTART、RQADDR、および REPLYQ を使用できます。ランタイム パラメータの詳細については、『Oracle Tuxedo アプリケーション実行時の管理』を参照してください。パラメータは次の要領で指定してください。

  1. SRVGRP パラメータを指定するには、GROUPS セクションにある、定義済みのサーバ グループ名を示す値を入力します。
  2. SRVID を指定するには、1 ~ 30,000 の数値を使用してグループ内のサーバを示す識別子を入力します。
  3. CLOPT パラメータが以下の構文になっていることを確認します。
  4. CLOPT= “-- -n 0x0002PPPPNNNNNNNN -d /dev/tcp -m2 -M4 -x10”
    注意 : CLOPT パラメータは数種類あります。該当するコマンドラインの説明については、「JSL のコマンドライン オプション」の表を参照してください。
  5. 以下の説明に従い、必要に応じてオプション パラメータを入力します。
    • サーバを起動する順序を決定するには、SEQUENCE パラメータを入力する。
    • サーバの再起動を許可するには、RESTART パラメータに Y を指定する。
    • サーバを再起動する回数を制限しない場合は、GRACE パラメータに 0 を指定する。

 


Oracle Jolt オンライン マニュアルのサンプル アプリケーション

以下の Oracle Jolt 製品の Web ページには、サンプル コードが用意されています。このサンプル コードは Oracle Jolt を使用して変更することができます。

http://www.bea.com/products/jolt/index.htm

これらのサンプルを使用すると、Oracle Jolt の機能を実際に試すことができます。

以下の Java 関連の Web サイトも参照してください。


  ページの先頭       前  次