bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo アプリケーションの設定

 Previous Next Contents View as PDF  

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

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

 


コンフィギュレーション・ファイルの作成方法

コンフィギュレーション・ファイルに指定する内容は、作成するアプリケーションによって異なります。以下は、さまざまなアプリケーションの作成手順です。

関連項目

 


1 台のマシンで構成するアプリケーション用のコンフィギュレーション・ファイル

1 台のマシンで構成するコンフィギュレーションでは、コンフィギュレーション・ファイルに、次のセクションを作成する必要があります。各作業をクリックすると、その作業を行う手順が表示されます。

  1. コンフィギュレーション・ファイルの RESOURCES セクションを作成します。

  2. コンフィギュレーション・ファイルの MACHINES セクションを作成します。

  3. コンフィギュレーション・ファイルの GROUPS セクションを作成します。

  4. コンフィギュレーション・ファイルの SERVERS セクションを作成します。

  5. コンフィギュレーション・ファイルの SERVICES セクションを作成します。

  6. コンフィギュレーション・ファイルの INTERFACES セクションを作成します (CORBA のみ)。

  7. コンフィギュレーション・ファイルの ROUTING セクションを作成します。

次の図中をクリックすると、クリックしたセクションの作成方法が表示されます。


 

 


複数のマシンで構成 (分散) するアプリケーション用のコンフィギュレーション・ファイル

分散型の ATMI アプリケーションでは、コンフィギュレーション・ファイルに次のセクションを作成する必要があります。各作業をクリックすると、その作業を行う手順が表示されます。

  1. コンフィギュレーション・ファイルの RESOURCESセクションを作成します。

  2. コンフィギュレーション・ファイルの MACHINES セクションを作成します。

  3. コンフィギュレーション・ファイルの GROUPS セクションを作成します。

  4. コンフィギュレーション・ファイルのNETWORK セクションを作成します。

  5. コンフィギュレーション・ファイルのNETGROUPS セクションを作成します。

  6. コンフィギュレーション・ファイルの SERVERS セクションを作成します。

  7. コンフィギュレーション・ファイルのSERVICES セクションを作成します。

  8. コンフィギュレーション・ファイルの ROUTING セクションを作成します (オプション)。

注記 BEA Tuxedo システムで分散型 CORBA アプリケーションのコンフィギュレーション・ファイルを作成する方法については、『BEA Tuxedo CORBA アプリケーションのスケーリング、分散、およびチューニング』を参照してください。

次の図中をクリックすると、クリックしたセクションの作成方法が表示されます。


 

 


複数のドメインにまたがるアプリケーション用のコンフィギュレーション・ファイル

複数のドメインにまたがるコンフィギュレーションでは、ドメインごとに次の 2 つのコンフィギュレーション・ファイルを作成する必要があります。

たとえば、ローカル・ドメイン (lapp) とリモート・ドメイン (rapp) で構成されるアプリケーションの場合は、以下の作業が必要です。

各作業をクリックすると、その作業を行う手順が表示されます。

図 3-1 複数のドメインにまたがるサンプル・アプリケーションのコンフィギュレーション


 

次の図は、2 つのドメインにまたがるアプリケーションの UBBCONFIG ファイルおよび DMCONFIG ファイルで設定するセクションを示しています。片方はローカル・ドメインであり、もう一方はリモート・ドメインです。

次の図中をクリックすると、クリックしたコンフィギュレーション・ファイルのセクションの作成方法が表示されます。

図 3-2 複数のドメインにまたがるアプリケーションのコンフィギュレーション


 

関連項目

 


コンフィギュレーション・ファイルの RESOURCES セクションの作成方法

コンフィギュレーション・ファイルの先頭には、必ず RESOURCES セクションを指定します。このセクションで定義されるパラメータは、アプリケーション全体を制御し、システムのデフォルト値になります。RESOURCES セクションのパラメータ値は、MACHINES セクションのマシンごとの値を変更することによって上書きできます。

次の表では、RESOURCES セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。

RESOURCES セクションで指定する情報

パラメータ (必須/オプション)

参照先 (クリックするとリンク先にジャンプ)

IPC (プロセス間通信) 資源の一意のアドレス

IPCKEY (必須)

共用メモリのアドレス

セキュリティ・アクセス

UIDGID、および PERM (オプション)

セキュリティ・アクセス

掲示板に同時に接続できるプロセスの最大数

MAXACCESSERS (オプション)

IPC 資源の上限値

掲示板のサーバ・テーブル・エントリの最大数

MAXSERVERS (オプション)

IPC 資源の上限値

掲示板のサービス・テーブル・エントリの最大数

MAXSERVICES (オプション)

IPC 資源の上限値

CORBA インターフェイスの最大数

MAXINTERFACES (オプション)

IPC 資源の上限値

CORBA オブジェクトの最大数

MAXOBJECTS (オプション)

IPC 資源の上限値

起動、シャットダウン、およびその他の管理タスクが実行される DBBL (Distinguished Bulletin Board Liaison) の場所

MASTER (必須)

マスタ・プロセッサ

掲示板のアーキテクチャ

MODEL (SHM または MP)、および OPTIONS (LAN または MIGRATE)(必須)

アプリケーション・タイプ

セキュリティのレベル

SECURITYAUTHSVC (オプション)

セキュリティのレベル

ID 確認のためのプロセスのプリンシパル名、プリンシパル・ユーザの秘密鍵の場所、およびパスワードを格納する環境変数

SEC_PRINCIPAL_NAMESEC_PRINCIPAL_LOCATION、および SEC_PRINCIPAL_PASSVAR

セキュリティ属性

クライアントが任意通知型メッセージを検出する場合のデフォルトの検出方法

NOTIFYUSIGNAL (オプション)

任意通知型メッセージ

共用メモリの保護

SYSTEM_ACCESS (オプション)

共用メモリの保護

サーバのロード・バランシングの有効化

LDBAL (オプション)

ロード・バランシング

バッファのタイプとサブタイプの最大数

MAXBUFTYPE、MAXBUFSTYPES (オプション)

バッファのタイプとサブタイプ

1 台のマシンで受け付ける会話の最大数

MAXCONV (オプション)

会話数の上限値

ネットワーク・グループの最大数

MAXNETGROUPS (オプション)

ネットワーク・グループ

正常性チェックの間隔とブロッキング呼び出しの許容時間

SCANUNITSANITYSCANBLOCKTIME (オプション)

正常性チェックの間隔とブロッキング・タイムアウト


 

RESOURCES セクションの例

以下は、コンフィギュレーション・ファイルの RESOURCES セクションの例です。

*RESOURCES
IPCKEY 39211
UID 0
GID 1
PERM 0660
MAXACCESSERS 75
MAXSERVERS 40
MAXSERVICES 55
MASTER SITE1, SITE2
MODEL MP
OPTIONS LAN, MIGRATE
SECURITY APP_PW
AUTHSVC "AUTHSVC"
NOTIFY DIPIN
SYSTEM_ACCESS PROTECTED, NO_OVERRIDE
LDBAL Y

関連項目

 


アプリケーション・タイプを定義する

BEA Tuxedo のアプリケーションのアーキテクチャについて、以下の事項を決定する必要があります。

アプリケーション・タイプを定義するには、MODEL パラメータおよび OPTIONS パラメータを使用します。

MODEL パラメータは、単一のプロセッサ上でアプリケーションを実行するかどうかを指定します。ユニプロセッサ、およびグローバル共用メモリを備えたマルチプロセッサの場合、このパラメータには SHM が設定されます。共用メモリを備えていないマルチプロセッサ、およびネットワーク接続されたアプリケーションの場合は、MODELMP が設定されます。これは、必須パラメータです。

OPTIONS パラメータは、アプリケーションのコンフィギュレーションに関するオプションをカンマ区切りの形式で指定したリストです。指定できるオプションは、LAN (ネットワーク構成であることを示す) および MIGRATE (アプリケーション・サーバの移行が可能であることを示す) の 2 つです。

MODEL および OPTIONS パラメータの特性


 

パラメータ

説明

MODEL

これは必須パラメータです。SHM は、グローバル共用メモリを備えた単一のマシンを示します。MP は、グローバル共用メモリを備えていない複数のマシン、またはネットワーク接続されたアプリケーションを示します。

OPTIONS

アプリケーションのコンフィギュレーションに関するオプションを、カンマ区切りの形式で指定したリストです。LAN は、ローカル・エリア・ネットワークを示します。MIGRATE は、サーバの移行を有効にします。

RESOURCES セクションの例では、MODELMP が設定され、OPTIONSLAN および MIGRATE に設定されています。


 

設定例

以下は、コンフィギュレーション・ファイルの RESOURCES セクションの設定例です。

 *RESOURCES
MODEL MP
OPTIONS LAN, MIGRATE

 


バッファのタイプとサブタイプの数を制御する

アプリケーションで受け付けられるバッファのタイプおよびサブタイプの数は、MAXBUFTYPE パラメータおよび MAXBUFSTYPE パラメータで制御できます。ユーザ定義のバッファ・タイプが多数指定されていない限り、MAXBUFTYPE は省略できます。何種類もの VIEW タイプを使用する予定がある場合は、MAXBUFSTYPE に現在設定されているデフォルト値を増やしておきます。

MAXBUFTYPE および MAXBUFSTYPE パラメータの特性

パラメータ

説明

MAXBUFTYPE

システムで受け付けるバッファ・タイプの最大数。ユーザ定義のバッファ・タイプを 8 つ以上作成する場合にのみ使用します。MAXBUFTYPE には、0 より大きく 32,768 未満の値を指定します。指定しない場合は、デフォルト値の 16 が設定されます。

例:MAXBUFTYPE 20

MAXBUFSTYPE

システムで受け付けるバッファのサブタイプの最大数。MAXBUFSTYPE には、0 より大きく 32,768 未満の値を指定します。指定しない場合は、デフォルト値の 32 が設定されます。

例:MAXBUFSTYPE 40

l
 

設定例

この例では、バッファのタイプの最大数として20、サブタイプの最大数として 40 が指定されています。

*RESOURCES
MAXBUFTYPE 20
MAXBUFSTYPE 40

 


会話の数を制御する

MAXCONV パラメータを使用すると、マシン上で同時に実行できる会話数を指定できます。MAXCONV には、0 より大きく 32,768 未満の値を指定します。

MAXCONV パラメータの特性

MAXCONV パラメータには、以下の特性があります。

設定例

この例では、各マシンで同時に実行できる会話の最大数が 15 に設定されています。

*RESOURCES
MAXCONV 15

 


IPC 資源の上限値を定義する

ほとんどの IPC および共用メモリの掲示板テーブルは、高速処理用に静的に割り当てられているため、正しくチューニングすることが重要です。値の設定が大きすぎると、メモリと IPC 資源が無駄に消費されます。逆に、値の設定が小さすぎると、IPC 資源の上限を超えた時点でプロセスが異常終了します。tmloadcf -c コマンドを使用すると、アプリケーションに必要な IPC 資源の上限を確認できます。『BEA Tuxedo コマンド・リファレンス』の tmloadcf(1) を参照してください。

MAXACCESSERS、MAXSERVERS、MAXSERVICES、MAXINTERFACES、および MAXOBJECTS は、IPC 資源のサイズを決める、調整可能なパラメータです。アプリケーションに割り当てられる共用メモリの容量は、MAXGTT および MAXCONV パラメータによって制御されます。

MAXACCESSERS、MAXSERVERS、MAXSERVICES、MAXINTERFACES、および MAXOBJECTS パラメータの特性

パラメータ

説明

MAXACCESSERS

BEA Tuxedo アプリケーションの特定のサイトで、掲示板に同時に接続できるプロセスの最大数。この数には、クライアント、システム提供のサーバ、およびアプリケーション・サーバがすべて含まれますが、BBL や tmadmin() など、掲示板にアクセス・スロットが予約されている管理プロセスは含まれません。

MAXACCESSERS には、0 より大きく 32,768 未満の値を指定します。指定しない場合は、デフォルト値の 50 が設定されます。MACHINES セクションでは、マシンごとに MAXACCESSERS を上書きできます。

MAXSERVERS

アプリケーションで使用できるサーバ・プロセスの最大数。この数には、システム提供されるサーバおよびアプリケーション・サーバがすべて含まれます。

MAXSERVERS には、0 より大きく 8.192 未満の値を指定します。指定しない場合は、デフォルト値の 50 が設定されます。

MAXSERVICES

アプリケーションで宣言できる BEA Tuxedo サービスの最大数。MAXSERVICES には、0 より大きく 32,768 未満の値を指定します。指定しない場合は、デフォルト値の 100 が設定されます。

注記 CORBA 環境では、各 CORBA インターフェイスが BEA Tuxedo サービスにマップされます。生成されるサービスの数を考慮して設定してください。

MAXINTERFACES

CORBA 環境のアプリケーションで宣言できる CORBA インターフェイスの最大数。MAXINTERFACES には、0 より大きく 32,766 未満の値を指定します。指定しない場合は、デフォルト値の 100 が設定されます。

注記 インターフェイスのすべてのインスタンスは、掲示板のインターフェイス・テーブルで同じスロットを占有し、再利用します。たとえば、サーバ SVR1 がインターフェイス IF1IF2 を、サーバ SVR2 がインターフェイス IF2IF3 を、サーバ SVR3 がインターフェイス IF3IF4 を宣言した場合、MAXINTERFACES を計算すると、インターフェイス数は 6 ではなく 4 になります。

MAXOBJECTS

CORBA 環境のアプリケーションで有効にできる CORBA オブジェクトの最大数。MAXOBJECTS には、0 より大きく 32,766 未満の値を指定します。指定しない場合は、デフォルト値の 100 が設定されます。


 

注記 システム提供されるサーバには、AUTHSVRTMQUEUETMQFORWARDTMUSREVTTMSYSEVTTMSTMS_QMGWTDOMAIN、および WSL があります。

MAXACCESSERS の値を増やすと、サイトごと、および、クライアントまたはサーバ・プロセスごとに、別のセマフォが必要になります (アクセサについては注記を参照)。MAXACCESSERS の値を増やすことによって追加されるセマフォのほか、システム・プロセスでもわずかなセマフォのオーバーヘッドが発生します。一方、MAXSERVERS および MAXSERVICES の値を増やしても、各サーバ、サービス、またはクライアント・エントリに用意されている程度の少量の共用メモリしか消費されません。MAXSERVERS および MAXSERVICES パラメータは、アプリケーションの拡張に対応するために用意されています。これらのパラメータより、MAXACCESSERS を詳細に調べる方が重要です。

注記 システムでは、掲示板へのアクセス・スロットごとに 1 つのセマフォが割り当てられます。セマフォは、複数のプロセスが、掲示板の共用メモリに同時にアクセスしないようにするラッチ回路です。

BEA Tuxedo のリリース 7.1 より前の MAXACCESSERS および MAXSERVERS パラメータは、ユーザ・ライセンス数をチェックするしくみと関連付けられていました。つまり、アプリケーションで実行中の 1 台以上のマシンの MAXACCESSERS の数と、特定のマシンの MAXACCESSERS の数の合計が、MAXSERVERS の数とユーザ・ライセンス数の合計より大きい場合、マシンを起動することはできませんでした。したがって、アプリケーションの MAXACCESSERS パラメータには、MAXSERVERS の数とユーザ・ライセンス数の合計か、またはそれより小さい値を指定しなければなりませんでした。

BEA Tuxedo のリリース 7.1 以降では、アプリケーションに設定されているユーザ・ライセンスの数と、現在使用されているユーザ・ライセンスの数に基づいて、ライセンスのチェックが行われます。すべてのユーザ・ライセンスが使用中になると、アプリケーションに新しいクライアントが参加することはできなくなります。

設定例

この例では、最大 75 のプロセス (クライアントおよびサーバ) が同時にシステムにアクセスできます。掲示板では、40 サーバが 55 のサービスを宣言できます。

*RESOURCES
MAXACCESSERS 75
MAXSERVERS 40
MAXSERVICES 55

 


ロード・バランシングを有効にする

BEA Tuxedo では、アプリケーション全体に対し、ロード・バランシングのアルゴリズムを使用するかどうかを制御できます。ロード・バランシングを使用すると、ロード・ファクタがシステム内の各サービスに適用され、各サーバの負荷の合計を監視できます。各サービス要求は、負荷が最も少ない適切なサーバに送信されます。

ロード・バランシングを使用するかどうかを指定するには、LDBAL パラメータに Y (はい) または N (いいえ) を設定します。デフォルトでは N が設定されます。

ロード・バランシングは、必要な場合のみ、つまり、複数のキューを使用するサーバによってサービスが提供される場合にのみ使用します。1 つのサーバによって提供されるサービス、または MSSQ セット (複数サーバ、単一キュー) のサーバによって提供されるサービスに対してロード・バランシングを設定する必要はありません。コンフィギュレーションにこのようなタイプのサービスしかない場合、LDBAL パラメータを N に設定します。LDBALN に設定されているときに複数のキューが同じサービスを提供すると、最初に使用可能なキューが選択されます。

LDBAL パラメータの特性

LDBAL パラメータには、以下の特性があります。

設定例

この例では、アプリケーションでロード・バランシングが有効になっています。

*RESOURCES
LDBAL Y

関連項目

 


マスタ・マシンを識別する

MASTER マシンは、アプリケーションの起動およびアプリケーション全体の管理を制御します。各アプリケーションでは、必ず MASTER パラメータを設定してMASTER マシンを指定する必要があります。MASTER には、該当するコンピュータの論理マシン識別子 (LMID) を指定します。LMID は、管理者が指定する英数字の文字列であり、MACHINES セクションの LMID パラメータに割り当てられます。したがって、LMID パラメータの値が SITE1 の場合、MASTER の値も SITE1 でなければなりません。

アプリケーションをシャットダウンせずに MASTER マシンを終了するには、MASTER を移行できるようにしておく必要があります。移行を行うには、LMID に、プライマリ MASTER とバックアップ MASTER を指定する必要があります。

MASTER パラメータの特性

MASTER パラメータには、以下の特性があります。

設定例

Site1MASTER マシン、SITE2 はバックアップ・マシンです。

*RESOURCES
MASTER SITE1, SITE2

 


ネットワーク・グループの最大数を指定する

設定済みのネットワーク・グループの最大数を指定するには、MAXNETGROUPS パラメータを設定します。値には、1 以上 8192 未満を指定します。デフォルト値は 8です。これは、オプション・パラメータです。

 


正常性チェックおよびブロッキング・タイムアウトを指定する

BBL は、定期的 (デフォルトでは 120 秒ごと) にマシン上のサーバの正常性をチェックします。ただし、この間隔は、SCANUNIT および SANITYSCAN パラメータを設定して変更することができます。さらに、BLOCKTIME パラメータを設定して、メッセージ、トランザクション、およびその他のシステム・アクティビティをブロッキングする際のタイムアウト値を設定することもできます。値は、5 の正の倍数で指定します。

サーバの正常性チェックを行うときに、次のチェックまでに繰り返す SCANUNIT の回数を指定するには、SANITYSCAN パラメータを使用します。現在のデフォルト値は、SANITYSCAN × SCANUNIT が約 120 秒になるように設定されています。

SCANUNIT、SANITYSCAN、および BLOCKTIME パラメータの特性

パラメータ

説明

SCANUNIT

チェック間隔とタイムアウトの粒度を制御します。SCANUNIT には、0 〜 60 の範囲の 5 の倍数を秒単位で指定します。
例: SCANUNIT 10

デフォルト値は 10 です。

SANITYSCAN

サーバの正常性チェックを行うときに、次のチェックまでに繰り返すスキャン単位 (SCANUNIT) の回数を指定します。

SANITYSCAN には、32,767 までの任意の数を指定できます。

デフォルト値は、SCANUNIT × SANITYSCAN が約 120 秒になるように設定されています。

BLOCKTIME

メッセージをブロックしておく期間を指定します。この期間を経過すると、タイムアウトが発生します。

SCANUNIT × BLOCKTIME の値は、32,767 以下でなければなりません。

デフォルト値は、SCANUNIT × BLOCKTIME が約 60 秒になるように設定されています。


 

ATMI 操作のブロックとタイムアウト

タイムアウトとは、集合的に、次の期間を示します。

ブロッキング・タイムアウトとは、ブロックされているクライアント要求が、ブロック解除されるまでの期間のことです。非同期型のサービス要求および会話のブロッキング・タイムアウトは、個々の送受信操作に対して適用されます。tpacall (3c)、tpconnect (3c)、または tpsend (3c) を使用してメッセージが送信される場合は、キューがいっぱいであり、送信されたメッセージがキューへの登録を待機する場合にのみタイムアウトが適用されます。メッセージを受信するための tpgetrply (3c) または tprecv(3c) 呼び出しがクライアント・プロセスから発行される場合、タイムアウトは、キューが空の場合にクライアントがメッセージの受信を待機する期間になります。

設定例

この例では、正常性チェックが 30 秒 ごとに実行されます。要求が 10 秒以上ブロックされることはありません。SCANUNIT に 10 が指定され、SANITYSCAN に 3 が指定されているため、10 秒の 3 倍、つまり 30 秒が経過すると、次のチェックが BBL により行われます。

*RESOURCES
SCANUNIT 10
SANITYSCAN 3
BLOCKTIME 1

 


オペレーティング・システム・レベルのセキュリティを設定する

UIDGID、および PERM の 3 つのパラメータを設定すると、BEA Tuxedo の管理機能へのアクセスを、認可された管理者だけに制限できます。

UID および GID のデフォルト値は、アプリケーションのコンフィギュレーションの際に tmloadcf(1) コマンドを実行したユーザのユーザ ID (UID の場合) およびグループ ID (GID の場合) になります。ただし、MACHINES セクションの値を上書きして、この設定を変更することもできます。

UID、GID、および PERM パラメータの特性


 


 


 


 


 


 


 

パラメータ

説明

UID

管理者のユーザ ID。値は数値で表され、システムの起動とシャットダウンを担当するユーザの UNIX システム・ユーザ ID に対応しています。

デフォルト値は、tmloadcf(1) コマンドを実行するユーザの ID です。

例: UID=3002

注記 Windows 2000 では、この値を 0 に設定してください。

GID

管理者のグループ ID を示す数値。

デフォルト値は、tmloadcf(1) コマンドを実行するユーザの ID です。

例: GID=100

注記 Windows 2000 では、この値を 0 に設定してください。

PERM

アプリケーションの起動時に作成される IPC 資源に割り当てるパーミッションを指定する 8 進数値。このパラメータは、BEA Tuxedo システムの IPC 構造を不正なアクセスから保護する、第 1 レベルのセキュリティを指定します。これらの値は、実働アプリケーションに対して指定する必要があります。

デフォルト値は 0666 であり、これは、すべてのユーザに対して読み込み権と書き込み権を許可することを示します。

例: PERM=0660


 

注記 リモート・マシンに対して割当てられている上記のパラメータは、上書きできます。リモート・マシンと MASTER マシンのユーザ ID およびグループ ID は、同じでなくてもかまいません。デフォルト値を上書きするには、コンフィギュレーション・ファイルの MACHINES セクションで、別のユーザ ID およびグループ ID を指定します。特に値を指定しない場合は、RESOURCES セクションで指定した値が使用されます。

 


セキュリティ・レベルを指定する

以下の 3 つのセキュリティ・レベルを設定できます。

SECURITY および AUTHSVC パラメータの特性

パラメータ

説明

SECURITY

アプリケーションに参加するときにパスワードの入力を求めるセキュリティ・レベル。有効な値は、NONE (デフォルト値)、APP_PWUSER_AUTH—>ACL、および MANDATORY_ACL です。

LDAP の単一のセキュリティ管理を有効にするには、SECURITY レベルを USER_AUTHMANDATORY_ACL、または ACL に設定する必要があります。

デフォルト値は NONE です。

例: SECURITY APP_PW

AUTHSVC

認証サービスの名前。

SECURITY APP_PW またはそれ以上を指定する必要があります。

デフォルト値は、認証サービスなしです。

Kerberos によるクライアント認証が可能です。

例: AUTHSVC “AUTHSVC’’


 

関連項目

 


サーバのセキュリティ属性を定義する

SEC_PRINCIPAL_NAMESEC_PRINCIPAL_LOCATION、および SEC_PRINCIPAL_PASSVAR パラメータを使用すると、認証用のサーバのセキュリティ属性を指定できます。

注記 上記の方針は、ワークステーション・ハンドラ、Domains のゲートウェイ処理、および相互運用するアプリケーション・サーバに適用されます。

関連項目

 


共用メモリを保護する

SYSTEM_ACCESS パラメータを使用すると、共用メモリにあるシステム・テーブルを、アプリケーション・クライアントとアプリケーション・サーバから保護できます。このパラメータを指定しておくと、アプリケーションの開発中に、欠陥のあるアプリケーション・コードが不当なポインタによって誤って共用メモリの内容を破壊することを防ぐことができます。アプリケーションが完全にデバッグされ、テストされたら、パラメータの値を変更して、応答が早く返されるように設定できます。このパラメータの有効な値は、次のとおりです。

値を選択した後で NO_OVERRIDE を指定すると、選択したオプションをクライアントや管理者が変更できなくなります (クライアントの場合は tpinit() 呼び出しの TPINIT 構造体、管理者の場合は SERVERS セクションで指定)。

PROTECTED、FASTPATH、および NO_OVERRIDE パラメータの特性

パラメータ

説明

PROTECTED

共用メモリの内部構造体が、アプリケーション・プロセスによって誤って破壊されるのを防ぎます。

FASTPATH (デフォルト)

アプリケーション・プロセスは、常に共用メモリへのアクセス権を保持した状態でアプリケーションに参加します。

NO_OVERRIDDE

指定されたオプション (PROTECTED または FASTPATH) は変更できません。


 

設定例

 SYSTEM_ACCESS PROTECTED、NO_OVERRIDE

 


アプリケーションのシステム資源のアドレスを設定する

共用メモリのアドレスを設定するには、IPCKEY パラメータを設定します。このパラメータにより、BEA Tuxedo システムは、アプリケーションに対して IPC 資源を割り当てます。これにより、新たにアプリケーションに参加したプロセスは IPC 資源を簡単に見つけることができます。キーの値は、新しいアプリケーション・プロセスに対して掲示板、メッセージ・キュー、およびセマフォを割り当てるために内部で使用されます。単一プロセッサ・モードでは、このキーが掲示板を指定します。マルチプロセッサ・モードでは、このキーが DBBL のメッセージ・キューを指定します。

IPCKEY パラメータの特性

IPCKEY パラメータには、以下の特性があります。

設定例

*RESOURCES
IPCKEY 39211

 


任意通知型メッセージの受信方法を指定する

NOTIFY パラメータを使用すると、クライアントが任意通知型メッセージを受信するデフォルトの方法を設定できます。ただし、クライアントは、tpinit() を呼び出してこの設定を上書きできます。

以下の 4 つの方法が可能です。

USIGNAL パラメータは、SIGNAL ベースの通知を使用する場合に使用されるシグナルを指定します。SIGUSR1SIGUSR2 の 2 種類のシグナルが生成されます。デフォルト設定は SIGUSR2 です。この方法を使用すると、直ちに通知を返すことができますが、ネイティブ・クライアントを実行しているときは、制限があります。つまり、送信プロセス側のユーザ ID が同じでなければなりません。ただし、ワークステーション・クライアントには、この制限はありません。

注記 この方法を適用できないプラットフォームもあります。

NOTIFY および USIGNAL パラメータの特性

パラメータ

説明

NOTIFY

IGNORE は、クライアントが任意通知型メッセージを無視することを示します。

DIPIN は、クライアントが、tpchkunsol() を呼び出すとき、または ATMI 呼び出しを行うときにのみ任意通知型メッセージを受信することを示します。

SIGNAL は、クライアントがシグナルにより任意通知型メッセージを受信することを示します。

デフォルト値は DIPIN です。

例: NOTIFY SIGNAL

USIGNAL

SIGUSR1 および SIGUSR2 は、このタイプのシグナルでクライアントに通知することを示します。

デフォルト値は SIGUSR2 です。

例: USIGNAL SIGUSR1


 

 


コンフィギュレーション・ファイルの MACHINES セクションの作成方法

コンフィギュレーション・ファイルの 2 番目のセクションには、必ず MACHINES セクションを指定します。MACHINES セクションでは、アプリケーション内の各マシンに対するパラメータを定義します。これらのパラメータは、次の情報を指定します。

注記 UIDGIDPERMMAXACCESSERSMAXOBJECTSMAXCONV、および MAXGTT は、上書きできます。MAXGTT 以外のパラメータについては、RESOURCES セクションを参照してください。

次の表では、MACHINES セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。

MACHINES セクションで指定する情報

パラメータ (必須/オプション)

参照先 (クリックするとリンク先にジャンプ)

SECURITYACL または MANDATORY_ACL に設定されている場合のキャッシュ内の ACL 用エントリ数

MAXACLCACHE (オプション)

キャッシュ内の ACL 用エントリ

このマシンから別のマシンにサービス要求を送信するコストを計算するときに追加する負荷

NETLOAD (オプション)

負荷の追加

アドレス (物理プロセッサの名前) とコンピュータの論理名。ほかのすべてのエントリは、このアドレスに指定されたマシンに関する情報を指定します。コンピュータの論理名は、LMID パラメータで指定します。

LMID (必須)

アドレスおよびマシン ID

UNIX セマフォ上のプロセスをブロックするまでに実行する、ユーザ・レベルでの掲示板のロック回数

SPINCOUNT (オプション)

掲示板のロックの上限値

マシンをクラスにグループ化するときに使用する値

TYPE (オプション)

クラスごとのグループ化の値

バイナリ形式の TUXCONFIG ファイルが置かれているマシン上のファイルまたはデバイスの絶対パス名

注記 このパラメータに指定するパス名は、TUXCONFIG 環境変数に指定したパス名 (大文字小文字の区別も含む) と完全に一致しなければなりません。一致しない場合は、tmloadcf(1) を正しく実行できません。

TUXCONFIG (必須)

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

特定のマシン上のプロセスが同時に参加できる会話の最大数

MAXCONV (オプション)

会話数の上限値

このマシンの DTP トランザクション・ログのサイズ (ページ単位)

TLOGSIZE (オプション)

DTP TLOG のサイズ

このマシンの DTP トランザクション・ログの名前

TLOGNAME (オプション)

DTP トランザクション・ログの名前

マシン上のすべてのクライアントとサーバを、指定したファイルの環境で実行する値

ENVFILE (オプション)

環境変数の設定

このマシンの DTP トランザクション・ログ (TLOG) を格納する BEA Tuxedo のファイルシステム

TLOGDEVICE (オプション)

TLOGを格納するファイルシステム

このプロセッサ上で、掲示板に同時にアクセスできるプロセスの最大数

MAXACCESSERS (オプション)

IPC 資源の上限値

CORBA 環境で、このプロセッサのアクティブ・オブジェクト・テーブルに同時に対応できる CORBA オブジェクトの最大数

MAXOBJECTS (オプション)

IPC 資源の上限値

特定のマシンが同時に関与できるグローバル・トランザクションの最大数

MAXGTT (オプション)

同時に関与できるグローバル・トランザクションの上限値

ワークステーション・クライアント用に予約されている、このプロセッサのアクセサのエントリ数。このパラメータは、BEA Tuxedo システムのワークステーション・コンポーネントが使用される場合のみ指定されます。

MAXWSCLIENTS (オプション)

ワークステーション・アクセサのエントリの上限値

ブリッジ・プロセスで送信されるのを待つメッセージに対して割り当てられる領域の上限

MAXPENDINGBYTES (オプション)

メッセージ領域の制限

デバイスの先頭から BEA Tuxedo ファイルシステムの開始点 (このマシンの DTP トランザクション・ログを格納) までのページ単位の数値のオフセット

TLOGOFFSET (オプション)

DTP TLOG を含む数値のオフセット

デバイスの先頭から BEA Tuxedo ファイルシステムの開始点 (このマシンの TUXCONFIG ファイルを格納) までのページ単位の数値のオフセット

TUXOFFSET (オプション)

TUXCONFIG を含む数値のオフセット

掲示板用に作成された IPC 構造体に関連付けるグループ ID の数値。有効な値は 0 〜 2147483647 です。値を指定しない場合、デフォルトで RESOURCES セクションの値が指定されます。

GID (オプション)

セキュリティ・アクセス

掲示板をインプリメントする IPC 構造体に関連付けるパーミッションを示す数値。このパラメータは、通常の UNIX システムの規則に従って (8 進数の 0600 など)、プロセスの読み取り権または書き込み権を指定します。値は 0001 以上 0777 以下の範囲で指定できます。値を指定しない場合、デフォルトで RESOURCES セクションの値が指定されます。

PERM (オプション)

セキュリティ・アクセス

掲示板用に作成された IPC 構造体に関連付けるユーザ ID の数値。有効な値は 0 〜 2147483647 です。値を指定しない場合、デフォルトで RESOURCES セクションの値が指定されます。

UID (オプション)

セキュリティ・アクセス

ID 確認のためのプロセスのプリンシパル名、プリンシパル・ユーザの秘密鍵の場所、およびパスワードを格納する環境変数

SEC_PRINCIPAL_NAMESEC_PRINCIPAL_LOCATIONSEC_PRINCIPAL_PASSVAR

セキュリティ属性

アプリケーション・ディレクトリ (APPDIR) の絶対パス名。このディレクトリは、このマシンで起動するすべてのアプリケーションおよび管理サーバのカレント・ディレクトリになります。また、BEA Tuxedo システム・ソフトウェアのインストール先ディレクトリの絶対パス名でもあります。

TUXDIR (必須)

システム・ソフトウェアおよびアプリケーション・ソフトウェアのロケーション

リモート・プロセス (string_value1) およびローカル・プロセス (string_value2) に送信される、自動圧縮の対象となるメッセージのしきい値。このしきい値を超えると、メッセージは圧縮されます。

CMPLIMIT (オプション)

メッセージ・サイズのしきい値

このマシンの userlog(3c) メッセージ・ファイル名の接頭辞として使用される絶対パス名。

ULOGPFX (オプション)

ULOG のパス名


 

MACHINES セクションの例

以下は、ATMI 環境のコンフィギュレーション・ファイルの MACHINES セクションの例です。

*MACHINES
gumby LMID=SITE1
TUXDIR=”/tuxdir”
APPDIR=”/home/apps/mortgage”
TUXCONFIG=”/home/apps/mortgage/tuxconfig”
ENVFILE=”/home/apps/mortgage/ENVFILE”
ULOGPFX=”/home/apps/mortgage/logs/ULOG”
MAXACCESSERS=100
MAXCONV=15

以下は、CORBA 環境のコンフィギュレーション・ファイルの MACHINES セクションの例です。

*MACHINES
gumby LMID=SITE1
TUXDIR=”/tuxdir”
APPDIR=”/home/apps/mortgage”
TUXCONFIG=”/home/apps/mortgage/tuxconfig”
ENVFILE=”/home/apps/mortgage/ENVFILE”
MAXOBJECTS=700
ULOGPFX=”/home/apps/mortgage/logs/ULOG”
MAXACCESSERS=100

MACHINES セクションの例のパラメータ

上の MACHINES セクションの例では、以下のパラメータと値が指定されています。

