目次 前 次 PDF


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は起動しません。
2.
GROUPSセクションで、GROUPNAMEに必須パラメータとオプション・パラメータを設定します。
3.
SERVERSセクションを設定します(必須)。
このセクション内にある各行の形式は次のとおりです。
JSL必須パラメータ[オプション・パラメータ]
JSLは、tmboot(1)で実行されるファイル(string_value)を指定します。
4.
JSLの必須パラメータを設定します。
次のパラメータは必須です。
SVRGRP=string_value
SRVID=number
CLOPT="-A...-n...//host port"
5.
JSLにその他のパラメータを設定します。
JSLには次のパラメータを使用できますが、これらのパラメータを設定するとアプリケーションにどのような影響が及ぶかを考慮してください。詳細は、「JSLで使用できるパラメータ」を参照してください。
MAX # of JSHs
MIN # of JSHs
Tuxedoサービス・メタデータ・リポジトリの構成
Tuxedoサービス・メタデータ・リポジトリの構成の詳細は、Oracle Tuxedoサービス・メタデータ・リポジトリの管理に関する項を参照してください。
Oracle Tuxedoおよびリポジトリ・エディタを使用するサービスを初期化する
Oracle TuxedoおよびOracle Joltを使用するOracle Tuxedoサービスを定義し、クライアントがJoltサービスを利用できるようにします。
1.
サービスを格納したOracle Tuxedoサーバーを作成します。
2.
Oracle Tuxedoサービス・メタデータ・リポジトリ・エディタにアクセスします。
イベント・サブスクリプション用に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-1に、ホスト名とポート番号の形式を示します。
 
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のアドレス)と入力します。
注意:
形式は、「0x0002PPPNNN」、またはドット区切りの「100.100.10.100」です。
3.
ネットワーク接続されたコンポーネントを構成します。
これで、Joltが構成されました。
Joltに関する背景情報
この項では、Joltコンポーネントに関するその他の情報を説明します。
Joltサーバー
Joltサーバーは、1つまたは複数のハンドラを扱うリスナーです。
Joltサーバー・リスナー(JSL) - JSLは、IP/ポートの組み合わせで構成し、クライアントをサポートします。JSLは、Joltサーバー・ハンドラ(JSH: Jolt Server Handler)と動作して、クライアントがOracle Joltシステムのバックエンドへ接続できるようにします。JSLはOracle Tuxedoサーバーとして実行されます。
Joltサーバー・ハンドラ(JSH) - Oracle Tuxedoサーバー・マシンで実行されるプログラム。リモート・クライアント用のネットワーク接続ポイントを提供します。JSHは、JSLと動作し、クライアントがOracle Joltシステムのバックエンドに接続できるようにします。JSLに対し、最大32,767までのJSHを利用できます。詳細は、「JSLのコマンド行オプション」-Mコマンド行オプションの説明を参照してください。
システム管理者の作業 - システム管理者は、Oracle Joltのサーバー・コンポーネントに関して、以下の作業を行う必要があります。
JSLのネットワーク・アドレスを決定します。
サービスの対象とするJoltクライアントの数を決定します。(サービスの対象とするクライアントの数は、UBBMAXWSCLIENTSで制限されています。)
JSHの最小数と最大数を決定します。
JSLを起動する
UBBCONFIGファイルにあるすべての管理プロセスとサーバー・プロセスを開始するには、次の手順に従います。
1.
tmloadcfと入力します。
このコマンドにより、構成ファイルが解析され、バイナリ形式の構成ファイルがロードされます。
2.
tmboot -yと入力します。
このコマンドにより、構成ファイルで指定されたアプリケーションがアクティブになります。
オプションを指定しない場合は、TUXCONFIGファイルを上書きしてもよいかどうかを確認するメッセージが表示されます。
tmloadcftmbootについては、『Oracle Tuxedoアプリケーション実行時の管理』および『Oracle Tuxedoコマンド・リファレンス』を参照してください。
JSLを停止する
Joltサーバーに対して停止をリクエストするには、Oracle Tuxedoの次のコマンドを入力します。
tmshutdown -y
停止中には次の制約があります。
クライアント接続を新たに確立することはできません。
確立中のすべてのクライアント接続は切断されます。実行中のトランザクションはOracle Tuxedoによってロールバックされます。各クライアントには、サービスが利用不可能であることを通知するエラー・メッセージが送信されます。
JSLを再起動する
Oracle TuxedoはJSLをモニターし、障害が発生した場合はJSLを再起動します。Oracle Tuxedoがリスナー・プロセスを再起動すると、次のイベントが発生します。
リスナーに接続しようとするクライアントは、再接続する必要があります。ハンドラに接続しようとするクライアントでは、タイムアウトまたは遅延が発生します。
ハンドラに接続中のクライアントは切断されます(対応するJSLが正常に終了すると、JSHは終了)。
JSLを構成する
JSLは、JoltからJSHへ接続リクエストを分散するOracle Tuxedoサーバーです。Oracle Tuxedoは、JSLとJREPSVRが置かれているホスト・マシンで実行されていなければなりません。
注意:
JSHに対するJSLのポートの選択方法は、Oracle Tuxedoワークステーション・リスナー(WSL)の場合のプロセスとは異なります。JSLポートを適切に構成する方法の詳細は、「UBBCONFIGファイルを作成する」の「SERVERSセクション」を参照してください。
JSLのコマンド行オプション
サーバーでは、コマンド行からの情報の取得が必要な場合があります。CLOPTパラメータを使用すると、コマンド行オプションを指定して、サーバーに設定されたデフォルト値を変更できます。表3-1で、JSLのコマンド行オプションについて説明します。
 
