bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo アプリケーションの設定 > ワークステーション・クライアントの設定 |
Tuxedo アプリケーションの設定
|
ワークステーション・クライアントの設定
ここでは、次の内容について説明します。
ワークステーション・クライアントの定義
ワークステーション・クライアントを BEA Tuxedo アプリケーションに参加させるには、対応するアプリケーション環境が必要です。BEA Tuxedo システムには、次の表に示すような、環境設定用の変数が用意されています。TUXDIR および WSNADDR は必須の変数であり、それ以外は、オプションの変数です。WSENVFILE 以外のパラメータには、デフォルト値が用意されています。
ワークステーション・クライアントの最大数の設定
アプリケーションにワークステーション・クライアントを参加させるには、UBBCONFIG ファイルの MACHINES セクションで MAXWSCLIENTS パラメータを指定する必要があります。
MAXWSCLIENTS は、Workstation 機能専用の唯一のパラメータです。MAXWSCLIENTS に指定された値は、BEA Tuxedo システムの起動時に通知され、ワークステーション・クライアント用に確保するアクセサ・スロットの数が決まります。ネイティブ・クライアントの場合、各アクセサ・スロットに必要なセマフォは 1 つです。一方、ワークステーション・ハンドラ・プロセス (ワークステーション・クライアントの代わりにネイティブ・プラットフォーム上で実行するプロセス) は、ワークステーション・クライアントのアクセスを単一のアクセサ・スロットに多重化するので、必要なセマフォは 1 つだけです。この点も、Workstation コンポーネントの利点の 1 つです。多くのクライアントをネイティブ・プラットフォームからワークステーションに移動することによって、アプリケーションで使用する IPC 資源を減らすことができます。
MAXWSCLIENTS は、MAXACCESSERS に指定された数のうち、指定された数のアクセサ・スロットを使用します。MAXWSCLIENTS の設定時には、ネイティブ・クライアントとサーバを収容するために必要な数のスロットを残しておく必要があります。MAXWSCLIENTS 値が MAXACCESSERS 値を超えると、tpinit() の実行時にネイティブ・クライアントとサーバが失敗します。次の表は、MAXWSCLIENTS パラメータの説明です。
ワークステーション・リスナ (WSL) をサーバとして定義する
ワークステーション・クライアントがアプリケーションにアクセスするときは、1 つの WSL プロセスと 1 つ以上の WSH プロセスのサービスが介在します。WSL は、複数のワークステーション・クライアントをサポートできます。つまり、すべてのワークステーション・クライアントは、WSL のコマンド行で指定される同一のネットワーク・アドレスでアプリケーションと接続します。リスナは、1 つまたは複数のワークステーション・ハンドラ・プロセスをスケジューリングします。
WSH プロセスは、アプリケーションの管理ドメインで、リモート・ワークステーション上のクライアントの代理として機能します。WSH は多重化スキーマによって、複数のワークステーション・クライアントを同時にサポートします。
アプリケーションにワークステーション・クライアントを参加させるには、UBBCONFIG ファイルの SERVERS セクションにワークステーション・リスナ (WSL) のプロセスを指定する必要があります。サーバを指定する場合と同じ構文を使用してください。
WSL プロセスに情報を渡す
WSL プロセスに情報を渡すには、コマンド行オプション文字列 (CLOPT) を使用します。CLOPT パラメータの形式は、次のとおりです。
CLOPT="[ -A ] [servopts_options] -- -n netaddr [-d device]
[-w WSHname][-t timeout_factor][-T Client_timeout]
[-m minh][-M maxh][-x mpx_factor ]
[-p minwshport][-P maxwshport]
[-I init_timeout][-c compression_threshold]
[-k compression_threshold]
[-z bits][-Z bits][-H external_netaddr]
[-N network_timeout][-K{client|handler|both|none}]"
-A オプションを指定すると、WSL は起動時にすべてのサービスを提供します。デフォルトでは、このオプションが用意されていますが、ここでは、システム提供のサーバとアプリケーション・サーバの違いを強調するために示してあります。アプリケーション・サーバの起動時には、利用可能なサービスのサブセットだけが提供される場合もあります。
二重ダッシュ (--) は、起動後に WSL に渡されるパラメータ・リストの開始位置を示します。
CLOPT でのコマンド行オプションの使用
以下のコマンド行オプションは、CLOPT 文字列の二重ダッシュ (--) の後に指定することができます。
注記 CLOPT コマンド行オプションの総合一覧については、『BEA Tuxedo のファイル形式とデータ記述方法』の servopts(5) を参照してください。
関連項目
ネットワーク障害の検出
Workstation コンポーネントには、ネットワーク接続が切断されてもハング状態が無期限に続かないようにするための、WSL 用の管理オプションが用意されています。これにより、次のことを実現できます。
keep-alive オプションの使用
keep-alive は、ワークステーション・ハンドラとワークステーション・クライアントの間で一定期間トラフィックが発生しなかった場合に、その接続の実行可能性を定期的にチェックするネットワーク機能です。
keep-alive オプションを要求するには、UBBCONFIG ファイルの SERVERS セクションで、WSL CLOPT エントリに -K オプションを追加します。-K オプションは、client、handler、both、または noneという引数をとります。
UBBCONFIG ファイル内のエントリは、次のようになります。 WSL SRVGRP="WSLGRP" SRVID=1000 RESTART=Y GRACE=0 この例では、-K により、ワークステーション・クライアントとワークステーション・サーバの両方の keep-alive チェックが有効になります。 UBBCONFIG の WSL エントリの詳細については、『BEA Tuxedo のファイル形式とデータ記述方法』の WSL(5) を参照してください。 注記 指定したタイムアウト値は、システム全体に適用されます。1 つのアプリケーションに対してタイムアウト値を指定し、その値を後で変更すると、keep-alive を使用するすべてのアプリケーションに影響します。 keep-alive オプションの制約 keep-alive オプションは、ソケットを使用する BEA Tuxedo システムを搭載したプラットフォームでのみサポートされます。
CLOPT="-A -- -n //ws.beasys.com:5120 -d /dev/tcp -K both"
このオプションは、上記以外のプラットフォームでは使用できません。BEA Tuxedo システムでは、どのサーバ・マシンにも -K オプションを指定できますが、上記以外のプラットフォームでは正しく実行されません。上記以外のプラットフォームで keep-alive 機能を実行すると失敗し、ユーザ・ログにメッセージが書き込まれます (WSH のプロセスごとに 1 回)。処理は、通常どおり続行します。
注記 keep-alive 機能は、TCP/IP 通信でのみ有効です。
ネットワーク・タイムアウト・オプションの使用
ネットワーク・タイムアウトとは、ワークステーション・クライアントによる操作を待機する時間を指定するオプションです。ここで指定した時間を経過すると、操作に対する要求は、ネットワーク上でキャンセル (タイムアウト) されます。
ネットワーク・タイムアウトは、WSL の管理オプションである -N を使用して要求できます。-N オプションは、ネットワーク・タイムアウトを使用して、ワークステーション・クライアントのデータを受信します。
ネットワーク・タイムアウトのしくみ
ネットワーク・タイムアウト・オプションにより、ワークステーション・クライアントがネットワークからデータを受信するための BEA Tuxedo 操作を待機する期間 (秒単位) が指定されます。この期間を過ぎると、操作は失敗し、クライアントはアプリケーションから切断されます。値 0 (デフォルト) はタイムアウトが発生しないことを示します。
注記 この値を低く設定しすぎると、接続が頻繁に切断されます。
タイムアウトが発生すると、各 ATMI 関数はエラーを返します。リンクでタイムアウトが発生すると、アプリケーションに通知されます。この場合、既存のエラー・コードが使用されます。特定のエラー・コードの詳細については、tperrordetail(3c) を呼び出して参照してください。ネットワーク・タイムアウトが発生すると、未処理の操作は信頼できない状態になります。つまり、トランザクションが途中で終了したり、応答が失われたりします。アプリケーションへの接続を安全に終了するには、WSH と通信せずに、tpterm(3c) の呼び出しと同じ操作を行います。
操作が返される時点では、クライアントは BEA Tuxedo アプリケーションの一部ではなくなっています。クライアントを再度アプリケーションに参加させるには、次のどちらかの方法を使用します。
ネットワーク・タイムアウト・オプションの制限
ネットワーク・タイムアウト・オプションの設定
BEA Tuxedo アプリケーションにネットワーク・タイムアウト・オプションを指定するには、WSL CLOPT の引数に -N オプションを追加します。
ワークステーション・クライアントをサポートするコンフィギュレーション・ファイルの例
以下のサンプル・コンフィギュレーション・ファイルからの抜粋は、bankapp アプリケーションにワークステーション・コンポーネントを追加する方法を示しています。ここでは、MACHINES セクションと SERVERS セクションが変更されています。
コード リスト11-1 ワークステーション・クライアントをサポートする UBBCONFIG ファイルの例
*MACHINES
SITE1
...
MAXWSCLIENTS=150
...
SITE2
...
MAXWSCLIENTS=0
...
*SERVERS
...
WSL SRVGRP=”BANKB1" SRVID=500 RESTART=Y
CLOPT=”-A -- -n //ws.beasys.com:5120 -m 5 -M 30 -x 5"
...
MACHINES セクションおよび SERVERS セクションの変更
MACHINES セクションおよび SERVERS セクションが次のように変更されています。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |