|
|
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 を使用してルーティング基準を指定します。
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_ID と ACT_NUM に指定されています。
ROUTING セクションでは、ルーティング値ごとに以下のデータを指定します。
リスト 3-6 は、Production サンプル・アプリケーションで使用される UBBCONFIG ファイルの ROUTING セクションを示しています。
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_GRP1、ORA_GRP2、APP_GRP1、および APP_GRP2 の 4 つのグループが指定されていますが、ここでこれらのグループを設定し、実行するマシンを識別する必要があります。
リスト 3-7 は、Production サンプルの UBBCONFIG ファイルにある GROUPS セクションの例を示しています。GROUPS セクションの名前と、ROUTING セクションで指定された名前の関係に注意してください。ファクトリ・ベース・ルーティングを正しく機能させるには、両方の名前を一致させる必要があります。また、アプリケーションでグループを設定する際にグループ名を変更した場合は、ROUTING セクションにも反映しなければなりません。BEA Tuxedo ソフトウェアに収録されている Production サンプルは、1 台のマシンで実行するように設定されていますが、複数のマシンで実行するように設定することもできます。
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"
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|