表3-1 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の接続を要求することを許可する(オプション)
[-K {client | handler | both | none}]
-Kオプションにより、client、handlerまたはbothに対してネットワークkeep-alive機能がオンになります。noneを指定すると、clientとhandlerの両方に対してこの機能をオフにできます。
[-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は暗号化が行われないことを示し、56、128および256は暗号化キーの長さ(ビット単位)を指定します。この最小レベルの暗号化が満たされない場合、接続は確立されません。
[-Z 0|56|128|256]
JoltクライアントとJSHの間にネットワーク・リンクが確立されている場合、このオプションを使用して特定のレベルまでの暗号化を行うことができます。初期値の0は、DHノードの暗号化もRC4形式の暗号化も行わないことを示します。56、128、および256は、暗号化キーの長さ(ビット単位)を示します。キーを生成するには、SSLまたはDHキー交換のいずれかが必要です。セッション・キーは、ネットワーク経由で転送されません。デフォルト値は0です。
注意:
0ビットの最大暗号化レベルは、-s SSL接続オプションと互換性がありません。
セキュリティ機能と暗号化
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リレー(JRLY) - JRLYは、Joltリレーのフロント・エンドです。Oracle Tuxedoのクライアントでもサーバーでもなく、Oracle Tuxedoのバージョンにも依存しません。スタンドアロンのソフトウェア・コンポーネントです。Joltクライアントと共に動作させるための構成は最小限で済みます。
Joltリレー・アダプタ(JRAD) - JRADは、Joltリレーのバックエンドです。これはOracle Tuxedoシステム・サーバーですが、Oracle Tuxedoサービスは含まれていません。これをJSLおよびOracle Tuxedoとともに動かすためにはコマンド行引数が必要です。
注意:
Joltリレーは、JoltクライアントおよびJoltサーバーからは見えません。Joltサーバーは、複数のイントラネット・クライアントに同時に直接接続したり、Joltリレーを介してインターネット・クライアントに接続できます。
Tuxedo 10ではJoltクライアントとJSL/JSHでSSLをサポートしていますが、JRADとJRLYについてはSSLのサポートが実装されていません。そのため、SSLを使用するTuxedo 10 Jolt構成ではJRADおよびJRLYプロセスを利用できません。
図3-1 Joltインターネット・リレーのパス
この図では、ブラウザからWebサーバー・ソフトウェアに接続し、Oracle Joltアプレットをダウンロードする様子を示しています。まず、Joltのアプレットまたはクライアントは、Webサーバー・マシン上のJRLYに接続します。次に、JRLYは、ファイアウォールを越えてJoltメッセージをJRADに転送します。さらに、JRADはメッセージをJSLまたは適切なJSHに転送します。
Joltリレーのフェイルオーバー
JRLYのフェイルオーバーには、次の2つがあります。
JoltクライアントからJRLYへの接続時に発生するフェイルオーバー
JRLYからJRADへの接続時に発生するフェイルオーバー
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バージョンで利用できるコマンド行オプションについて説明します。次の点に注意してください。
WindowsサービスとしてのJRLYは、Windows 2003に対してのみ利用可能です。
表示接尾辞をオプションで指定できる場合([display_suffix]が表示されている場合)、すべての操作はデフォルトのJRLY Windows 2003サービス・インスタンスで実行されます。
別のJRLYサービスを手動でインストールする場合、接尾辞(任意の文字列)が必要です。オプションの文字列の接尾辞を省略して、デフォルトのサービスを手動でインストールすることもできます。
JRLY Windows 2003サービスの各インスタンスでは、同じバイナリ形式の実行可能ファイルが使用されます。
JRLY Windows 2003サービスのインスタンスごとに新しいプロセスが開始されます。
コマンド行オプションの構文はjrly -commandです。
角カッコ([ ])で囲まれた文字列はオプションです。
次の表にあるコマンド行オプションのうち、-start-stop以外は、Windows 2003レジストリに対する書込み権が必要です。
-start-stopを使用する場合は、Windows 2003サービスの制御権が必要です。これらの制限は、Windows 2003でのユーザー制限に基づいています。
表3-2で、JRLYコマンド行オプションについて詳しく説明します。
 
表3-2 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-3に示されているように、UNIXのJRLYコマンド行オプションは1つしかありません。
 
表3-3 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-4は、ホスト名とポート番号の形式を示しています。
注意:
JRLYはIPv6をサポートしています。
 
表3-4 ホスト名とポート番号の形式
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-5に、CLOPTパラメータに関する追加情報を示します。
 
表3-5 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-6に示された条件を確認し、構成上の間違いを最小限にするために情報を記録してください。
 
表3-6 Joltインターネット・リレーのネットワーク・アドレスの構成条件
JRLY
JRAD
JSL
LISTEN:クライアントの接続先を指定します。
CONNECT: JRADの場所。JRADの-lパラメータと一致していなければなりません。
-l:リスナーがJRLYに接続する場所を指定します。
-c: JSLの場所。JSLの-nパラメータと一致していなければなりません。
-n: JSLの場所を指定します。JRADの-cパラメータと一致していなければなりません。
 
Oracle Tuxedoサービス・メタデータ・リポジトリ
Oracle Tuxedoサービス・メタデータ・リポジトリには、Oracle Tuxedoサービスの定義が格納されており、これにより、JoltクライアントはOracle Tuxedoサービスにアクセスできます。手順は、Oracle Tuxedoサービス・メタデータ・リポジトリの管理に関する項を参照してください。
Oracle Tuxedoおよびリポジトリ・エディタを使用してサービスを初期化する
クライアントがJoltサービスを使用できるようにするために、Oracle TuxedoおよびOracle Tuxedoサービス・メタデータ・リポジトリ・エディタを使用してOracle Tuxedoサービスを定義します。
1.
サービスを格納したOracle Tuxedoサーバーを作成します。次の詳細は、『Oracle Tuxedoアプリケーション実行時の管理』または『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』を参照してください。
Oracle Tuxedoアプリケーション・サーバーを作成する
UBBCONFIGファイルを編集する
TUXCONFIGファイルを更新する
tmbootコマンドを使用する
2.
メタデータ・リポジトリ・エディタにアクセスします。
イベント・サブスクリプション
Joltのイベント・サブスクリプション機能では、Oracle Tuxedoサービスまたは別のOracle Tuxedoクライアントからイベント通知を受信します。
非請求イベント通知 - Joltクライアントがこれらの通知を受信するのは、Oracle Tuxedoのクライアントまたはサービスがメッセージ・イベントをサブスクライブしており、Oracle Tuxedoクライアントがブロードキャストを発行するとき(tpbroadcast()を使用するか、またはtpnotify() ATMI呼出しを使用して直接ターゲット指定されたメッセージを送信)です。非請求通知には、TMUSREVTサーバーは不要です。
ブローカ経由のイベント通知 - Joltクライアントは、Oracle Tuxedoのイベント・ブローカ経由でこれらの通知を受信します。これらの通知は、両方のクライアントが同じイベントをサブスクライブしており、任意のOracle Tuxedoクライアントまたはサーバーがtppost()を使用してイベントをポストするときにのみ受信されます。ブローカ経由のイベント通知には、TMUSREVT サーバーが必要です。
イベント・サブスクリプションを構成する
Oracle TuxedoのTMUSREVTサーバーを構成し、アプリケーションのUBBCONFIGファイルを変更してください。リスト3-6に、UBBCONFIGファイル内のTMUSREVTパラメータの関連部分を示します。ファイルのエントリの構文の詳細は、『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』を参照してください。
リスト3-6 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-7に、Oracle Tuxedoのタイプを示します。
 
表3-7 Oracle Tuxedoのバッファ・タイプ
バッファ・タイプ
説明
FML
属性、値ペア。明示的。
VIEW
C構造体。非常に正確なオフセット。暗黙的。
STRING
長さとオフセットの値が異なる。すべて読取り可能です。
CARRAY
文字配列。バイナリ・データのBLOB。クライアントおよびサーバーのみが認識し、JSLは認識しません。
X_C_TYPE
VIEWと同じ。
X_COMMON
VIEWと同じ。ただし、COBOLとCの両方で使用されます。
X_OCTET
CARRAYと同じ。
XML
整形式のXML文書。CARRAYと似ています。
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-7 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クラス・ライブラリの詳細は、第4章「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-8に、UBBCONFIGファイルの関連部分を示しています。
Listing 3‑8 UBBCONFIG File
*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-8に示されているように、UBBCONFIGファイルのセクションを変更します。
 
表3-8 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クライアントとワークステーション・クライアント専用のパラメータです。このパラメータには、0 - 32,768の範囲の値を指定します。
JoltサーバーとWorkstationでは、同じ要領でMAXWSCLIENTSが使用されます。たとえば、MAXWSCLIENTSに200スロットが構成されると、この数により、Oracle Tuxedoの構成において、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を実行すると、MINで指定した数のサーバーが起動します。これ以外のサーバーを起動するには、tmboot-i SRVIDオプションを使用して明示的に呼び出します。
RQADDRが指定されており、MINが1より大きい数の場合、MSSQセットが作成されます。
MINを指定しない場合は、デフォルトで1が設定されます。
MAXを指定しない場合は、デフォルトでMINと同じ値が設定されます。
必要に応じて自動的に生成される会話型サーバーでは、MAXを指定しておくことが特に重要です。
ランタイム・パラメータ
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パラメータが以下の構文になっていることを確認します。
CLOPT= "-- -n 0x0002PPPPNNNNNNNN -d /dev/tcp -m2 -M4 -x10"
注意:
CLOPTパラメータは数種類あります。該当するコマンド行の説明については、「JSLのコマンド行オプション」の表を参照してください。
4.
以下の説明に従い、必要に応じてオプション・パラメータを入力します。
サーバーを起動する順序を決定するには、SEQUENCEパラメータを入力します。
サーバーの再起動を許可するには、RESTARTパラメータにYを指定します。
サーバーを再起動する回数を制限しない場合は、GRACEパラメータに0を指定します。
Oracle Joltオンライン・マニュアルのサンプル・アプリケーション
以下のOracle Jolt製品のWebページには、サンプル・コードが用意されています。このサンプル・コードはOracle Joltを使用して変更することができます。
http://www.bea.com/products/jolt/index.htm
これらのサンプルを使用すると、Oracle Joltの機能を実際に試すことができます。
以下のJava関連のWebサイトも参照してください。
Javasoftホームページ(http://www.java.sun.com/ )
comp.lang.java階層のニュース・グループ。この階層内のニュース・グループには、Javaに関する過去の記事やメールなど、貴重な資料が保存されています。
 

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