Oracle Joltの使用

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

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 required parameters [optional parameters] 

    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リポジトリ・エディタのログオン・ウィンドウ」の図に示すようなウィンドウが表示されます。

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

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

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

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リポジトリ・エディタのログオン・ウィンドウ」の図に示すようなリポジトリ・エディタのログオン・ウィンドウが表示されます。

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

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

注意: ログオンする前に、Oracle Joltリポジトリ・エディタのログオン・ウィンドウが表示されている必要があります。以下の手順を実行する際に、この図を参照してください。
  1. ログオン・ウィンドウに、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. 「パッケージ」ボタンと「サービス」ボタンが有効になります。

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


    Oracle Joltリポジトリ・エディタのログオン・ウィンドウ

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

リポジトリ・エディタのログオン・ウィンドウの説明

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

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

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

図3-2 Oracle Joltリポジトリ・エディタを終了する前のログオン・ウィンドウ

使用できるのは、「パッケージ」「サービス」、および「ログ・オフ」のみです。文字入力フィールドは利用できません。

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

  1. 前のウィンドウで「戻る」をクリックして、リポジトリ・エディタのログオン・ウィンドウに戻ります。
  2. 「ログ・オフ」をクリックしてサーバーとの接続を切断します。
  3. リポジトリ・エディタのログオン・ウィンドウ内のフィールドが入力できない状態になります。

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

イベント・サブスクリプション用に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に、ホスト名とポート番号の形式を示します。
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アプリケーション実行時の管理』および『Oracle 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)の場合のプロセスとは異なります。JSLポートを適切に構成する方法の詳細は、「UBBCONFIGファイルの作成」の「SERVERSセクション」を参照してください。

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

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

表3-2 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クライアントがJ、JSLによるタイムアウトが発生する前に、SHを介して初期化を完了するまでの時間(秒単位)。デフォルトは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にはローカル・マシン名を指定し、名前解決の機能でローカル・マシンのアドレスに明確に解決されなければなりません。

    #.#.#.#にはドット区切りの10進数を指定します。ドット区切りの10進数形式では、それぞれの # に0 - 255の数字を指定します。このドット区切りの10進数は、ローカル・マシンのIPアドレスを表します。上記のどちらの形式でも、port_numberはドメイン・プロセスがリクエストの受信をリスニングするTCPポート番号です。port_numberには、0から65535までの数字または名前を指定できます。

  • IPv6
  • //[IPv6 address]:port

    //hostname:port_number

    注意: IPv6では16進数形式はサポートされません。

  • SDP
  • sdp://IB_IP:port

[-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バージョンで利用できるコマンドライン・オプションについて説明します。次の点に注意してください。

表3-3で、JRLYコマンドライン・オプションについて詳しく説明します。

表3-3 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サービスが削除されます。関連するWindows 2003レジストリ・エントリ
HKEY_LOCAL_MACHINE\System\
CurrentControlSet\Services\Oracle JoltRelay
および
HKEY_LOCAL_MACHINE\Software\
Oracle Systems\Jolt\x.x
は削除されます。
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)

表3-4に示されているように、UNIXのJRLYコマンドライン・オプションは1つしかありません。

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

JRLY構成ファイル

構成ファイルの形式は、「タグ=値」の形式です。空白行または#で始まる行は、無視されます。リスト3-3に、正式な構成ファイルの形式の例を示します。

リスト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で指定した秒数を待つ必要があります。

リスト3-4に、JRLY構成ファイルの例を示します。CONNECTで始まる行は、JRADマシンのIPアドレスとポート番号を指定します。

リスト3-4 JRLY構成ファイルの例
LOGDIR=/usr/log/relay
ACCESS_LOG=access_log
ERROR_LOG=errorlog
# jrly will listen on port 4444
LISTEN=200.100.10.100:4444
CONNECT=machine1:port1
CONNECT=machine2:port2
SOCKETTIMEOUT=30            //See text under listing

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

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

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

表3-5 ホスト名とポート番号の形式
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エントリの例」に示す構成ファイルの例を参照してください。

表3-6に、CLOPTパラメータに関する追加情報を示します。

表3-6 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エントリのサンプルを示します。

リスト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-7に示された条件を確認し、構成上の間違いを最小限にするために情報を記録してください。

表3-7 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ファイルを作成します。ファイルのエントリの構文の詳細は、Oracle Tuxedoコマンド・リファレンスを参照してください。リスト3-6に、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)。

表3-8に示されているように、UBBCONFIGファイルのセクションを変更します。

表3-8 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 ATMIアプリケーションのプログラミング』を参照してください。
    • Oracle Tuxedoアプリケーション・サーバーを作成する
    • UBBCONFIGファイルを編集する
    • TUXCONFIGファイルを更新する
    • tmbootコマンドを使用する
  2. Oracle Joltリポジトリ・エディタにアクセスします。以下に関する情報については、「Joltリポジトリ・エディタの使用」を参照してください。
    • サービスの追加
    • 作業の保存
    • サービスをテストする
    • サービスのエクスポートとアンエクスポート

 


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

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

イベント・サブスクリプションを構成する

Oracle TuxedoのTMUSREVTサーバーを構成し、アプリケーションのUBBCONFIGファイルを変更してください。リスト3-7に、UBBCONFIGファイル内のTMUSREVTパラメータの関連部分を示します。ファイルのエントリの構文の詳細は、『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』を参照してください。

リスト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 ATMIアプリケーションのプログラミング』を参照してください。

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

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

バッファ・タイプ

表3-9に、Oracle Tuxedoのタイプを示します。

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を再コンパイルします。System/Tは、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アプリケーション実行時の管理』を参照してください。

リスト3-9に、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サーバーに対して指定できるパラメータを示しています。これら以外のパラメータを指定する必要はありません。

表3-10に示されているように、UBBCONFIGファイルのセクションを変更します。

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

MACHINESセクション

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

ADDRESS or NAME required parameters [optional parameters]

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 required parameters [optional parameters]

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は、ハンドラ・プロセスをスケジューリングします。ハンドラ・プロセスは、アプリケーションの管理ドメインの範囲内にあるリモート・ワークステーションで、クライアントの代わりに動作します。ハンドラは、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に渡すコマンドライン・オプションの文字列を指定します。『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』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が異常終了した場合に実行するコマンドを指定します。最初のスペースまたはタブまでの文字列は、フル・パス名またはAPPDIRを基準とする相対パス名で指定された実行可能なUNIXファイル名である必要があります。(コマンドの先頭でシェル変数を設定しないでください)。オプションで、コマンド名の後にコマンドライン引数を指定することもできます。コマンドラインには、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サイトも参照してください。


  先頭に戻る       前  次