パラメータ

説明

gumby

UNIX システムで uname -n コマンドを実行すると返されるマシン名。Windows 2000 システムの場合は、[コントロール パネル] の [ネットワーク] にある [コンピュータ名] で指定します。名前はすべて大文字で指定します。

LMID=SITE1

マシン gumby の論理マシン識別子。

TUXDIR

インストールされている BEA Tuxedo ソフトウェアへの絶対パス。二重引用符で囲みます。

APPDIR

アプリケーション・ディレクトリへの絶対パス。二重引用符で囲みます。

TUXCONFIG

コンフィギュレーション・ファイルの絶対パス名。二重引用符で囲みます。

注記 このパラメータに指定するパス名は、TUXCONFIG 環境変数に指定したパス名 (大文字小文字の区別も含む) と完全に一致しなければなりません。パス名が一致していない場合、tmloadcf(1) は正常に実行されません。

ENVFILE

環境情報を含むファイルの絶対パス名。二重引用符で囲みます。

ULOGPFX

ログ・ファイルの接頭辞として使用する名前の絶対パス名。二重引用符で囲みます。

MAXACCESSERS

このマシンに対し、システム全体にわたる値 (RESOURCES セクションで定義済み) を 100 に上書きします。

MAXOBJECTS

CORBA サンプルで使用。このマシンに対し、システム全体にわたる値 (RESOURCES セクションで定義済み) を 700 に上書きします。

MAXCONV

このマシンに対し、システム全体にわたる値 (RESOURCES セクションで定義済み) を 15 に上書きします。


 

MACHINES セクションの例のカスタマイズ方法

MACHINES セクションをカスタマイズするには、以下を指定します。

注記 Windows 2000 システムの場合、マシン名は大文字で指定する必要があります。

関連項目

 


キャッシュ内の ACL 用エントリの最大数を指定する

SECURITYACL または MANDATORY_ACL に設定されている場合は、MAXACLCACHE パラメータを使用して、キャッシュ内の ACL 用エントリの数を指定できます。このパラメータに適切な値を設定すると、以下のことを実現できます。

値には、10 〜 30,000 を指定します。デフォルト値は 100 です。

 


サービス要求の負荷を定義する

NETLOAD パラメータを使用すると、1 つのマシンから別のマシンへサービス要求を送信するときにかかるコストを計算する際に追加する負荷を指定できます。値には、0 以上 32,768 未満を指定します。デフォルト値は 0 です。

関連項目

 


物理アドレスとマシン ID を予約する

まず、アドレスを指定する箇所に、MASTER マシンのアドレスを定義します。これが、MACHINES セクションのエントリの基本となります。エントリ内のその他のすべてのパラメータは、このアドレスで指定されたマシンに関する情報を指定します。UNIX システムの場合は、uname -n コマンドを呼び出し、出力された値にアドレスを設定します。Windows 2000 システムの場合は、[コントロール パネル] の [ネットワーク] にある [コンピュータ名] を参照してください。

LMID パラメータは必須パラメータです。このパラメータは、アドレスを指定したばかりのコンピュータを示す論理名を指定します。論理名には、アプリケーション内のマシン間で一意な英数字を指定します。

アドレスと LMID パラメータの特性

アドレスおよびマシン ID には、以下の特性があります。

 


ロック・スピンの回数を設定する

BEA Tuxedo システムの一部の操作 (サービス名のルックアップやトランザクションなど) では、掲示板をロックし、掲示板へのアクセスを 1 つのプロセスだけに制限する場合があります。プロセスまたはスレッドの処理中に、別のプロセスまたはスレッドによって掲示板がロックされていることがわかると、その処理は再試行されるか、または SPINCOUNT で指定された回数のロック・スピンが行われます。指定された回数のロック・スピンが行われた後、処理はキューでスリープ状態になります。スリープ状態は資源を消費するため、一定のロック・スピンを行ってからスリープ状態になるように設定しておく方が効率的です。

SPINCOUNT パラメータの特性

SPINCOUNT パラメータの値は、アプリケーションおよびシステムによって異なりますが、以下の基本的なガイドラインを覚えておくと便利です。

 


マシンをタイプ別に指定する

TYPE パラメータを使用すると、マシンをクラスごとにグループ化できます。TYPE には、15 文字以下の任意の文字列を設定できます。

TYPE パラメータの特性

 


コンフィギュレーション・ファイルのロケーションを識別する

コンフィギュレーション・ファイルのロケーションおよびマシンを識別するエントリ・ファイル名を指定するには、必須パラメータの TUXCONFIG を設定します。TUXCONFIG パラメータには、最大 64 文字までの絶対パス名を指定し、値は二重引用符で囲みます。

注記 このパラメータに指定するパス名は、TUXCONFIG 環境変数に指定したパス名 (大文字小文字の区別も含む) と完全に一致しなければなりません。パス名が一致していない場合、tmloadcf(1) は正常に実行されません。

TUXCONFIG パラメータの特性

TUXCONFIG パラメータには、以下の特性があります。

 


DTP トランザクション・ログのサイズを指定する

TLOGSIZE パラメータは、このマシンの DTP トランザクション・ログのサイズをページ単位で指定します。オペレーティング・システムのファイルシステム上の空き容量に応じ、0 より大きく 2048 以下の値を指定します。デフォルトは 100 ページです。

 


DTP トランザクション・ログの名前を定義する

TLOGNAME パラメータは、このマシンの DTP トランザクション・ログの名前を定義します。デフォルト値は、TLOG です。1 つの TLOGDEVICE に複数の TLOG がある場合、各 TLOG の名前は一意でなければなりません。TLOGNAME には、TLOG テーブルの作成先である TLOGDEVICEVTOC (ボリューム一覧) 内のテーブル名とは異なる名前を指定する必要があります。TLOGNAME には、30 文字以下の英数字を指定します。

 


環境変数の設定を指定する

ENVFILE パラメータを使用すると、BEA Tuxedo システムが起動するすべてのプロセスに対する環境変数を格納したファイルを指定できます。各プロセスの TUXDIR および APPDIR は、システム側で設定されます。したがって、これらのパラメータはファイル内で指定しないでください。

ただし、アプリケーション操作に関連する次のパラメータについては、環境設定を指定できます。

ENVFILE パラメータの特性

ENVFILE は、以下の特性を持つオプション・パラメータです。

環境変数の設定の詳細については、『BEA Tuxedo のファイル形式とデータ記述方法』の tuxenv(5) を参照してください。

 


TLOG を含む BEA Tuxedo ファイルシステムを定義する

TLOGDEVICE パラメータは、該当するマシンの DTP トランザクション・ログ (TLOG) を含む BEA Tuxedo のファイルシステムを指定します。TLOG は、BEA Tuxedo システムの VTOC テーブルとしてデバイスに格納されています。TLOGDEVICE の値は、64 文字以下の文字列でなければなりません。

このパラメータを指定しない場合、そのマシンには TLOG がないものと見なされます。

 


マシンで同時に実行できるグローバル・トランザクションの最大数を指定する

MAXGTT パラメータは、特定のマシンが同時に関与できるグローバル・トランザクションの最大数を指定します。このパラメータには、0 以上 32,768 未満の値を指定します。RESOURCES セクションで指定した値は、MACHINES セクションでマシンごとに上書きできます。

 


ワークステーション・クライアントのアクセサ・エントリ数を定義する

MAXWSCLIENTS パラメータは、ワークステーション・クライアント用に確保しておくマシン上のエントリ数を定義します。MAXWSCLIENTS 用に確保しておくアクセサ・スロットの数は、慎重に設定してください。この値は、このマシンの MAXACCESSERS で指定したアクセサ総数のうちの一部になります。このマシンのほかのクライアントやサーバは、MAXWSCLIENTS 用に確保されたアクセサ・スロットを使用できません。ワークステーション・クライアントからシステムへのアクセスは、BEA Tuxedo システムに組み込まれている代理プロセス、つまり BEA Tuxedo ワークステーション・ハンドラ (WSH) によって多重化されます。そのため、このパラメータを適切に設定すると、IPC 資源を節約できます。

MAXWSCLIENTS には、0 以上 32,768 未満の値を指定します。値を指定しない場合は、デフォルト値の 0 が設定されます。この値を MAXACCESSERS の値より大きい値に設定すると、エラーが返されます。

注記 MAXWSCLIENTS の値は、ライセンス供与されているユーザ数によって制限されます。

 


BRIDGE 経由で送信されるメッセージ用の領域を定義する

MAXPENDINGBYTES パラメータは、BRIDGE プロセスによる送信を待機するメッセージに割り当てる領域の制限を定義します。値には、100,000 から MAXLONG までの値を指定します。

MAXPENDINGBYTES が重要になるのは、以下の 2 つの状況です。

メモリおよびディスク領域のサイズが大きい大型コンピュータの場合は MAXPENDINGBYTES の値を大きくし、小型のコンピュータの場合は MAXPENDINGBYTES の値を小さくします。

 


DTP トランザクション・ログのオフセットを指定する

どの BEA Tuxedo ファイルシステムにもボリューム一覧 (VTOC: Volume Table of Contents) があります。これは、汎用デバイス・リスト (UDL: Universal Device List) で指定されたデバイス上のファイルの一覧です。UDL には、BEA Tuxedo システム・テーブルの物理的な格納位置が指定されています。BEA Tuxedo システムのアプリケーションでは、すべてのシステム・ファイルを同じ raw ディスクやオペレーティング・システムのファイルシステム上に格納することができます。

TLOGOFFSET パラメータは、このマシンのデバイスの先頭から BEA Tuxedo ファイルシステムの開始点 (このマシンの DTP トランザクション・ログを格納) までのオフセットをページ単位で指定します。オフセットには、0 以上でデバイス上のページ数より小さい値を指定します。デフォルト値は 0 です。

 


TUXCONFIG のオフセットを定義する

どの BEA Tuxedo ファイルシステムにもボリューム一覧 (VTOC: Volume Table of Contents) があります。これは、汎用デバイス・リスト (UDL: Universal Device List) で指定されたデバイス上のファイルの一覧です。UDL には、BEA Tuxedo システム・テーブルの物理的な格納位置が指定されています。BEA Tuxedo システムのアプリケーションでは、すべてのシステム・ファイルを同じ raw ディスクやオペレーティング・システムのファイルシステム上に格納することができます。

TUXOFFSET パラメータは、このマシンのデバイスの先頭から BEA Tuxedo ファイルシステムの開始点 (このマシンの TUXCONFIG を格納) までのオフセットをページ単位で定義します。この値が環境でどのように使用されるかについては、MACHINES セクションの ENVFILE を参照してください。

TUXOFFSET パラメータの特性

 


システム・ソフトウェアおよびアプリケーション・サーバ・ソフトウェアのロケーションを識別する

サーバをサポートするアプリケーション内の各マシンは、BEA Tuxedo システム・ソフトウェアおよびアプリケーション・サーバのコピーを備えている必要があります。システム・ソフトウェアのロケーションは、TUXDIR パラメータで指定します。アプリケーション・ソフトウェアのロケーションは、APPDIR パラメータで指定します。どちらも必須パラメータです。APPDIR パラメータで指定したディレクトリは、すべてのプロセスの現在の作業ディレクトリになります。BEA Tuxedo ソフトウェアは、TUXDIR/bin および APPDIR 内で実行可能ファイルを検索します。

APPDIR および TUXDIR パラメータの特性

パラメータ

説明

APPDIR

構文は、APPDIR=APPDIR” の形式で指定し、絶対パス名を二重引用符で囲んで示します。

APPDIR は、アプリケーション・ソフトウェアのロケーションを示します。

APPDIR は必須パラメータです。

APPDIR は、サーバ・プロセスの現在の作業ディレクトリになります。

TUXDIR

構文は、TUXDIR=TUXDIR” の形式で指定し、絶対パス名を二重引用符で囲んで示します。

TUXDIR は、BEA Tuxedo ソフトウェアのロケーションを示します。

TUXDIR は必須パラメータです。


 

 


圧縮するメッセージのしきい値を指定する

CMPLIMIT パラメータは、リモート・プロセス (string_value1) およびローカル・プロセス (string_value2) に送信される、自動圧縮の対象となるメッセージのしきい値を定義します。このしきい値を超えると、メッセージは圧縮されます。

どちらの値も、負以外の整数または文字列 MAXLONG でなければなりません。値を指定しない場合は、デフォルトの MAXLONG,MAXLONG が指定されます。

注記 CMPLIMIT の値を設定した後で、アプリケーションのスループットを確認します。CMPLIMIT の値は TMIB を使用してシステムの実行中に調整できます。

CMPLIMIT=string_value1,string_value2

 


ULOG のパス名を指定する

ULOGPFX パラメータを設定すると、マシン上の userlog(3c) メッセージ・ファイルの接頭辞として使用する名前の絶対パス名を指定できます。指定したマシンの ULOGPFX の値は、このマシン上で実行されるすべてのサーバ、クライアント、および管理プロセスに関する userlog(3c) メッセージ・ファイルを作成するために使用されます。このパラメータが指定されない場合、APPDIR 環境変数で指定されたパスが使用されます。mmddyy (月、日、年) が接頭辞に追加されると、完全なログ・ファイル名になります。

ULOGPFX パラメータの特性

ULOGPFX パラメータには、以下の特性があります。

関連項目

 


コンフィギュレーション・ファイルの GROUPS セクションの作成方法

GROUPS セクションでは、複数のサーバを論理的にグループ化することができます。グループ化したサーバを使用すると、リソース・マネージャにアクセスしたり、サーバ・グループの移行を簡単に行うことができます。コンフィギュレーション・ファイルの GROUPS セクションでは、サーバ・グループが定義されています。アプリケーション・サーバをマシン上で実行するには、マシンに対して少なくとも 1 つのサーバ・グループを定義する必要があります。ただし、マシンに対してサーバ・グループが定義されていなくても、アプリケーションの一部にグループを含め、そのサイトから管理コマンド tmadmin(1) を実行できます。

トランザクションに関与しない非分散型のシステムでは、グループのコンフィギュレーションは比較的単純です。各グループに対して、グループ名をグループ番号および論理マシン ID にマッピングするだけです。分散トランザクション・システムをサポートする柔軟性も備えられています。

次の表では、GROUPS セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。

GROUPS セクションで指定する情報

パラメータ (必須/オプション)

参照先 (クリックするとリンク先にジャンプ)

グループの論理名

GROUPNAME (必須)

グループ名。

このサーバ・グループに関連付けられたグループ番号0 より大きく、30000 未満の番号を指定します。番号は、GROUPS セクションのすべてのエントリの中で一意でなければなりません。

GRPNO (必須)

グループ番号

リソース・マネージャをクローズするときに必要な、リソース・マネージャに依存する情報

CLOSEINFO (オプション)

リソース・マネージャをクローズするための情報

リソース・マネージャをオープンするときに必要な、リソース・マネージャに依存する情報

OPENINFO (オプション)

リソース・マネージャをオープンする情報

TMSNAME が指定されている場合に、関連するグループに対して起動するトランザクション・マネージャ・サーバの数

TMSCOUNT (オプション)

グループ内の TM サーバの数

ID 確認のためのプロセスのプリンシパル名、プリンシパル・ユーザの秘密鍵の場所、およびパスワードを格納する環境変数

SEC_PRINCIPAL_NAMESEC_PRINCIPAL_LOCATIONSEC_PRINCIPAL_PASSVAR

セキュリティ属性

グループ内のすべてのサーバを、指定したファイルの環境で実行する値

ENVFILE (オプション)

サーバ・グループ環境

このサーバ・グループが MACHINES セクションの string_value1 でシンボリックに指定されているマシン上、または、SHM モードのデフォルトの値に存在することを示す値

LMID (必須)

サーバ・グループのロケーション

このグループに関連付けられているトランザクション・マネージャ・サーバの名前。

TMSNAME (オプション)

グループのトランザクション・マネージャ・サーバ


 

ATMI の GROUPS セクションの例

以下は、ATMI 環境のコンフィギュレーション・ファイルの GROUPS セクションの例です。

##EVBGRP1 LMID=SITE1      GRPNO=104
DEFAULT:TMSNAME=TMS_SQL TMSCOUNT=2 LMID=SITE1
BANKB1GRPNO=1 OPENINFO="TUXEDO/SQL:APPDIR1/bankdl1:bankdb:readwrite"
BANKB2GRPNO=2 OPENINFO="TUXEDO/SQL:APPDIR1/bankdl2:bankdb:readwrite"
BANKB3GRPNO=3 OPENINFO="TUXEDO/SQL:APPDIR1/bankdl3:bankdb:readwrite"

CORBA 環境の GROUPS セクションの例

以下は、Tuxedo CORBA University の Production サンプル・アプリケーションの UBBCONFIG ファイルにある、GROUPS セクションの例です。この例では、UBBCONFIG ファイルの ROUTING セクションにある RANGES 識別子で指定されたグループを識別し、設定する必要があります。

Production サンプルでは、ORA_GRP1、ORA_GRP2、APP_GRP1、 および APP_GRP2 の 4 つのグループが指定されています。ここでは、これらのグループを設定し、実行するマシンを識別しなければなりません。

*GROUPS

APP_GRP1
LMID = SITE1
GRPNO = 2
TMSNAME = TMS

APP_GRP2
LMID = SITE1
GRPNO = 3
TMSNAME = TMS

ORA_GRP1
LMID = SITE1
GRPNO = 4
OPENINFO = "ORACLE_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=100+LogDir=.+MaxCur=5"
   CLOSEINFO = ""
TMSNAME = "TMS_ORA"

ORA_GRP2
LMID = SITE1
GRPNO = 5
OPENINFO = "ORACLE_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=100+LogDir=.+MaxCur=5"
CLOSEINFO = ""
TMSNAME = "TMS_ORA"

