2.5.2 UBBCONFIGファイルでのファクトリ・ベース・ルーティングの構成
University Productionサンプル・アプリケーションでは、ファクトリ・ベース・ルーティングの実装方法が例示されます。ubb_b.nt構成ファイルからのINTERFACES、ROUTING、およびGROUPSセクションには、Oracle Tuxedo CORBAアプリケーションでファクトリ・ベース・ルーティングを実装する方法が示されています。このサンプルのubb_p.ntまたはubb_p.mk UBBCONFIGファイルは、Oracle Tuxedoソフトウェアをインストールしたディレクトリにあります(\samples\corba\university\productionサブディレクトリを参照)。
UBBCONFIGファイルでは、グループおよびマシンの識別方法に加えて、INTERFACESおよびROUTINGセクションにおいて、次のデータを指定する必要があります。
INTERFACESセクションには、ファクトリ・ベース・ルーティングを有効にするインタフェースの名前がリストされています。各インタフェースについて、このセクションではインタフェースがルーティングを行う基準の種類を指定します。このセクションでは、次のコード・スニペットに示すように、識別子FACTORYROUTINGでルーティング基準を指定します。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セクションは、各ルーティング値について、次の表に示すパラメータを指定します。表2-1 ROUTINGセクションで指定されるパラメータ
パラメータ 説明 TYPEルーティングのタイプを指定します。Productionサンプルでは、ルーティングのタイプはファクトリ・ベース・ルーティングです。したがって、このパラメータは FACTORYと定義されます。FIELDファクトリがルーティング値に挿入する変数名を指定します。Productionサンプルでは、このフィールド・パラメータがそれぞれ student_idとaccount_numberに設定されています。FIELDTYPEルーティング値のデータ型を指定します。Productionサンプルでは、 student_idおよびaccount_numberのフィールド型はlongです。RANGES各グループにルーティングされる値を指定します。 次のコード・スニペットは、Productionサンプル・アプリケーションで使用する
UBBCONFIGファイルのROUTINGセクションを示しています。
次のリストは、IDが特定の範囲にある学生の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"Registrarオブジェクト参照が1つのサーバー・グループにルーティングされ、IDが別の範囲にある学生のRegistrarオブジェクト参照が別のグループにルーティングされることを示しています。同様に、ある1つの範囲の口座に対するTellerオブジェクト参照は、ある1つのサーバー・グループにルーティングされ、別の範囲の口座に対するTellerオブジェクト参照は、別のグループにルーティングされます。UBBCONFIGファイルのROUTINGセクションでRANGES識別子によって指定されたグループを、識別して構成する必要があります。たとえば、ProductionサンプルはAPP_GRP1、APP_GRP2、ORA_GRP1、およびORA_GRP2という4つのグループを指定します。これらのグループを構成し、グループが実行されるマシンを識別する必要があります。次のコード・スニペットは、ProductionサンプルのUBBCONFIGファイルのGROUPSセクションを示します。ここでは、ORA_GRP1およびORA_GRP2グループが構成されています。GROUPSセクション内の名前と、ROUTINGセクションのRANGESパラメータで指定されたグループ名がどのように一致しているかに注目してください。これは、ファクトリ・ベース・ルーティングが正しく機能するために重要です。さらに、アプリケーションでのグループの構成方法の変更は、ROUTINGセクションに反映させる必要があります。ノート:
Oracle Tuxedoソフトウェアに同梱されているProductionサンプルは、1つのマシンで完全に実行するように構成されています。ただし、このアプリケーションを複数のマシンで実行できるように構成することは簡単です。)*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"
親トピック: ファクトリ・ベース・ルーティングによるスケーリング