BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   BEA Jolt   |   先頭へ   |   前へ   |   次へ   |   目次   |   索引

 


BEA Tuxedo に関する背景情報

次の節では、コンフィギュレーションに関する情報を詳しく説明します。BEA Tuxedo に精通している場合でも、この節で Jolt サービス・ハンドラ (JSL: Jolt Service Handler) の設定方法を確認してください。

コンフィギュレーション・ファイル

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

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

UBBCONFIG ファイルを作成する

バイナリ形式のコンフィギュレーション・ファイル、TUXCONFIG には、tmboot(1) の実行時に使用される情報が含まれています。これにより、サーバの起動と BEA 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 ファイルを変更する必要があります。BEA Tuxedo の設定に関するさらに詳しい情報については、『BEA Tuxedo アプリケーション実行時の管理』を参照してください。

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

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 ファイル内のセクションを変更してください。

UBBCONFIG ファイル内のセクション

セクション名

指定するパラメータ

MACHINES

MAXWSCLIENTS

GROUPS

GRPNO、LMID

SERVERS

SRVGRPSRVIDCLOPT


 

MACHINES セクション

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

ADDRESS or 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. アプリケーション側でグループ名が選択されます (例: JSLGRPJREPGRP)

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

  3. *GROUPS セクションの GRPNO に 1 〜 30,000 の範囲の値を指定します。

注記 UBBCONFIG ファイルの GROUPS セクションに指定されているすべてのグループに対して、デフォルトでリソース・マネージャが割り当てられないようにしてください。デフォルト値として指定されたリソース・マネージャは、JSL に割り当てられ、tmboot の実行時にエラーが発生します。SERVERS セクションの RESTARTMAXGEN、その他に指定されているデフォルト値は、JSL に対して有効です。

SERVERS セクション

このセクションでは、システムで起動されるサーバの初期状態に関する情報を定義します。常に実行中の状態であり、受信したサーバ・グループのサービス要求を処理するのがサーバである、という捉え方は、特定のリモート環境には当てはまらない場合があります。ほとんどの環境では、オペレーティング・システムまたはリモート・ゲートウェイは単にサービスの送信を行っています。このような場合は、リモート・プログラムのエントリ・ポイントに対して、SERVER テーブルのエントリではなく SERVICE エントリ・ポイントを指定するだけで十分です。BEA 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) を介して BEA 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 に渡すコマンド行オプションの文字列を指定します。『ファイル形式、データ記述方法、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 になります。接続は会話型サーバに対してのみ行うことができます。tpacall(3c) または tpcall(3c) を使った rpc 要求は非会話型サーバに対してのみ行うことができます。受け取った要求に対して応答を行うサーバの場合は、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 には、BEA Tuxedo のパラメータである RESTART、RQADDR、および REPLYQ を使用できます。ランタイム・パラメータの詳細については、『BEA Tuxedo アプリケーション実行時の管理』を参照してください。パラメータは次の要領で指定してください。

  1. SRVGRP パラメータを指定するには、GROUPS セクションにある、定義済みのサー バ・グループ名を示す値を入力します。

  2. SRVID を指定するには、1 〜 30,000 の数値を使用してグループ内のサーバを示す 識別子を入力します。

  3. CLOPT パラメータが以下の構文になっていることを確認します。
    CLOPT= "-- -n 0x0002PPPPNNNNNNNN -d /dev/tcp -m2 -M4 -x10"

    注記 CLOPT パラメータは数種類あります。該当するコマンド行の説明については、表の「JSL のコマンド行オプション」を参照してください。

  4. 以下の説明に従い、必要に応じてオプション・パラメータを入力します。

 

先頭へ戻る 前のトピックへ 次のトピックへ