上の例は、ORA_GRP1、ORA_GRP2、APP_GRP1、 および APP_GRP2 グループの設定方法を示しています。GROUPS セクションのグループ名と、ROUTING セクションで指定されたグループ名の対応については、 3-123 ページの「University Production サンプル・アプリケーションのCORBA ファクトリ・ベース・ルーティング」を参照してください。ルーティング機能を正しく動作するには、両方のグループ名を一致させる必要があります。また、アプリケーションでグループを設定する際にグループ名を変更した場合は、ROUTING セクションにも反映しなければなりません。

注記 BEA Tuxedo ソフトウェアに収録されている Production サンプル・アプリケーションは、1 台のマシンで実行するように設定されていますが、LMID パラメータでほかのマシンを指定することにより、複数のマシンで実行するように設定することもできます。この方法は、RESOURCES セクションで MODEL MP パラメータが指定されていることを前提としています。

関連項目

 


グループ名、グループ番号、および LMID を指定する

GROUPS セクションの基本であるグループ名は、グループを識別する名前であり、英数字で指定します。グループ名により、グループの論理名 (string_value) が決まります。各グループには、一意なグループ番号 (GRPNO) が指定されます。これは、必須パラメータです。各グループは、すべて 1 つの論理マシン (LMID) 上に常駐する必要があります。

LMID は、このサーバ・グループが MACHINES セクションの string_value1 というシンボリック名で指定されているマシンに存在することを示します。

グループ名、グループ番号、および LMID の特性

パラメータ

説明

Group_name required_ parameters [optional_ parameters]

必須パラメータです。

グループを識別する英数字名です。

一意であり、グループの論理名を指定します。

GRPNO (グループ番号)

必須パラメータであり、一意。

LMID=string_value1 [,string_value2]

必須パラメータです。

LMID 値には、30 文字以下の英数文字列を指定します。

論理マシン名は 2 つまで指定できます。2 つ目の論理名が指定され、サーバ・グループが移行できる場合、サーバ・グループが関連付けられているマシンは移行できます。


 

関連項目

 


TMS の名前および各グループの TMS の数を指定する

分散トランザクション、つまり、複数のリソース・マネージャまたはマシンにわたるトランザクションに参加するサーバを含むサーバ・グループのエントリには、トランザクション・マネージャ・サーバ (TMS: Transaction Manager Server) を指定する必要があります。TMS を指定するには、TMSNAME パラメータを設定します。このパラメータは、サーバ・グループの起動時に tmboot(1) が実行するファイル (string_value) を指定します。

値「TMS」は、ヌル XA インターフェイスの使用を示すために予約されています。このインターフェイスは、リソース・マネージャのないサーバ・グループ用に使用できます。ただし、リソース・マネージャがない場合は、TMS も必要ありません。このサーバ・グループは、トランザクションに関与するメッセージの影響を受けます。「TMS」以外で、さらに空ではない値が指定された場合は、このエントリの LMID 値に関連するマシンに対して、TLOGDEVICE を指定する必要があります。各 TM サーバには、一意なサーバ識別子が自動的に割り当てられます。サーバは何度でも再起動できます。

TMSNAME が指定されている場合は、TMSCOUNT=number も指定し、関連するサーバ・グループ用の TMS の数を設定する必要があります。TMSCOUNT のデフォルト値は 3 です。このパラメータに 0 以外の値を指定する場合、指定できる最小値は 2、最大値は 256 です。サーバは、自動的に MSSQ セットに設定されます。

 


グループ内のサーバの環境ファイルの場所を識別する

ENVFILE 環境変数 (ENVFILE=string_value) に不正なファイル名が指定された場合、環境には何も値が設定されません。環境ファイルの各行は、ident=value の形式で指定します。ident は下線 (_) または英数字で構成します。

value 内の ${env} という形式の文字列は、ファイルの処理時に、環境内の既存の変数を使用して展開されます。前方参照はサポートされていません。値が設定されていない場合、変数は空の文字列に置換されます。バックスラッシュ (¥) を使用すると、ドル記号 ($) およびバックスラッシュ自体をエスケープできます。その他のシェルのクォーテーションおよびエスケープのメカニズムは無視され、展開された value がそのまま環境に組み込まれます。

環境ファイルは、コンフィギュレーション・ファイル内の少なくとも 2 つのセクションに用意されています。BEA Tuxedo システムでは、次の順序で環境ファイルが読み取られます。

  1. MACHINES セクションの ENVFILE

  2. GROUPS セクションの ENVFILE

  3. SERVERS セクションの ENVFILE (オプション)

SERVERS セクションの値は、GROUPS セクションの値を上書きします。GROUPS セクションの値は、MACHINES セクションの値を上書きします。

 


リソース・マネージャをオープンおよびクローズするときに必要な情報を定義する

OPENINFO および CLOSEINFO パラメータには、256 以下の英数字で構成する文字列を二重引用符で囲んで指定します。これらの設定は、このグループ (グループ名) のリソース・マネージャをオープンおよびクローズするときに必要な、リソース・マネージャに依存する情報を指定します。

このグループの TMSNAME パラメータが設定されていないか、または TMS が設定されている場合、この値は無視されます。TMSNAME パラメータに TMS 以外の値が設定されているが、OPENINFO 文字列にヌル文字列 ("") が設定されているか、または何も設定されていない場合は、このグループ用のリソース・マネージャは存在するが、open 操作を実行するための情報は不要であることを示します。TMSNAME パラメータに TMS 以外の値が設定されているが、CLOSEINFO 文字列にヌル文字列 ("") が設定されているか、または何も設定されていない場合は、このグループ用のリソース・マネージャは存在するが、close 操作を実行するための情報は不要であることを示します。

OPENINFO 文字列の形式は、基となるリソース・マネージャのベンダごとに異なります。ベンダ固有の情報の先頭には、トランザクション・インターフェイス (XA インターフェイス) の公開名とコロン (:) が付きます。

たとえば、BEA Tuxedo /Q データベースの場合、OPENINFO は次のような形式になります。

上記の設定では、TUXEDO/QM が BEA Tuxedo /Q XA インターフェイスの公開名です。qmconfig は、キュー・スペースを設定する QMCONFIG (『BEA Tuxedo コマンド・リファレンス』の qmadmin(1) を参照) の名前です。qspace はキュー・スペースの名前です。Windows 2000 では、qmconfig の後に指定する区切り文字として、セミコロン (;) を使用します。

注記 BEA Tuxedo /Q データベースでは、CLOSEINFO 文字列は使用されません。

その他のベンダのデータベースでは、OPENINFO 文字列の形式は、基となるリソース・マネージャのベンダごとに異なります。たとえば、次の OPENINFO 文字列は、Oracle のリソース・マネージャをオープンするときに必要な情報を示します。

OPENINFO="Oracle_XA:Oracle_XA+Acc=P/Scott/*****+SesTm=30+LogDit=/tmp"

Oracle_XA は、Oracle XA インターフェイスの公開名です。OPENINFO 文字列内の 5 つの連続するアスタリスク (*) は、暗号化されたパスワードを示します。次に、パスワードについて説明します。

リソース・マネージャに渡される OPENINFO 文字列内のパスワードは、平文または暗号化された形式で格納されます。パスワードを暗号化するには、まず、OPENINFO 文字列内のパスワードが必要な場所に、5 つ以上の連続するアスタリスクを入れます。次に、tmloadcf(1) コマンドを実行して、UBBCONFIG ファイルをロードします。tmloadcf() は、アスタリスクの文字列を検出すると、パスワードの作成をユーザに要求します。次に例を示します。

tmloadcf -y /usr5/apps/bankapp/myubbconfig
Password for OPENINFO (SRVGRP=BANKB3):
password

tmloadcf() は、暗号化したパスワードを TUXCONFIG ファイルに格納します。tmunloadcf(1) を使用して TUXCONFIG ファイルから UBBCONFIG ファイルを再び生成すると、パスワードは、暗号化された形式 (@@ で区切られる) で UBBCONFIG ファイルに出力されます。次に例を示します。

OPENINFO="Oracle_XA:Oracle_XA+Acc=P/Scott/@@A0986F7733D4@@+SesTm=30+LogDit=/tmp"

tmloadcf() の実行時に、tmunloadcf() によって生成された UBBCONFIG ファイル内で暗号化されたパスワードが検出されても、ユーザに対してパスワードの作成は要求されません。

 


コンフィギュレーション・ファイルの NETWORK セクションの作成方法

分散アプリケーションが複数のマシンで構成されている場合は、コンフィギュレーション・ファイルに NETWORK セクションを作成する必要があります。このセクションは、マシン間の通信を設定します。ネットワーク・グループを作成するには、アプリケーションの UBBCONFIG ファイルで、NETGROUPS セクションおよび NETWORK セクションを設定します。

次の表では、NETWORK セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。

NETWORK セクションで指定する情報

パラメータ (必須/オプション)

参照先 (クリックするとリンク先にジャンプ)

LMID 上に置かれた BRIDGE プロセスがネットワークにアクセスするのに使用するデバイス名

BRIDGE (オプション)

BRIDGE デバイス名

BRIDGE プロセスで使用される完全なネットワーク・アドレス (LMID の接続指示受け付けアドレス)

NADDR (必須)

BRIDGE ネットワーク・アドレス

このマシンに対してネットワーク・リンクを確立するときに必要な最低限の暗号化レベル

MINENCRYPTBITS (オプション)

暗号化レベル

ネットワーク・リンクを確立するときに実行できる最高の暗号化レベル

MAXENCRYPTBITS (オプション)

暗号化レベル

このネットワーク・エントリに関連付けられたネットワーク・グループ指定しない場合、デフォルト値は DEFAULTNET と見なされます。DEFAULTNET が設定されない場合、NETGROUPS セクションで指定したグループ名をこのパラメータに定義する必要があります。

NETGROUP (オプション)

ネットワーク・グループ

LMID が指定するノード上でネットワークにサービスを提供する tlisten(1) プロセス用のネットワーク・アドレス

NLSADDR (オプション)

tlisten ネットワーク・アドレス


 

NETWORK セクションの例

以下は、2 サイトを含むコンフィギュレーション・ファイルの NETWORK セクションの例です。

   *NETWORK
SITE1 NADDR="//mach1:80952"
NLSADDR="//mach1:serve"
# SITE2 NADDR="//mach386:80952"
NLSADDR="//mach386:serve"

関連項目

 


BRIDGE プロセス用のデバイス名を指定する

LMID 上に置かれた BRIDGE プロセスで使用するデバイス名を指定し、ネットワークにアクセスするには、BRIDGE パラメータを次のように設定します。

BRIDGE=string_value

TCP/IP を使用する場合は、BRIDGE にデバイス名を指定する必要はありません。

ネットワーク・トランスポートのエンドポイント・ファイルのパス名は、次の形式で指定します。

/dev/provider_name

 


BRIDGE のネットワーク・アドレスを割り当てる

LMID の接続指示受け付けアドレスとして、LMID 上に置かれている BRIDGE プロセスで使用する完全なネットワーク・アドレスを指定するには、NADDR パラメータを次のように設定します。

NADDR = string_value

BRIDGE の接続指示受け付けアドレスは、アプリケーションの別の BRIDGE プロセスがその BRIDGE プロセスにアクセスするロケーションです。

BRIDGE の接続指示受け付けアドレスは、次の 3 つのうち、いずれかの形式で指定できます。

最初の形式では、host.name は、アドレスがバインドされるときに TCP/IP のアドレスに解決されます。この形式は、オペレーティング・システムのコマンドによる、ローカル名の解決機能に基づいています。 port_number には、シンボリック名または 10 進数を指定します。

2 番目の形式の文字列 #.#.#.# は、ドット区切りの 4 つの 10 進数 (0 〜 255 を指定) を示します。port_number は、0 〜 65,535 の 10 進数です (指定された文字列の 16 進表現)。 port_number には、シンボリック名または 10 進数を指定します。

3 番目の形式の文字列 0xhex-digits または ¥¥xhex-digits には、有効な 16 進数の偶数を含めます。2 つのうち、どちらかの形式で表現された文字列は、内部で TCP/IP アドレスを含む文字配列に変換されます。

注記 プラットフォームによっては、システム側で、上記より小さい数値が予約されている場合があります。

 


暗号化レベルを割り当てる

このマシンに対してネットワーク・リンクを確立するときに必要な暗号化の最低レベルを設定するには、MINENCRYPTBITS パラメータを設定します。有効な値は、0、56、および 128 です。0 は暗号化を行わないことを示し、56 および 128 は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルト値は 0 です。

ネットワーク・リンクを確立するときの暗号化の最大レベルを設定するには、MAXENCRYPTBITS パラメータを設定します。有効な値は、0、56、および 128 です。0 は暗号化を行わないことを示し、56 および 128 は暗号化キーの長さをビット単位で指定します。デフォルト値は 128 です。

MAXENCRYPTBITS=128
MINENCRYPTBITS=0

関連項目

 


tlisten のネットワーク・アドレスを割り当てる

LMID が指定するマシン上でネットワークにサービスを提供する tlisten(1) プロセス用のネットワーク・アドレスを指定するには、NLSADDR パラメータを次のように指定します。

NLSADDR=string_value

string には、NADDR パラメータと同じ形式でネットワーク・アドレスを指定します。

NLSADDRtlisten アドレスは、次の 3 つのうち、いずれかの形式で指定できます。

最初の形式では、host.name は、アドレスがバインドされるときに TCP/IP のアドレスに解決されます。この形式は、オペレーティング・システムのコマンドによる、ローカル名の解決機能に基づいています。 port_number には、シンボリック名または 10 進数を指定します。

2 番目の形式の文字列 #.#.#.# は、ドット区切りの 4 つの 10 進数 (0 〜 255 を指定) を示します。port_number は、0 〜 65,535 の 10 進数です (指定された文字列の 16 進表現)。 port_number には、シンボリック名または 10 進数を指定します。

3 番目の形式の文字列 0xhex-digits または ¥¥xhex-digits には、有効な 16 進数の偶数を含めます。2 つのうち、どちらかの形式で表現された文字列は、内部で TCP/IP アドレスを含む文字配列に変換されます。

NLSADDRMASTER LMID 以外のマシンのエントリにない場合、tmloadcf(1) はエラーを出力します。NLSADDRMASTER LMID エントリにない場合、tmadmin(1) をリモート・マシンから管理者モードで実行することはできません。可能な処理は、読み取り専用の操作だけです。これは、MASTER サイトで障害が発生しても、バックアップ・サイトから再起動できないことも意味します。

 


コンフィギュレーション・ファイルの NETGROUPS セクションの作成方法

UBBCONFIG ファイルの NETGROUPS セクションでは、LAN 環境で使用可能なネットワーク・グループの情報を設定します。1 組のマシンに割り当てるネットワーク・グループの数に制限はありません。ネットワーク・グループを構成する各ネットワークの通信方式は、優先順位のメカニズム (NETPRIO) によって決まります。

すべての LMID は、デフォルトのネットワーク・グループ (DEFAULTNET) のメンバでなければなりません。デフォルトのネットワーク・グループのグループ番号 (NETGRPNO) は、0 です。ただし、DEFAULTNET に設定されているデフォルトの優先順位は変更できます。リリース 6.4 より前の BEA Tuxedo システムで定義されているネットワークは、DEFAULTNET ネットワーク・グループに割り当てられています。

次の表では、NETGROUPS セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。

NETGROUPS セクションで指定する情報 (オプション)

パラメータ (必須/オプション)

参照先 (クリックするとリンク先にジャンプ)

デフォルトのネットグループ数 (8) 以上のグループを定義します。この値は、RESOURCES セクションで指定されています。

MAXNETGROUPS (オプション)

ネットグループの最大数

ネットワークが使用可能になるのを待つデータの最大サイズ。この値は、MACHINES セクションで指定されています。

MAXPENDINGBYTES (オプション)

メッセージ領域の制限

このネットワーク・エントリに関連付けられたネットワーク・グループ

NETGROUP (必須)

ネットワーク・グループ名

フェイルオーバーおよびフェイルバック用に割り当てる必要のある一意のネットワーク・グループ番号

NETGRPNO (必須)

ネットワーク・グループ番号

このネットワーク・グループの優先順位

NETPRIO (オプション)

ネットワーク・グループの優先順位


 

ネットワーク・グループ構成の例

ネットワーク・アドレスは、ネットワーク・グループに関連付けられます。この機能の例を以下に示します。

たとえば、First State Bank には 5 台のマシン (A 〜 E) で構成されるネットワークがあるとします。各マシンは、以下のように定義した 4 つのネットグループの中の 2 つまたは 3 つに属します。

すべてのマシンは、DEFAULTNET (企業 WAN) に属します。さらに、各マシンは MAGENTA_GROUP または BLUE_GROUP に関連付けられます。MAGENTA_GROUP LAN の一部のマシンは、GREEN_GROUP という特殊なグループに属しています。次の図は、ネットワーク内のネットワーク・アドレスを持つマシン A 〜 E を示します。

図 3-3 ネットワークのグループ化の例


 

次の表は、マシンと、対応するグループのアドレスを示します。

マシン

マシンが属するグループのアドレス

A および B

DEFAULTNET (企業 WAN)

MAGENTA_GROUP (LAN)

GREEN_GROUP (LAN)

C

DEFAULTNET (企業 WAN)

MAGENTA_GROUP (LAN)

D および E

DEFAULTNET (企業 WAN)

BLUE_GROUP (LAN)


 

注記 ローカル・エリア・ネットワークはロケーション間でルーティングされないため、マシン D (BLUE_GROUP LAN 内) は、共通の単一アドレス、つまり企業 WAN ネットワーク・アドレスのみを使用してマシン A (GREEN_GROUP LAN 内) と通信します。

