BEA Logo BEA Tuxedo Release 8.0

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

 

   Tuxedo ホーム   |   BEA Tuxedo アプリケーションの設定   |   先頭へ   |   前へ   |   次へ   |   目次

 


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

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

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

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

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

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

表 3-2 に、AUTOTRANFACTORYROUTINGLOADPRIOSRVGRPTRANTIME、および TIMEOUT パラメータの特性を示します。

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 サブディレクトリを検索してください。

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 セクションの関連性については、「University Production サンプル・アプリケーションのCORBA ファクトリ・ベース・ルーティング」を参照してください。

Bankapp のサンプル

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

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 パラメータに指定したグループごとに、インターフェイスの設定を繰り返す必要があります。

 

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