UBBCONFIG ファイルにネットグループを設定する

前の節で説明したコンフィギュレーションを設定するには、First State Bank のシステム管理者は、次のコンフィギュレーション・ファイルの例に示すように、UBBCONFIG ファイルの NETGROUPS セクションで各グループを定義します。

コード リスト3-1 NETGROUPS および NETWORK セクションの例

*NETGROUPS

DEFAULTNET NETGRPNO = 0 NETPRIO = 100 #default
BLUE_GROUP NETGRPNO = 9 NETPRIO = 200
MAGENTA_GROUP NETGRPNO = 125 NETPRIO = 200
GREEN_GROUP NETGRPNO = 13 NETPRIO = 300

*NETWORK

A NETGROUP=DEFAULTNET NADDR="//A_CORPORATE:5723”
A NETGROUP=MAGENTA_GROUP NADDR="//A_MAGENTA:5724"
A NETGROUP=GREEN_GROUP NADDR="//A_GREEN:5725"
B	NETGROUP=DEFAULTNET				NADDR="//B_CORPORATE:5723"
B NETGROUP=MAGENTA_GROUP NADDR="//B_MAGENTA:5724"
B NETGROUP=GREEN_GROUP NADDR="//B_GREEN:5725"
C	NETGROUP=DEFAULTNET				NADDR="//C_CORPORATE:5723"
C NETGROUP=MAGENTA_GROUP NADDR="//C_MAGENTA:5724"

D NETGROUP=DEFAULTNET NADDR="//D_CORPORATE:5723"
D NETGROUP=BLUE_GROUP NADDR="//D_BLUE:5726"

関連項目

 


ネットワーク・グループに名前を割り当てる

ネットワーク・グループに名前を割り当てるには、NETGROUP パラメータを次のように設定します。

NETGROUP required_parameters [optional_parameters]

NETGROUPDEFAULTNET を設定すると、エントリには、デフォルトのネットワーク・グループに関する情報が指定されます。NETGROUP パラメータが DEFAULTNET に設定されているネットワーク・エントリは、すべて TM_MIBT_MACHINE クラスで表されますが、ほかの NETGROUP に関連付けられた NETWORK エントリは、TM_MIBT_NETMAP クラスで表され、以前のリリースとの相互運用が可能です。

 


ネットワーク・グループ番号を割り当てる

フェイルオーバーおよびフェイルバックに対応するには、NETGRPNO パラメータを次のように設定します。

NETGRPNO=numeric_value

このエントリが DEFAULTNET を説明している場合、NETGRPNO の値はゼロにする必要があります。

 


ネットワーク・グループに優先順位を割り当てる

複数のネットワーク・グループにある、同じ優先順位が指定された 1 組のマシンは、優先順位が最も高い回線上で同時に通信できます。ネットワーク・グループの優先順位を割り当てるには、NETPRIO パラメータを使用します。特定の優先順位を持つすべてのネットワーク回線が、管理者またはネットワークによって切断された場合は、1 つ下の優先順位の回線が使用されます。優先順位の高い回線に対しては、接続の再試行が行われます。NETPRIO パラメータには、0 より大きく 8,192 未満の値を指定します。デフォルト値は 100 です。

 


コンフィギュレーション・ファイルの SERVERS セクションの作成方法

コンフィギュレーション・ファイルの SERVERS セクションには、サーバ・プロセスに固有な情報が含まれています。このセクションは必須ではありません。ただし、このセクションがないということは、アプリケーション・サーバがなく、機能もほとんどないことを意味します。このセクションの各エントリは、アプリケーションで起動するサーバ・プロセスを表し、次の情報を指定します。

注記 BEA Tuxedo システムでサポートされるコマンド行オプションについては、『BEA Tuxedo のファイル形式とデータ記述方法』の servopts(5) を参照してください。

次の表では、SERVERS セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。

SERVERS セクションで指定する情報 (オプション)

パラメータ (必須/オプション)

参照先 (クリックするとリンク先にジャンプ)

サーバが会話型サーバであるかどうか。接続は、会話型サーバに対してのみ行うことができます。tpacall(3c) または tpcall(3c) を使った rpc 要求は、 非会話型サーバに対してのみ行うことができます。

CONV (オプションの実行時パラメータ)

会話型サーバ

ID 確認のためのプロセスのプリンシパル名、プリンシパル・ユーザの秘密鍵の場所、およびパスワードを格納する環境変数

SEC_PRINCIPAL_NAMESEC_PRINCIPAL_LOCATIONSEC_PRINCIPAL_PASSVAR

セキュリティ属性

ほかのサーバとの関連で、このサーバをいつ起動またはシャットダウンするか

SEQUENCE (オプションのブート・パラメータ)

サーバの起動順序

tmboot によって起動されるサーバのオカレンスの最小数

MIN (オプションのブート・パラメータ)

サーバの起動順序

起動できるサーバのオカレンスの最大数。

MAX (オプションのブート・パラメータ)

サーバの起動順序

起動時にサーバ・プロセスに渡される servopts(5) オプションのリスト。何も指定しない場合、デフォルトの -A が使用されます。string_value は 256 文字まで指定できます。

CLOPT (オプションのブート・パラメータ)

サーバのコマンド行オプション

初期化時に、該当するファイルの値をサーバ環境に追加する要求。サーバが、別のマシンに移行可能なサーバ・グループに関連付けられている場合は、移行元マシンと移行先マシンの同じ場所に ENVFILE を格納する必要があります。

ENVFILE (オプションの実行時パラメータ)

サーバ環境ファイル

サーバが所属するサーバ・グループの名前。string_value には、GROUPS セクションのサーバ・グループに関連付けられた論理名を指定します。

SRVGRP (必須)

サーバ・グループ

サーバ・グループ内のサーバを一意に識別する整数。識別子は、1 以上 30,000 以下でなければなりません。

SRVID (必須)

サーバ ID

プロセスの要求キューのシンボリック名

RQADDR (オプションの実行時パラメータ)

サーバ・キュー情報

要求キューに対するパーミッション (数値で指定)

RQPERM (オプションの実行時パラメータ)

サーバ・キュー情報

プロセスに対して応答キューを確立するかどうか

REPLYQ (オプションの実行時パラメータ)

サーバ・キュー情報

応答キューに対するパーミッション (数値で指定)

RPPERM (オプションの実行時パラメータ)

サーバ・キュー情報

再起動可能なプロセスが異常終了した場合に実行するコマンド

RCMD (オプションの実行時パラメータ)

サーバの再起動に関する情報

再起動可能なプロセスの再起動回数。GRACE で指定された時間内に再起動できる最大回数から 1 を引いた数を指定します。

MAXGEN (オプションの実行時パラメータ)

サーバの再起動に関する情報

再起動可能なプロセスの再起動回数。指定した秒内で MAXGEN 回まで再起動できることを指定します。

GRACE (オプションの実行時パラメータ)

サーバの再起動に関する情報

プロセスを再起動できるかどうか。デフォルト値は N です。サーバを移行できる場合は、RESTARTY に設定します。SIGTERM シグナルで終了されたサーバは再起動する必要があります。

RESTART (オプションの実行時パラメータ)

サーバの再起動に関する情報

アプリケーション・プロセス内で、BEA Tuxedo のシステム・ライブラリから内部テーブルへのアクセスを実現するデフォルト・モード。

SYSTEM_ACCESS (オプションの実行時パラメータ)

サーバへのシステム・アクセス

最初にサーバを起動するときのサーバ・ディスパッチ・スレッドの最小数。MAXDISPATCHTHREADS が 1 より小さい場合 (MAXDISPATCHTHREADS>1) は、別のディスパッチ・スレッドが使用されます。このディスパッチ・スレッドは、MAXDISPATCHTHREADS で指定した数には含まれません。MAXDISPATCHTHREADS は、MINDISPATCHTHREADS と同じか、またはそれ以上でなければなりません (MINDISPATCHTHREADS<=
MAXDISPATCHTHREADS)。このパラメータのデフォルト値は 0 です。

MINDISPATCHTHREADS

スレッド

各サーバ・プロセスで生成される、同時に実行できるディスパッチ・スレッドの最大数MAXDISPATCHTHREADS が 1 より大きい場合 (MAXDISPATCHTHREADS>1) は、別のディスパッチ・スレッドが使用されます。このディスパッチ・スレッドは、パラメータで指定した数には含まれません。MAXDISPATCHTHREADS は、MINDISPATCHTHREADS と同じか、またはそれ以上でなければなりません (MINDISPATCHTHREADS<=
MAXDISPATCHTHREADS)。このパラメータのデフォルト値は 1 です。

MAXDISPATCHTHREADS

スレッド

最初のスレッド以降の各サーバ・スレッドのスタック・サイズ (バイト単位)。このパラメータを指定しないか、または 0 の場合は、オペレーティング・システムのデフォルト値が使用されます。このオプションは、MAXDISPATCHTHREADS に 1 より大きい値が指定された場合のみサーバに影響を与えます。

THREADSTACKSIZE

スレッド

WebLogic Server の組み込み LDAP ベース認証サーバ。System /T で用意されたサーバであり、ユーザのセキュリティ情報が WebLogic Server にあるときに認証サービスを提供します。このサーバは、クライアントがアプリケーションに参加するときにユーザ単位の認証を提供するために、セキュリティ付きアプリケーションで使用されます。

SECURITY USER_AUTH またはそれ以上を指定する必要があります。

デフォルトでは $TUXDIR/udataobj/tpldap ファイルを使用して、LDAP のコンフィギュレーション情報を取得します。

例: LAUTHSVR SRVGRP= “AUTH’’SRVID=100
CLOPT=”-A--
-f/usr/tuxedo/udataobj/tpldap”

LAUTHSVR (オプション)

LAUTHSVR


 

SERVERS セクションの例

以下は、コンフィギュレーション・ファイルの SERVERS セクションの例です。

*SERVERS
DEFAULT: RESTART=Y MAXGEN=5 GRACE=3600
REPLYQ=N CLOPT=”-A”
ENVFILE=”/usr/home/envfile”
SYSTEM_ACCESS=PROTECTED

RINGUP1 SRVGRP=GROUP1 SRVID=1 MIN=3
RQADDR=”ring1"
RINGUP2 SRVGRP=GROUP1 SRVID=4 MIN =3
RQADDR=”ring2"

注記 この例では、SEQUENCE (1 〜 6 の順に起動)、REPLYQRPPERM (サーバは応答を受け取らない)、RCMD (再起動時のコマンド不要)、および CONV (非会話型サーバ) が省略されています。特定のサーバに対して特に設定を行わない限り、すべてのサーバにはデフォルト設定が適用されます。

SERVERS セクションのパラメータ

上の SERVERS セクションの例では、以下のパラメータと値が指定されています。

パラメータ

説明

RESTART=Y (デフォルト)

サーバを再起動します。

MAXGEN=5 (デフォルト)

MAXGEN パラメータには、GRACE パラメータで指定した期間内にサーバが起動できる回数を制御する、0 より大きく 256 よりも小さい数値を指定します。デフォルト値は 1 です。サーバが再起動可能な場合、このパラメータには 2 以上 (MAXGEN >= 2) を指定します。再起動は、指定した値から 1 を引いた回数行うことができます。RESTART は、Y に指定します。指定しないと、MAXGEN は無視されます。

GRACE=3600 (デフォルト)

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

REPLYQ=N (デフォルト)

応答キューはありません。

CLOPT=”-A” (デフォルト)

各サーバのコマンド行に -A を指定します。

ENVFILE=”/usr/home/envfile” (デフォルト)

ENVFILE に指定したファイルから環境設定を読み取ります。

SYSTEM_ACCESS=PROTECTED (デフォルト)

システム・コード外から内部テーブルへのアクセスを拒否します。

RINGUP1

最初に起動するサーバのサンプル名

SRVGRP=GROUP1 SRVID=1 MIN=3

RQADDR=”ring1"

サンプル・サーバの 3 つのインスタンスが、サーバ・グループ GROUP1 で起動します。サーバ ID は、12、および 3 です。3 つのサーバは、MSSQ セットを構成し、キュー ring1 からの要求を読み取ります。

注記 RQADDR は、このサーバの要求キューにシンボリック名を割り当てます。MSSQ セットを作成するには、複数のサーバに対して同じシンボリック・キュー名を指定し、これらのサーバの実行可能ファイルに同じ名前を割り当てます。MIN には、1 より大きい値を指定します。

RINGUP2

2 番目に起動するサンプル・サーバの名前


 

関連項目

 


サーバを会話型として指定する

サーバが会話型サーバである (つまり、クライアントと専用サーバの間に双方向接続を確立する) 場合、CONV は必須パラメータであり Y を設定する必要があります。デフォルト値は N で、この場合はそのサーバが会話に含まれないことを示します。

CONV パラメータの特性

CONV パラメータには、以下の特性があります。

 


サーバを起動する順序を設定する

サーバを起動する順序を指定するには、各サーバの SEQUENCE パラメータを設定します。SEQUENCE には、1 から 30,000 までの任意の数字を指定します。SEQUENCE パラメータの値が小さいサーバは、値が大きいサーバより先に起動します。SEQUENCE パラメータをまったく指定しない場合、サーバは SERVERS セクションにリストされている順序で起動します。順序が指定されたサーバと指定されていないサーバが混在する場合は、順序が指定されたサーバが先に起動します。サーバは、起動する順序とは逆の順序でシャットダウンされます。

SEQUENCE は、オプション・パラメータです。このパラメータは、大規模なアプリケーションで、サーバを起動する順序を指定する必要がある場合に役立ちます。

警告: CORBA 環境では、システムのイベント・ブローカ、FactoryFinder オブジェクト、およびアプリケーション ファクトリを起動する順序が厳密に規定されています。この順序に従わないと、CORBA アプリケーションは起動しません。詳細については、 3-85 ページの「CORBA C++ サーバの起動順序」を参照してください。

複数のサーバを起動するには、MIN パラメータを設定して、起動作業を簡略化できます。この場合、すべてのサーバに同じオプションが適用されます。RQADDR を指定すると、サーバは MSSQ セットを生成します。MIN のデフォルト値は 1 です。

起動するサーバの最大数を指定するには、MAX パラメータを設定します。tmboot(1) コマンドを実行すると、実行時に MIN で指定した数のサーバが起動します。続いて、MAX で指定した数までのサーバが起動します。デフォルトは、MIN で指定した数のサーバです。

MIN および MAX パラメータは、大規模なアプリケーションのコンフィギュレーション・ファイルを管理しやすいサイズに保つ上で役立ちます。MAX の最大値は、IPC 資源を割り当てて設定します。MIN および MAX パラメータは、会話型サービスやサーバの自動生成でも使用されます。

CORBA C++ サーバの起動順序

BEA Tuxedo CORBA 環境でのサーバの正しい起動順序は以下のとおりです。この順序に従わないと、CORBA アプリケーションは起動しません。

  1. システムのイベント・ブローカである TMSYSEVT

  2. -N および -M オプションが設定された TMFFNAME サーバ。NameManager サービスを (マスタとして) 起動します。このサービスは、アプリケーション側で提供される名前とオブジェクト参照のマッピングを維持します。

  3. -N オプションのみが設定された TMFFNAME サーバ。スレーブ NameManager サービスを起動します。

  4. -F オプションが設定された TMFFNAME サーバ。FactoryFinder オブジェクトを起動します。

  5. ファクトリを宣言するアプリケーション C++ サーバ。

リスト3-2 は、BEA Tuxedo ソフトウェアに収録されているサンプル・アプリケーションの 1 つである、BEA Tuxedo CORBA University Basic アプリケーションの起動順序を示します。この SERVERS セクションは、ubb_b.nt コンフィギュレーション・ファイルを編集したものから抜粋しています。

コード リスト3-2 University 用の UBBCONFIG サンプル・ファイルの SERVERS セクションを編集した例

*SERVERS
# デフォルトでは、サーバがクラッシュした場合、24 時間以内に最大 5 回まで
# 再起動します。
#
DEFAULT:
RESTART = Y
MAXGEN = 5

# BEA Tuxedo System のイベント・ブローカを起動します。このイベント・ブローカは、
# NameManager サービスを提供するサーバを起動する前に
# 起動しておかなければなりません。
#
TMSYSEVT
SRVGRP = SYS_GRP
SRVID = 1

# TMFFNAME は、BEA Tuxedo CORBA 環境で提供される、
# NameManager および FactoryFinder サービスを実行するサーバです。

# NameManager は、BEA Tuxedo CORBA 環境固有のサービスで、
# アプリケーションが提供する名前とオブジェクト・リファレンスの
# マッピングを管理します。

# NameManager Service (-N オプション) を起動します。この NameManager は
# マスタとして起動されます (-M オプション)。
#
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 2
CLOPT = "-A -- -N -M"

# スレーブ NameManager サービスを起動します。
#
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 3
CLOPT = "-A -- -N"

# FactoryFinder (-F) サービスを起動します。
#
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 4
CLOPT = "-A -- -F"

# インターフェイス・リポジトリ・サーバを起動します。
#
TMIFRSVR
SRVGRP = SYS_GRP
SRVID = 5

# University サーバを起動します。
#
univb_server
SRVGRP = ORA_GRP
SRVID = 6
RESTART = N

# IIOP クライアントのリスナを起動します。
#
# サーバ・マシンのホスト名とポート番号を
# 指定します。通常、ポート番号は 2500 です。
#
ISL
SRVGRP = SYS_GRP
SRVID = 7
CLOPT = "-A -- -n //TRIXIE:2500"

この例では、TMSYSEVT サーバと TMFFNAME サーバを起動した後、以下のコンポーネントが起動します。

注記 何らかの理由でグループやマシンを移行またはシャットダウンするとき、アクティブなスレーブ NameManager が別のグループにある場合は、マスタ NameManager が アクティブになる前に FactoryFinder やスレーブ NameManager が再起動されないように、UBBCONFIG ファイルを設定してください。たとえば、FactoryFinder がマスタ NameManager と同じグループにある場合、マスタ NameManager が先に起動されるように、UBBCONFIG ファイルでサーバの起動順序を変更します。

 


SEQUENCE、MIN、および MAX パラメータの特性

パラメータ

説明

SEQUENCE

オプション・パラメータです。値には 1 〜 10,000 の範囲の数値を設定します。

小さい値が指定されたサーバは、大きい値が指定されたサーバより先に起動します。

このパラメータが設定されていないサーバは、SERVERS セクションにリストされている順序で起動します。

順序が指定されているサーバは、指定されていないサーバより先に起動します。

MIN

実行時に起動するサーバの最小数を指定します。

RQADDR が指定されており、MIN が 1 より大きい場合 (MIN>1) は、MSSQ セットが作成されます。

すべてのインスタンスには、同じサーバ・オプションが適用されます。

値には、0 〜 1000 を指定します。

デフォルト値は 1 です。

MAX

起動するサーバの最大数を指定します。

MAX には 0 〜 1000 の値を指定します。MAX を指定しない場合、デフォルトで MIN の値が指定されます。


 

 


サーバのコマンド行オプションを指定する

BEA Tuxedo システムでは、サーバが要求を処理するときに使用するオプションを指定できます。これらのオプションは、servopts で定義します。これを実行すると、サーバ・プロセス用の実行時オプションがリストされます。サーバ側では、コマンド行からの情報の取得が必要な場合があります。CLOPT パラメータを使用すると、コマンド行オプションを指定して、サーバに設定されたデフォルト値を変更したり、ユーザ定義のオプションを tpsvrinit() 関数に渡すことができます。

標準の main() を使用すると、引数 -- までのオプションのセットが解析され、以降のオプションは tpsvrinit() に渡されます。CLOPT のデフォルトのオプション -A は、buildserver(1) または buildobjserver(1) によって組み込まれたすべてのサービスを宣言するようサーバに通知します。次の表は、使用可能なオプションの一部です。

オプション

目的

-o filename

標準出力を filename ファイルにリダイレクトします。

-e filename

標準エラーを filename ファイルにリダイレクトします。

-s services

サービスを宣言します。たとえば、-s x,y,z は、サービス xy、および z を宣言します。

-s x,y,z:funcname

サービス xy、および z を宣言しますが、関数 funcname を使用してこれらのサービスの要求を処理します。これは、関数名のエイリアスと呼ばれます。

-r

実行したサービスがログに記録されるようにサーバを指定します。

-v

標準出力にサービス名と関数名のリストを出力します。

このオプションは、UBBCONFIGCLOPT では使用できません。これは、サーバを手動で起動するときに使用します。


 

注記 その他の標準的な main() オプションについては、『BEA Tuxedo のファイル形式とデータ記述方法』の servopts(5) を参照してください。

CLOPT パラメータの特性

サンプルの BANKAPP アプリケーションでは、次のようにコマンド行オプションを指定しています。

CLOPT=”-A -- -T 10"

これは、サーバに対し、すべてのサービスを宣言するオプション (-A) と 10 という窓口 ID が指定されていることを示します。オペレーションが発生すると、特定の窓口のレコードは更新されます。このオプション、特に tpsvrinit() に渡されるオプションを使用する場合、システム管理者とアプリケーション・プログラマは、よく相談する必要があります。

関連項目

 


サーバ環境ファイルのロケーションを識別する

環境設定を指定するには、MACHINES セクションにある ENVFILE パラメータを使用します。また、特定のサーバ・プロセスに同じパラメータを指定できますが、セマンティクスは同じです。MACHINES セクションの ENVFILE と、SERVERS セクションの ENVFILE が指定されると、両方とも有効になります。MACHINES および SERVERS セクションの両方に同じ変数が定義された場合は、SERVERS セクションの設定が優先されます。

サーバ環境ファイルの特性

ENVFILE は、サーバ環境ファイルを定義するパラメータであり、以下の特性があります。

環境変数の設定の詳細については、『BEA Tuxedo のファイル形式とデータ記述方法』の tuxenv(5) を参照してください。

 


サーバ名、サーバ・グループ、およびサーバ ID を定義する

まず、SERVERS セクションでサーバに名前を割り当てます。指定する名前は、以下のいずれかのコマンドを使用して作成した実行可能ファイルです。

また、各サーバにグループ識別子 (SRVGRP) を指定する必要があります。SRVGRP には、GROUPS セクションのエントリの最初に指定した名前を設定します。最後に、指定されたグループ内の各サーバ・プロセスに一意の数値識別子 (SRVID) を指定します。サーバ・エントリには、必ず SRVGRP パラメータと SRVID パラメータが必要です。エントリでは、アプリケーションのほか、起動するマシンも記述されるため、複数のエントリに同じサーバ名が表示される場合もあります。

サーバ名、SRVGRP、および SRVID パラメータの特性

パラメータ

説明

Server_name

起動する実行可能ファイルを識別します。

ATMI では buildserver(1) で作成されます。

CORBA では buildobjserver(1) で作成されます。

必須パラメータですが、サーバ・グループ内で一意でなくてもかまいません。

SRVGRP (サーバ・グループ)

グループとの関係を識別します。

グループ名は、GROUPS セクションのエントリに設定されているものを指定します。

必須パラメータです。

SRVID (サーバ ID)

数値で指定します。

必須パラメータであり、サーバ・グループ内で一意な値を設定します。


 

 


サーバ・キュー情報を識別する

サーバ・キュー情報を指定すると、サーバ・メッセージ・キューを作成し、このキューへのアクセスを制御できます。BEA Tuxedo システムでは、RQADDR パラメータを使用して複数サーバ、単一キュー (MSSQ) セットを作成できます。どのサーバに対しても、このパラメータの値に英数字を設定できます。同じサービスを提供するすべてのサーバに対して同じ RQADDR 値を設定すると、サービスを 1 つのメッセージ・キューにまとめて MSSQ セットを作成することができ、ロード・バランシングを実現できます。

MSSQ の例

MSSQ セットは、銀行の窓口担当者の業務に似ています。たとえば、窓口が 4 つあり、顧客は 1 列に並んで順番にサービスを受けるとします。顧客は、空いた窓口へ順番に進みます。当然ながら、融資担当の窓口は別です。融資担当の窓口では、預金の預け入れや引き出しを処理できません。また、融資を希望する顧客は限られています。同様に、MSSQ セットの場合も、提供するサービスが異なるサーバは、同じ MSSQ セットに参加できません。

RQPERM パラメータを使用すると、UNIX システムの規則に従った、サーバ要求キューのパーミッションを指定できます (0666 など)。この設定により、要求キューへのアクセスを制御できます。

MSSQ サーバ内のサービス・ルーチンでサービス要求が発行されると、それらの要求に対する応答を応答キューで受け取る必要があります。このような応答キューは、REPLYQ=Y で指定することができます。デフォルトでは、REPLYQN が設定されています。REPLYQY に設定されている場合、RPPERM パラメータを使ってその応答キューにパーミッションを割り当てることもできます。

RQADDR、RQPERM、 REPLYQ、および RPPERM パラメータの特性

パラメータ

説明

RQADDR

MSSQ セットを作成できるようにする英数値です。値は、MSSQ セットのすべてのメンバに対して同じです。MSSQ のすべてのメンバは、同じサービスのセットを提供する必要があり、MSSQ セットのサーバは同じ実行可能ファイル名を持っていなければなりません。複数のサーバを起動するには、Min パラメータに 1 より大きい値を設定します。

RQPERM

要求キューのパーミッションを表します。パラメータを指定しない場合、RESOURCES セクションの PERM で指定された掲示板のパーミッションが使用されます。値が指定されない場合は、デフォルト値の 0666 が使用されます。デフォルトを使用すると、システム上にログインしたユーザがすべてアプリケーションにアクセスできるようになります。

REPLYQ

このサーバに対して、応答キュー (要求キューとは別) を設定するかどうかを指定します。要求キューを使用しているサーバが 1 つだけの場合、応答は問題なく要求キューから受け取られます。BEA Tuxedo システムでは、サーバが MSSQ セットのメンバであり、サービスが応答メッセージを受け取るようにプログラミングされている場合は、REPLYQ を Y に設定して、このサーバに対して応答キューが個別に作成されるようにします。そうでない場合、応答は、MSSQ セット内の全サーバが共用する要求キューに送信されてしまい、応答が要求元のサーバに返されるかどうかは保証されません。マルチスレッド化されたサーバの場合は、このパラメータが設定されていなくても、自動的に REPLYQ が作成されます。

RPPERM

応答キューのパーミッションを割り当てます。このパラメータは、REPLYQ=Y の場合のみ有効です。要求と応答が同じキューから読み出される場合、必要なのは RQPERM のみで、RPPERM は無視されます。


 

 


サーバの再起動に関する情報を定義する

適切にデバッグされたサーバは、自動的に終了しません。デフォルトでは、アプリケーションの実行中に終了したサーバは、自動的に再起動しません。サーバを再起動する場合は、RESTART パラメータに Y を設定します。 RESTART が Y の場合、RCMDMAXGEN、または GRACE パラメータを設定できます。

RCMD パラメータを使用すると、サーバの再起動時に並行して実行されるコマンドを指定できます。たとえば、サーバ開発者や、サーバのアクティビティを監査する担当者に電子メールを送信する、という操作を実行できます。

MAXGEN パラメータは、GRACE で指定された期間内にサーバを再起動できる回数を示します。サーバは、GRACE で指定された秒数の間に MAXGEN-1 回だけ再起動できます。GRACE がゼロに設定されると、サーバの再起動は無制限に行われます。MAXGEN はデフォルトで 1 に設定されており、256 より大きい値は設定できません。GRACE には、ゼロまたはゼロより大きい値を設定します。ただし、2,147,483,647 (231 - 1) 以上の値は設定できません。

注記 完全にデバッグされたサーバを再起動する必要はありません。RESTART パラメータおよび関連するパラメータには、テスト用とプロダクション用の 2 つの値を設定する必要があります。

RESTART、RCMD、MAXGEN、および GRACE パラメータの特性

パラメータ

説明

RESTART

Y を設定すると、サーバを再起動できるようになります。

デフォルトは N です。

RCMD

再起動時に実行される実行可能ファイルを指定します。

サーバの再起動時にアクションを行えるようにします。

MAXGEN

指定された時間の間隔内でのサーバ再起動の最大数を表します。

デフォルト値は 1 で、最大値は 256 です。

GRACE

MAXGEN に使用される時間間隔を表します。

ゼロの場合は、起動回数に制限がないことを表します。

0 〜 2,147,483,647 (231 - 1) の範囲の値である必要があります。

デフォルト値は 24 時間です。


 

 


共用メモリに対するサーバ・アクセスを定義する

SYSTEM_ACCESS パラメータは、サーバ・プロセスを共用メモリにアタッチし、システム・コードの外から内部テーブルへのアクセスを許可するかどうかを決定します。アプリケーション開発時には、このようなアクセスを許可しないように設定しておく (PROTECTED) ことをお勧めします。アプリケーションをテストした後で、SYSTEM_ACCESS の値を FASTPATH に変更すると、性能を高めることができます。

このパラメータの設定は、RESOURCES セクションで NO_OVERRIDE が指定されない限り、RESOURCES セクションの値を上書きします。RESOURCES セクションで NO_OVERRIDE が指定されている場合、このパラメータは無視されます。NO_OVERRIDE 値は、このセクションでは使用されません。

SYSTEM_ACCESS パラメータの特性

SYSTEM_ACCESS パラメータには、以下の特性があります。

 


サーバ・ディスパッチ・スレッドを定義する

MAXDISPATCHTHREADS は、各サーバ・プロセスで生成される、同時に実行できるディスパッチ・スレッドの最大数です。MAXDISPATCHTHREADS が 1 より大きい場合 (MAXDISPATCHTHREADS>1) は、別のディスパッチ・スレッドが使用されます。このディスパッチ・スレッドは、パラメータで指定した数には含まれません。MAXDISPATCHTHREADS は、MINDISPATCHTHREADS と同じか、またはそれ以上でなければなりません (MINDISPATCHTHREADS<=MAXDISPATCHTHREADS)。指定しない場合、このパラメータのデフォルト値は 1 です。

MINDISPATCHTHREADS は、最初にサーバを起動するときのサーバ・ディスパッチ・スレッドの最小数です。MAXDISPATCHTHREADS が 1 より大きい場合 (MAXDISPATCHTHREADS>1) は、別のディスパッチ・スレッドが使用されます。このディスパッチ・スレッドは、MAXDISPATCHTHREADS で指定した数には含まれません。MAXDISPATCHTHREADS は、MINDISPATCHTHREADS と同じか、またはそれ以上でなければなりません (MINDISPATCHTHREADS<=MAXDISPATCHTHREADS)。このパラメータのデフォルト値は 0 です。

最初のスレッド以降の各サーバ・スレッドのスタック・サイズをバイト数で指定する必要があります。このパラメータを指定しないか、または 0 の場合は、オペレーティング・システムのデフォルト値が使用されます。このオプションは、MAXDISPATCHTHREADS に 1 より大きい値が指定された場合のみサーバに影響を与えます。

 


ISL サーバのセキュリティ・パラメータの設定

CORBA 環境では、IIOP リスナ (ISL) プロセスが、リモート・クライアントの接続要求をリッスンします。ISL プロセスは、BEA Tuxedo システム側で提供されるサーバとして、1 つのエントリで指定されます。

IIOP を使用する場合、Secure Socket Layer (SSL) プロトコルによってプロセス間の安全な通信方法を定義します。ISL コマンドの -s オプションを使用して、必須パラメータを設定します。これらのパラメータは、SSL プロトコルを使用する場合のみ設定する必要があります。SSL プロトコルは、BEA Tuxedo Security Pack にインストールされています。

表 0-1 は、SSL パラメータの特性を示します。

表 0-1 ISL および SSL パラメータの特性

パラメータ

説明

SEC_PRINCIPAL_NAME

IIOP リスナ/ハンドラの ID を指定します。

SEC_PRINCIPAL_LOCATION

IIOP リスナ/ハンドラの秘密鍵の場所を指定します。

SEC_PRINCIPAL_PASSWORD

IIOP リスナ/ハンドラの秘密鍵の文字列を指定します。

:
 

これらのパラメータ設定の詳細については、『BEA Tuxedo CORBA アプリケーションのセキュリティ機能』を参照してください。

 


コンフィギュレーション・ファイルの SERVICES セクションの作成方法

コンフィギュレーション・ファイルの SERVICES セクションでは、アプリケーションで提供されるサービスに関する詳しい情報を指定できます。トランザクションに関与しない非分散型のアプリケーションの場合、これらの情報の指定は簡単です。SERVICES セクションには、以下の種類の情報が含まれます。

サービスには必須パラメータはありません。サービスをリストする必要があるのは、オプション・パラメータを設定する場合のみです。

次の表では、SERVICES セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。

SERVICES セクションで指定する情報

パラメータ (必須/オプション)

参照先 (クリックするとリンク先にジャンプ)

まだトランザクション・モードでない状態で要求のメッセージを受け取った場合に、トランザクションが自動的に開始されるかどうか

AUTORAN (DTP アプリケーションのみ)

トランザクションの自動開始

このサービスで受け付けるデータ・バッファのタイプおよびサブタイプのリスト。このパラメータには、最大 32 のタイプとサブタイプの組み合わせを最大 256 文字で指定できます。

BUFTYPE (オプション)

バッファ型

SVCNAM によってシステムに指定されるロード・ファクタ

LOAD (オプション)

ロード・バランシング

データ依存型ルーティングを行うときに、このサービスに使用されるルーティング基準名

ROUTING (オプション)

ルーティング条件の名前

SVCNAM がグループ・パラメータのすべての設定を取得するサーバ・グループ名

SRVGRP (オプション)

サーバ・グループ・パラメータ

SVCNM をキューから取り出すときの優先順位

PRIO (オプション)

サービスの優先順位

特定のサービスの処理にかかる時間 (秒単位)

SVCTIMEOUT (オプション)

サービスの処理時間

関連するサービスに対するトランザクションを自動的に開始するまでのデフォルトのタイムアウト値 (秒単位)

TRANTIME (DTP アプリケーションのみ)

トランザクションのタイムアウト値


 

SERVICES セクションの例

以下は、コンフィギュレーション・ファイルの SERVICES セクションの例です。

*SERVICES
#
DEFAULT: LOAD=50 PRIO=50
RINGUP BUFTYPE=”VIEW:ringup”

この例では、サービスのデフォルトのロードおよび優先順位の値は 50 です。宣言されている 1 つのサービスは、RINGUP サービスであり、バッファ・タイプ ringup VIEW が指定されています。

関連項目

 


トランザクションの自動開始とタイムアウト間隔を指定する

AUTOTRAN ={Y|N} パラメータをコーディングして、要求メッセージが既にトランザクション・モードの場合に、トランザクションを自動的に開始するかどうかを指定できます。デフォルトは N です。

あるサービスに対するトランザクションが開始した後でそのトランザクションが失敗した場合、ロールバックされるまでのタイムアウト間隔を指定することができます。タイムアウト間隔が自動的に実行されるように指定するには、TRANTIME パラメータを次のように設定します。

TRANTIME=number

デフォルト値は 30 秒です。0 (タイムアウトの最大値) をコンピュータに指定すると、トランザクションでタイムアウトは発生しません。

UBBCONFIG ファイルの RESOURCES セクションでは、MAXTRANTIME という追加のトランザクション・タイムアウト・プロパティを使用できます。MAXTRANTIME タイムアウト値が TRANTIME タイムアウト値またはトランザクションを開始する際に tpbegin(3c) 呼び出しで渡されたタイムアウト値よりも小さい場合、トランザクションのタイムアウトは MAXTRANTIME 値まで減少します。

注記 MAXTRANTIME は BEA Tuxedo 8.0 以前を実行するマシン上で開始されるトランザクションには影響を与えません。ただし、BEA Tuxedo 8.1 以降を実行するマシンがトランザクションの影響を受ける場合は、そのノードに対して設定されている MAXTRANTIME 値までトランザクション タイムアウト値が制限 (必要に応じて減少) されます。

関連項目

 


サービスで受け付けるバッファ・タイプのリストを指定する

BUFTYPE パラメータを使用すると、サービス・コードとは関係なく、バッファ・タイプをチェックするサービスを調整できます。このパラメータを設定する場合は、サービスで受け付けるバッファ・タイプのリストを次の形式で指定します。

type[:subtype[,subtype]]

すべての subtype を受け入れるには、サブタイプの値に * を設定します。

サービスの BUFTYPE パラメータの値が ALL の場合、このサービスはすべてのバッファ・タイプを受け付けます。デフォルト値は ALL です。

BUFTYPE パラメータの例

BUFTYPE の例

説明

BUFTYPE="FML;VIEW:aud,aud2"

サブタイプが aud および aud2FML および VIEW バッファ・タイプを受け付けます。

BUFTYPE="FML;VIEW:*"

すべての FML および VIEW バッファ・タイプを受け付けます。

BUFTYPE=ALL

すべてのバッファ・タイプを受け付けます (デフォルト)。


 

 


要求を処理する時間を指定する

リクエストの処理中に、予期しないシステム・エラーが発生し、サービスが停止 (フリーズ) したり、制御不可能になる場合があります。このようなプロセスは削除することが望ましいですが、実際にこれらのエラーを検出したり、エラー原因を追跡することは困難です。BEA Tuxedo システムには、エラーを識別できなくても、このようなプロセスを終了できるメカニズムが組み込まれています。このメカニズムを使用するには、SVCTIMEOUT パラメータを設定します。

SVCTIMEOUT パラメータは、サービスが要求を処理できる時間 (秒) を指定します。このパラメータで定義された間隔が経過してもサービスが要求を処理できなかった場合、その要求の処理は強制終了されます。本質的に、サービス・タイムアウトは、停止または制御不能状態にあるアプリケーション・サーバのスカベンジ機能として働きます。デフォルトでは、BEA Tuxedo システムはサービス・プロセスを終了しません。この機能を有効にするには、SVCTIMEOUT を設定する必要があります。

UBBCONFIG ファイルの SVCTIMEOUT パラメータに値を割り当てるか、または TM_MIBTA_SVCTIMEOUT 属性を動的に変更することによって設定できます。SVCTIMEOUT または TA_SVCTIMEOUT の値には、サービスが 1 つのリクエストの処理に費やす時間の 2 〜 3 倍の時間を指定しておくことをお勧めします。このような値を設定しておくと、BEA Tuxedo システムは、停止状態のプロセスだけを削除します。

この節では、サービス・タイムアウト・エラーの原因と結果、および BEA Tuxedo システムによるエラーのレポート方法を説明します。また、エラーの処理方法に関するアドバイスも掲載しています。

タイムアウト発生時の処理

タイムアウトが発生すると、BEA Tuxedo システムは、停止されたサービスの実行元であるサーバ・プロセスを終了します。ただし、子プロセスは終了しません。次に、TPESVCERR エラーを返し、サービスの処理中に未知のエラーが発生したことを示します。会話型サービスでは、会話型イベントである TPEV_SVCERR が返されます。

サービスのタイムアウトの通知方法

BEA Tuxedo システムでは、以下の 3 つの機能を使用してサービス・タイムアウトを通知します。

SVCTIMEOUT 値が設定可能になったため、クライアント・アプリケーション側では、SVCTIMEOUT の値を超過して発生した TPESVCERR とそれ以外の原因で発生した TPESVCERR を簡単に識別できるようにしておくことが必要です。この情報は、ULOG にも記録されていますが、クライアント・プログラムによって抽出するのは困難です。サービス・タイムアウトの TPESVCERR をその他のエラーと区別するため、プログラムで TPESVCERR を検出した後に tperrordetail(3c) ルーチンを呼び出し、サービス・タイムアウトが発生したときに TPED_SVCTIMEOUT を生成することができます。

また、サービス・タイムアウトが発生すると、システム・イベントである .SysServiceTimeout が生成されます。.SysServiceTimeout イベントが発生すると、ULOG に次のように記録されます。

ERROR:.SysServiceTimeout:%TA_SERVERNAME、グループ %TA_SRVGRP、id %TA_SRVID サーバがサービス・タイムアウトのため強制終了しました。

サービス・タイムアウトの制御方法

 


ロード・バランシングを有効にする

ロード・バランシングを有効にするには、RESOURCES セクションの LDBAL パラメータを Y に設定します。実行するサービスには、LOAD パラメータの値に基づいてロード・ファクタが割り当てられます。BEA Tuxedo システムは、各サーバの負荷の合計を監視します。各サービス要求は、負荷の合計が最も低いサーバにルーティングされます。ルーティング先のサーバの負荷は、ルーティングされたサービスのロード・ファクタ分 (LOAD) だけ増加します。

負荷の情報は、サービス要求のルーティング元サイトにのみ保存されます。BEA Tuxedo システムでは、分散アプリケーションのすべてのサイトに負荷の情報を常に伝達するのは非効率的です。このような環境でロード・バランシングを行う場合、各サイトは、そのサイトで発生した負荷だけを認識し、必要に応じてロード・バランシングを行います。つまり、各サイトは、指定されたサーバ (またはキュー) に関し、それぞれ異なる負荷の統計情報を持ちます。したがって、負荷が最も低いと見なされるサーバは、サイトごとに異なります。

ロード・バランシングが無効であり、複数のサーバが同じサービスを提供する場合は、使用可能な最初のキューが要求を受け取ります。

LDBAL パラメータの特性

LDBAL パラメータには、以下の特性があります。

 


ルーティング基準名を定義する

データ依存型ルーティングを使用するときは、サービス用のルーティング基準を指定する必要があります。このような基準を指定するには、ROUTING パラメータを次のように設定します。

ROUTING=string_value

このパラメータが指定されないと、サービスはデータ依存型ルーティングを実行しません。

文字列の最大値は 15 文字です。サービスには、1 つ以上の ROUTING パラメータの値は割り当てられません。1 つのサービスに複数のエントリがあり、それらのエントリに異なる SRVGRP パラメータが含まれている場合でも、ROUTING の値はすべてのエントリで同じでなければなりません。

 


異なるサーバ・グループに対してサービス・パラメータを指定する

複数のグループに同じサービスを割り当てたり、異なるグループのサービス・エントリに対して設定したさまざまなサービス固有のパラメータに異なる値を割り当てることができます。そのためには、SRVGRP パラメータにグループ固有の値を指定して、各グループのサービスに対して個別のエントリを作成してください。

 


サービスの優先順位を指定してデータ・フローを制御する

PRIO パラメータを使用して、サービスの優先順位を割り当てることにより、アプリケーション内のデータ・フローを有効に制御できます。PRIO には、0 〜 100 の数値を指定する必要があります。数値が大きいほど割り当てられるサービスの優先順位も高くなります。優先順位の高いサービスは優先順位の低いサービスより先にキューから取り出されますが、システムは、10 回に 1 回ごとに FIFO 順序で要求をキューから取り出し、メッセージがキューで無制限に待機することがないようにしています。

たとえば、サーバ 1 はサービス A、B、および C を提供します。サービス A および B の優先順位は 50、サービス C の優先順位は 70 です。サービス C に対するサービス要求は、常に A または B に対する要求の前にキューから取り出されます。A および B に対する要求は、互いに等しくキューから取り出されます。

注記 tpsprio() 呼び出しを使用すると、優先順位を動的に変更できます。

PRIO パラメータの特性

PRIO パラメータには、以下の特性があります。

優先順位の異なる SERVICES セクションの例

次の SERVICES セクションの例は、サービスに対する優先順位の割り当て方を示します。

*SERVICES
A SRVGRP=GRP1 PRIO=50 LOAD=60
A SRVGRP=GRP2 PRIO=70 LOAD=30

この例では、2 つのサーバ・グループに対して異なるサービス固有のパラメータが割り当てられます。サーバ・グループ GRP1 のサービス A には、優先順位 50、およびロード 60 が割り当てられ、サーバ・グループ GRP2 のサービス A に優先順位 70、およびロード 30 が割り当てられます。

 


サービスの処理時間を指定する

サービスの処理にかかる最大時間を秒単位で指定するには、SVCTIMEOUT パラメータを次のように設定します。

SVCTIMEOUT=number

値は 0 以上でなければなりません。この値が 0 の場合は、サービスに対してタイムアウトが適用されないことを示します。サービス要求を処理するサーバは SIGKILL シグナルによって終了します。このパラメータのデフォルト値は 0 です。

 


コンフィギュレーション・ファイルの INTERFACES セクションの作成方法

注記 このセクションは、BEA Tuxedo CORBA 環境にのみ適用されます。

コンフィギュレーション・ファイルの INTERFACES セクションは、BEA Tuxedo システムの CORBA 環境用のパラメータを定義するためのセクションです。このセクションでは、アプリケーションで使用される CORBA インターフェイスに対する、アプリケーション全体のデフォルト・パラメータを指定します。ファクトリ・ベース・ルーティングに参加する CORBA インターフェイスに対しては、インターフェイス名を定義し、Tuxedo CORBA 環境で各インターフェイスに適用するルーティング基準の名前を指定します。ファクトリ・ベース・ルーティングは、プロセスを特定のサーバ・グループに分散するための機能です。

ファクトリ・ベース・ルーティングをインプリメントする場合、INTERFACES セクションだけでなく、ROUTING セクションでルーティング基準を定義し、GROUPS セクションでグループ名を定義する必要があります。関連パラメータとファクトリ・ベース・ルーティングの詳細については、この章の コンフィギュレーション・ファイルの ROUTING セクションの作成方法を参照してください。

INTERFACES セクションで CORBA インターフェイスを指定する

アプリケーションで使用する CORBA インターフェイス固有の情報は、コンフィギュレーション・ファイルの INTERFACES セクションで指定します。必須パラメータはありません。オプションのパラメータが不要の場合、CORBA インターフェイスをリストする必要はありません。INTERFACES セクションには、以下の種類の情報が含まれます。

表 0-2 に、AUTOTRAN、FACTORYROUTING、LOAD、PRIO、SRVGRP、TRANTIME、および TIMEOUT パラメータの特性を示します。

表 0-2 INTERFACES セクションのパラメータの特性

パラメータ

特性

AUTOTRAN = {Y | N }

操作の呼び出しを受け取るときにトランザクションを自動的に開始する場合は、CORBA インターフェイスごとに AUTOTRANY に設定します。インターフェイスが既にトランザクション・モードになっている場合は、AUTOTRAN=Y を指定しても無効です。デフォルトは N です。

AUTOTRAN の設定が有効かどうかは、システム設計者がインプリメンテーション・コンフィギュレーション・ファイル (ICF) またはサーバ記述ファイル (XML) でそのインターフェイスに対して指定したトランザクション・ポリシーによって異なります。このトランザクション・ポリシーが、実行時に、関連する T_IFQUEUE MIB オブジェクトのトランザクション・ポリシーの属性になります。この値が実際にアプリケーションの動作に影響するのは、システム設計者が トランザクション・ポリシーを「オプション」に指定した場合だけです。

注記 このパラメータを正しく機能させるには、システム設計者とシステム管理者の間のコミュニケーションが重要です。プログラマが設定した ICF または XML パラメータを知らずにシステム管理者がこの値を Y に設定すると、実行時にパラメータが適切に動作しない可能性があります。

FACTORYROUTING = criterion-name

この CORBA インターフェイスのファクトリ・ベース・ルーティングで使用するルーティング基準の名前を指定します。ファクトリ・ベース・ルーティングを要求するインターフェイスには、 FACTORYROUTING パラメータを指定する必要があります。

LOAD = number

CORBA インターフェイスがシステムに与える相対的な負荷を示す、1 〜 100 の任意の数です。この値は、このアプリケーションで使用されるほかの CORBA インターフェイスに割り当てられた LOAD 値との関係で相対的に決まります。デフォルトは 50 です。この値は、BEA Tuxedo システムが要求のルーティング先サーバを選択する際に使用されます。

PRIO = number

CORBA インターフェイスのすべてのメソッドに対して、キューから取り出す優先順位を指定します。この値には、1 〜 100 の値を指定します。100 は、優先順位が最も高いことを示します。デフォルト値は 50 です。

SRVGRP = server-group-name

SRVGRP を使用して、INTERFACES セクションのこの部分で定義されたパラメータを、指定したサーバ・グループに適用します。この機能を使用すると、指定された CORBA インターフェイスで、サーバ・グループごとに異なるパラメータを定義することができます。

TRANTIME = number

AUTOTRANY に設定されている場合は、TRANTIME パラメータを設定する必要があります。TRANTIME は、対象トランザクションのタイムアウト値 (秒単位) を指定するためのパラメータです。この値には、0 〜 2,147,483,647 (231 - 1、つまり約 70 年) の値を指定します。 0 は、トランザクションにタイムアウトが設定されていないことを示します。デフォルト値は 30秒です。

TIMEOUT=number

この CORBA インターフェイスでメソッドの処理に使用できる時間を秒単位で指定します。値は 0 以上でなければなりません。この値が 0 の場合は、インターフェイスに対してタイムアウトが適用されないことを示します。タイムアウト・メソッドにより、インターフェイスに対してメソッドを処理するサーバが SIGKILL イベントと共に終了します。このため、インターフェイスに対する処理に時間のかかるメソッドの場合は、タイムアウト値を指定することをお勧めします。


 

ファクトリ・ルーティング基準を指定する

各 CORBA インターフェイスに対し、INTERFACES セクションでインターフェイスのルーティング基準を指定します。INTERFACES セクションでは、FACTORYROUTING 識別子を使用してルーティング基準を指定します。

University のサンプル

University Production サンプル・アプリケーションでは、ファクトリ・ベース・ルーティングのコード作成方法を示しています (リスト3-3 参照)。このサンプルの UBBCONFIG ファイル (ubb_p.nt または ubb_p.mk) は、BEA Tuxedo ソフトウェアのインストール・ディレクトリに収められています。¥samples¥corba¥university¥production サブディレクトリを検索してください。

コード リスト3-3 Production サンプルの INTERFACES セクション

*INTERFACES

"IDL:beasys.com/UniversityP/Registrar:1.0"
FACTORYROUTING = STU_ID

"IDL:beasys.com/BillingP/Teller:1.0"
FACTORYROUTING = ACT_NUM

上の例では、University Production サンプルの 2 つのインターフェイスに、完全修飾されたインターフェイス名が使用されています。また、FACTORYROUTING 識別子によって、ルーティング値の名前がそれぞれ STU_IDACT_NUM に指定されています。

INTERFACES FACTORYROUTING パラメータと ROUTING セクションの関連性については、 3-123 ページの「University Production サンプル・アプリケーションのCORBA ファクトリ・ベース・ルーティング」を参照してください。

Bankapp のサンプル

リスト3-4 は、サンプル・アプリケーション Bankapp でのファクトリ・ベース・ルーティングの指定例を示しています。

コード リスト3-4 Bankapp サンプルのファクトリ・ベース・ルーティング

*INTERFACES
"IDL:BankApp/Teller:1.0"
FACTORYROUTING=atmID
*ROUTING
atmID
TYPE = FACTORY
FIELD = "atmID"
FIELDTYPE = LONG
RANGES = "1-5:BANK_GROUP1,
6-10: BANK_GROUP2,
*:BANK_GROUP1

この例では、 IDL:Bankapp/Teller インターフェイスが、ROUTING セクションで定義された atmID という名前のファクトリ・ベース・ルーティング基準を使用しています。この例の ROUTING セクションでは、2 つのグループに処理を分散するように指定しています。atmID フィールドが 1 〜 5 または 10 より大きい場合は、BANK_GROUP1 がアプリケーションで使用されるインターフェイスを処理し、atmID が 6 〜 10 の場合は、BANK_GROUP2 がアプリケーションで使用されるインターフェイスを処理します。

ロード・バランシングを有効化する

BEA Tuxedo の CORBA 環境では、ロード・バランシングは常に有効です。

各 CORBA インターフェイスには、起動するたびに LOAD ファクタが割り当てられます。これで、各サーバ・プロセスの実行結果として CORBA インターフェイス全体にかかる負荷がトラッキングされます。各インターフェイス要求は、負荷の合計が最も低いサーバにルーティングされます。ルーティング先のサーバの負荷は、ルーティングされた CORBA インターフェイスのロード・ファクタ分 (LOAD) だけ増加します。ロード・バランシングが無効であり、複数のサーバが同じ CORBA インターフェイスを提供する場合は、使用可能な最初のキューが要求を受け取ります。

BEA Tuxedo CORBA 環境でのロード・バランシングの詳細については、『BEA Tuxedo CORBA アプリケーションのスケーリング、分散、およびチューニング』の「システム制御のロード・バランシングの有効化」を参照してください。

BEA Tuxedo のリリース 8.0 では、CORBA 環境における並列オブジェクトがサポートされるようになりました。これにより、ローカル・ドメイン内の複数サーバ間でロード・バランシングが可能になります。BEA Tuxedo CORBA 環境の並列オブジェクトについては、『BEA Tuxedo CORBA アプリケーションのスケーリング、分散、およびチューニング』の「パラレル・オブジェクトの使用」を参照してください。

インターフェイスの優先順位を指定してデータ・フローを制御する

PRIO パラメータを使用してインターフェイスの優先順位を割り当てることにより、BEA Tuxedo のクライアントまたはサーバ・アプリケーションのデータ・フローを制御することができます。たとえば、サーバ 1 がインターフェイス A、B、および C を提供し、インターフェイス A と B の優先順位が 50、インターフェイス C の優先順位が 70 であるとします。インターフェイス C に対する要求は、常に A または B に対する要求より先にキューから取り出されます。A および B に対する要求がキューから取り出される優先順位は同等です。システムは、10 回に 1 回の割合で FIFO 順序で要求をキューから取り出し、メッセージがキューで無制限に待機しないようにします。

PRIO パラメータには、以下の特性があります。

サーバ・グループごとに異なるインターフェイス・パラメータを指定する

ロード・バランシングや優先順位など、インターフェイス固有のパラメータは、サーバ・グループごとに変えて設定することができます。この場合、SRVGRP パラメータに指定したグループごとに、インターフェイスの設定を繰り返す必要があります。

 


コンフィギュレーション・ファイルの ROUTING セクションの作成方法

UBBCONFIGROUTING セクションでは、SERVICES セクション (ATMI のデータ依存型ルーティングの場合) や INTERFACES セクション (CORBA のファクトリ・ベース・ルーティングの場合) で指定されたルーティング基準を詳細に定義することができます。

注記 CORBA 環境でのファクトリ・ベース・ルーティングの設定については、『BEA Tuxedo CORBA アプリケーションのスケーリング、分散、およびチューニング』を参照してください。

次の表では、ROUTING セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。

ROUTING セクションで指定する情報 (オプション)

パラメータ (必須/オプション)

参照先 (クリックするとリンク先にジャンプ)

ルーティング・フィールドの範囲および関連するサーバ・グループを指定します。

RANGES (必須)

範囲基準

この値は、最大 15 文字の文字列です。

ATMI の場合は、データ依存型ルーティング用に SERVICES セクションの ROUTING パラメータで指定したルーティング基準名になります。

CORBA の場合は、ファクトリ・ベース・ルーティング用に、INTERFACES セクションの FACTORYROUTING パラメータで指定したルーティング基準名になります。

criterion_name (必須)


ルーティングのタイプを指定します。

ATMI の場合、デフォルトは TYPE=SERVICE になり、Tuxedo ATMI 環境で使用される既存の UBBCONFIG ファイルが引き続き正常に動作することが確認されます。

CORBA では、CORBA インターフェイスに対してファクトリ・ベース・ルーティングをインプリメントする場合は TYPE=FACTORY を使用します。

TYPE


ルーティング・フィールドの名前。値は、FML バッファ、XML の要素または要素の属性、FML フィールド・テーブルで指定された VIEW フィールド名 (FLDTBLDIR および FIELDTBLS 環境変数を使用)、または FML の VIEW テーブル (VIEWDIR および VIEWFILES 環境変数を使用) になります。この情報は、メッセージの送信時に、データ依存型ルーティングに関連するフィールド値を取得するために使用されます。

CORBA のファクトリ・ベース・ルーティングでは、この値によってルーティング・フィールドの名前が指定されます。最大 30 文字まで指定できます。この値は、そのインターフェイスの TP::create_object_reference (C++) または com.beasys.Tobj.TP::create_object_reference (Java) に対するファクトリの呼び出しで、ファクトリ・ベース・ルーティングに指定されたフィールド名と対応していなければなりません。

FIELD (必須)

ルーティング・バッファのフィールドとタイプ

このルーティング・エントリで有効なデータ・バッファのタイプとサブタイプのリストを指定します。このパラメータには、最大 32 のタイプとサブタイプの組み合わせを最大 256 文字で指定できます。

BUFTYPE (必須)

バッファのタイプとサブタイプ


 

ROUTING セクションの例

以下は、コンフィギュレーション・ファイルの ROUTING セクションの例です。

BRNCH FIELD=B_FLD 
RANGES="0-2:DBG1,3-5:DBG2,6-9:DBG3"
BUFTYPE="FML"

 


ルーティング・バッファ・フィールドとフィールド・タイプを定義する

次の表は、ルーティング・バッファ・フィールドとフィールド・タイプの説明です。


 

パラメータ

説明

FIELD

ルーティングが行われるバッファ・フィールドの名前。30 文字まで使用できます。

BEA Tuxedo のデータ依存型ルーティングでは、このパラメータの値は、FML フィールドの名前 (FML バッファ)、XML の要素または属性、FML フィールド・テーブルで指定された VIEW フィールド名 (FLDTBLDIR および FIELDTBLS 環境変数を使用)、FML の VIEW テーブル (VIEWDIR および VIEWFILES 環境変数を使用) のいずれかになります。この情報は、メッセージの処理時に、データ依存型ルーティングに関連するフィールド値を取得するために使用されます。FML32 バッファ内のフィールドがルーティングに使用される場合は、8191 以下の数値をフィールド番号として指定します。

XML 文書のルーティングでは、FIELD 構文には、ルーティング 要素のタイプ (または名前) または ルーティング要素の属性名が含まれます。FIELD パラメータは、次の構文で定義します。

root_element[/child_element][/child_element][/.. .][/@attribute_name]

要素は、XML 文書またはデータグラムの要素のタイプ (要素名) または要素の属性名と見なされます。この情報は、文書またはデータグラムの送信時に、データ依存型ルーティングに関連する要素の内容または属性値を取得するために使用されます。BEA Tuxedo システムでは、インデックス指定がサポートされていないため、データ依存型ルーティングで XML バッファを処理する場合は、指定された要素のタイプの最初のオカレンスだけが認識されます。

CORBA のファクトリ・ベース・ルーティングでは、この値によってルーティング・フィールドの名前が指定されます。最大 30 文字まで指定できます。この値は、そのインターフェイスの

TP::create_object_reference (C++) または com.beasys.Tobj.TP::create_object_reference (Java) に対するファクトリの呼び出しで、ファクトリ・ベース・ルーティングに指定されたフィールド名と対応していなければなりません。

FIELDTYPE

このパラメータは、XML バッファをルーティングする場合にのみ使用されます。このパラメータは、FIELD で指定されたルーティング・フィールドのタイプを示します。構文は次のとおりです。

FIELDTYPE=type

typestringcharhortlongfloat、または double のいずれかです。

ルーティング・フィールドのデフォルトのデータ型は string です。


 

 


範囲の基準を指定する

RANGES パラメータでは、フィールド値を次のようにグループ名にマップできます。

RANGES=”[val1[-val2]:group1] [,val3[-val4]:group2]...[,*:groupn]”

val1val2 などはフィールドの値であり、groupn はグループ名または任意のグループが選択されることを示すワイルドカード文字 (*) です。最後に val の代わりに指定されている * は「catch-all」、つまり、データが指定された範囲内にない場合はデフォルトのグループに割り当てられることを示します。また、データが範囲内にあっても、その範囲のエントリに関連する有効なサーバがグループ内にない場合、サービス要求は、ワイルドカード「*」で指定したデフォルトのグループに転送されます。val1 には、以下の値を使用できます。

範囲はいくつでも指定できますが、ルーティング情報は共用メモリに保存されるため、システム・リソースを消費します。

注記 範囲は重複してもかまいません。ただし、値が 2 つの範囲に当てはまる場合、その値は最初のグループにマッピングされます。たとえば、RANGESRANGES=”0-5:Group1,3-5:Group2" に指定されている場合、4Group1 にルーティングされます。

 


バッファ・タイプを定義する

BEA Tuxedo のデータ依存型ルーティングでは、BUFTYPE パラメータを使用して、バッファ・タイプを指定できます。このパラメータは、特定のバッファ・タイプとサブタイプに対してルーティング基準を適用するため、SERVICES セクションの対応するパラメータと似ています。ルーティングに使用できるのは、FMLXML、および VIEW 型だけです。構文は、SERVICES セクションと同じく、type:subtype[,subtype] をセミコロンで区切ってリストします。ルーティング基準には 1 つのタイプしか指定できません。この制限により、サービスのルーティング時に受け付けられるバッファ・タイプの数が限定されます。

 


University Production サンプル・アプリケーションのCORBA ファクトリ・ベース・ルーティング

CORBA University Production サンプル・アプリケーションでは、BEA Tuxedo でファクトリ・ベース・ルーティングをインプリメントする方法を示します。このサンプルの UBBCONFIG ファイル (ubb_p.nt または ubb_p.mk) は、BEA Tuxedo ソフトウェアのインストール・ディレクトリに収められています。¥samples¥corba¥university¥production サブディレクトリを検索してください。

ubb_b.nt コンフィギュレーション・ファイルから抜粋した以下の INTERFACES、ROUTING、および GROUPS セクションは、BEA Tuxedo の CORBA アプリケーションでファクトリ・ベース・ルーティングをインプリメントする方法を示しています。

INTERFACES セクションには、ファクトリ・ベース・ルーティングを有効にするインターフェイスの名前がリストされています。各インターフェイスに対し、このセクションでインターフェイスのルーティング基準を指定します。このセクションでは、リスト3-5 の例に示すように、識別子 FACTORYROUTING を使用してルーティング基準を指定します。

コード リスト3-5 Production サンプルの INTERFACES セクション

*INTERFACES

"IDL:beasys.com/UniversityP/Registrar:1.0"
FACTORYROUTING = STU_ID

"IDL:beasys.com/BillingP/Teller:1.0"
FACTORYROUTING = ACT_NUM

上の例では、ファクトリ・ベース・ルーティングを使用する Production サンプルで、2 つのインターフェイスに完全修飾されたインターフェイス名が使用されています。また、FACTORYROUTING 識別子によって、ルーティング値の名前がそれぞれ STU_IDACT_NUM に指定されています。

ROUTING セクションでは、ルーティング値ごとに以下のデータを指定します。

リスト3-6 は、Production サンプル・アプリケーションで使用される UBBCONFIG ファイルの ROUTING セクションを示しています。

コード リスト3-6 Production サンプルの ROUTING セクション

*ROUTING

STU_ID
FIELD = "student_id"
TYPE = FACTORY
FIELDTYPE = LONG
RANGES = "100001-100005:ORA_GRP1,100006-100010:ORA_GRP2"

ACT_NUM
FIELD = "account_number"
TYPE = FACTORY
FIELDTYPE = LONG
RANGES = "200010-200014:APP_GRP1,200015-200019:APP_GRP2"

上の例では、ID が特定の範囲に含まれる学生の Registrar オブジェクトが 1 つのサーバ・グループに、別の範囲に含まれる学生の Registrar オブジェクトが別のグループにインスタンス化されています。同様に、特定の範囲に含まれる口座の Teller オブジェクトが 1 つのサーバ・グループに、別の範囲に含まれる口座の Teller オブジェクトが別のグループにインスタンス化されています。

UBBCONFIG ファイルの ROUTING セクションで RANGES 識別子によって指定されたグループを、識別して設定する必要があります。たとえば、Production サンプルでは、ORA_GRP1ORA_GRP2APP_GRP1、および APP_GRP2 の 4 つのグループが指定されていますが、ここでこれらのグループを設定し、実行するマシンを識別する必要があります。

リスト3-7 は、Production サンプルの UBBCONFIG ファイルにある GROUPS セクションの例を示しています。GROUPS セクションの名前と、ROUTING セクションで指定された名前の関係に注意してください。ファクトリ・ベース・ルーティングを正しく機能させるには、両方の名前を一致させる必要があります。また、アプリケーションでグループを設定する際にグループ名を変更した場合は、ROUTING セクションにも反映しなければなりません。BEA Tuxedo ソフトウェアに収録されている Production サンプルは、1 台のマシンで実行するように設定されていますが、複数のマシンで実行するように設定することもできます。

コード リスト3-7 Production サンプルの GROUPS セクション

*GROUPS

APP_GRP1
LMID = SITE1
GRPNO = 2
TMSNAME = TMS

APP_GRP2
LMID = SITE1
GRPNO = 3
TMSNAME = TMS

ORA_GRP1
LMID = SITE1
GRPNO = 4
OPENINFO = "ORACLE_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=100+LogDir=.+MaxCur=5"
   CLOSEINFO = ""
TMSNAME = "TMS_ORA"

ORA_GRP2
LMID = SITE1
GRPNO = 5
OPENINFO = "ORACLE_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=100+LogDir=.+MaxCur=5"

CLOSEINFO = ""
TMSNAME = "TMS_ORA"

 


Bankapp サンプル・アプリケーションの CORBA ファクトリ・ベース・ルーティング

リスト3-8 は、INTERFACES セクションを使用して Bankapp サンプル・アプリケーションを拡張し、ファクトリ・ベース・ルーティングを使用する方法を示しています。BEA Tuxedo ソフトウェアに収録されているサンプル・アプリケーションでは、以下のパラメータは設定されていません。

コード リスト3-8 Bankapp サンプルの INTERFACES セクション

*INTERFACES
"IDL:BankApp/Teller:1.0"
FACTORYROUTING=atmID
*ROUTING
atmID
TYPE = FACTORY
FIELD = "atmID"
FIELDTYPE = LONG
RANGES = "1-5:BANK_GROUP1,
6-10: BANK_GROUP2,
*:BANK_GROUP1
*GROUPS
SYS_GRP
LMID = SITE1
GRPNO = 1
BANK_GROUP1
LMID = SITE1
GRPNO = 2
BANK_GROUP2
LMID = SITE1
GRPNO = 3

この例では、IDL:Bankapp/Teller インターフェイスが、ROUTING セクションで定義された atmID という名前のファクトリ・ベース・ルーティング基準を使用しています。この例では、以下の 2 つのサーバ・グループに処理が分散されます。

 


スレッドを利用する BEA Tuxedo システムの設定方法

マルチコンテキスト化されたアプリケーションをコンフィギュレーションするには、UBBCONFIG ファイルを通常どおりに編集し、アプリケーションに必要な次の表のパラメータを追加します。編集には、テキスト・エディタまたは BEA Tuxedo Administration Console を使用します。

表 0-3 スレッドを使用するコンフィギュレーション・ファイルのパラメータの設定

セクション

パラメータ

注意事項

RESOURCES

MAXACCESSERS

オプション・パラメータ。ただし、50 アクセサ (デフォルト値) より大きい値を指定する必要があります。

ライセンスの制限のため、マルチコンテキスト化されたクライアントの各コンテキストは個別にカウントされます。

NOTIFY

オプション・パラメータ。任意通知型通知に適用するデフォルトの方法を定義します。マルチコンテキスト化されたアプリケーションの有効値は、次のとおりです。

MACHINES

MAXACCESSERS

オプション・パラメータ。ただし、50 アクセサ (デフォルト値) より大きい値を指定する必要があります。

ライセンスの制限のため、マルチコンテキスト化されたクライアントの各コンテキストは個別にカウントされます。

MAXWSCLIENTS

オプション・パラメータ。

マルチコンテキスト化されたワークステーション・クライアントの各コンテキストは、ライセンス制限のため、個別にカウントされます。デフォルト値は 0 であるため、ワークステーション・クライアントが定義されているマシンを介してシステムにアクセスする場合は、このパラメータを設定する必要があります

SERVERS

MINDISPATCHTHREADS

オプション・パラメータ。

MAXDISPATCHTHREADS

マルチスレッド化されたサーバの必須パラメータ。

既存のサーバをマルチスレッド化する場合、経験のあるプログラマは、サーバのソース・コードがスレッド・セーフな方法で作成されているかどうかを検証しなければなりません。つまり、コンフィギュレーション・ファイルの MAXDISPATCHTHREADS の値を増やすだけで、静的変数でシングルスレッド化されたサーバをマルチスレッド化されたサーバに変換することはできません。このようなサーバは、マルチスレッド用として作成する必要があります。

THREADSTACKSIZE

オプション・パラメータ。

サーバ・ディスパッチ・スレッドに対してサイズの大きいスタックが必要な場合に設定します。

デフォルト値は 0 です。ほとんどのアプリケーションでは、デフォルト値で十分です。オペレーティング・システムに 0 が渡されると、オペレーティング・システムに設定されているデフォルト値が呼び出されます。


 

 


コンフィギュレーション・ファイルのコンパイル方法

コンフィギュレーション・ファイルのコンパイルとは、テキスト形式の UBBCONFIG ファイルを、バイナリ形式の TUXCONFIG ファイルに変換することです。コンフィギュレーション・ファイルをコンパイルするには、tmloadcf コマンドを実行します。tmloadcf により UBBCONFIG ファイルが解析され、バイナリ形式のファイルがロードされます。

tmloadcf は、ファイル (UBBCONFIG の構文に記述された標準入力) を読み取って構文をチェックし、成功すると、バイナリ形式のコンフィギュレーション・ファイルである TUXCONFIG ファイルをロードします。TUXCONFIG 環境変数および TUXOFFSET 環境変数 (オプション) により、TUXCONFIG ファイルとオフセットが指定され、情報はこの場所に格納されます。tmloadcf は、-c または -n オプションが指定されていない限り、UBBCONFIG ファイルの RESOURCES セクションで指定されている MASTER マシンでのみ実行できます。

注記 UBBCONFIG ファイルの RESOURCES セクションに UID が指定されている場合、この値は、tmloadcf を実行する担当者のユーザ識別子 (UID) と同じでなければなりません。

TUXCONFIG 環境変数に指定されたパス名は、UBBCONFIG ファイルの MACHINES セクションに指定されている TUXCONFIG パラメータの値と完全に一致しなければなりません (大文字と小文字の区別も含む)。パス名が一致していない場合、tmloadcf(1) は正常に実行されません。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy