Oracle Tuxedo Domainsコンポーネント

     前  次    新規ウィンドウで目次を開く  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

CORBA Domainsの計画と構成

以下の項は、Oracle Tuxedo CORBA Domains環境のドメインの計画および構成の方法について説明します。

 


CORBA Domains環境の概要

Oracle Tuxedo Domains構成は、「Oracle TuxedoのDomainsコンポーネントとは」で説明されているようにコアATMIドメイン環境を拡張したものです。Oracle Tuxedoドメイン(ビジネス・アプリケーション)は、完全に管理可能な構造体です。ドメインを参照するプログラミング・インタフェースはありません。ドメインを意識するのは管理者のみです。

Oracle Tuxedo Domains構成では、管理者はその構成の中でどのサーバーがほかのサーバーで利用できるかを構成できます。このため、CORBAの観点から見ると、Oracle Tuxedo DomainsコンポーネントはOracle Tuxedo CORBAアプリケーションが相互に作用してリソースを共有するための手段であると言えます。CORBAクライアントと参加アプリケーションは、Domains構成について何も意識する必要はありません。知っておく必要があるのは、どのファクトリ・オブジェクトが利用可能で、どうしたらそのオブジェクトにアクセスできるのかということだけです。

ドメイン間のこの透過性により、管理者は各ドメインのサービスを構成し、複数のドメイン間にリソースを分散することができます。ドメインに関する情報がアプリケーションに存在する場合、構成を変更すると、アプリケーションも同様に作成し直す必要があります。

 


シングル・ドメイン通信とマルチ・ドメイン通信

図3-1は、2つのOracle Tuxedo CORBAアプリケーションで構成されたシンプルなDomains構成を示しています。

図3-1 2つのCORBAアプリケーションから構成されるDomains構成

2つのCORBAアプリケーションから構成されるDomains構成

以降のシングル・ドメインとマルチ・ドメインに関する説明は、このシンプルなDomains構成に基づいています。

シングル・ドメイン通信

以下は、シンプルDomains構成におけるCORBAクライアントXとドメインA間のシングル・ドメイン通信の手順です。

  1. クライアントXは、Bootstrapオブジェクトを使用してドメインAに接続します。クライアント・アプリケーションは、Bootstrapオブジェクトを使用してFactoryFinderを検索し、そのFactoryFinderを使用して、ファクトリにタイプQのオブジェクトを要求します(FactoryFinderの呼出しは、ドメインAの呼出しになります)。
  2. FactoryFinderからファクトリが返されると、クライアントはドメインAでそのファクトリを呼び出します。
  3. ファクトリは、タイプQのオブジェクト参照(Q1)を返します。
  4. クライアントは、ドメインAでオブジェクトQ1を呼び出します。

この手順を通じて、クライアントはオブジェクトがどこにあるのか、つまりどのドメインにあるのかについて何も知りません。

クライアント・マシンは単純な構造で、必要なインフラストラクチャも少ないため(大部分はスタンドアロン)、クライアントをドメインAに接続するための管理は比較的単純です。もちろん、Oracle Tuxedoドメインへの接続はクライアントのプライマリ管理です。実際の管理作業は、ドメインAにあるISLのアドレスを設定することになります。

マルチ・ドメイン通信

マルチ・ドメイン通信の場合、シンプルDomains構成のQ1はドメインCにあるオブジェクトR1のサービスを要求するので、ドメインの境界をまたいで上のステップ1 - 4に対応する処理を実行する必要があります。実際の手順は以下のようになります。

  1. オブジェクトQ1はBootstrapオブジェクトを使用してFactoryFinderを検索し、そのFactoryFinderを使用して、ファクトリにタイプRのオブジェクトを要求します。
  2. FactoryFinderからドメインCのファクトリへの参照が戻されると、オブジェクトQ1はそのファクトリを呼び出します。
  3. ファクトリは、タイプRのオブジェクト参照(R1)を返します。
  4. オブジェクトQ1がオブジェクトR1を呼び出します。

クライアントXで、オブジェクトQ1がドメインCのファクトリとオブジェクトを取得するには、何らかの管理タスクが必要です。シンプルDomains構成に示すように、ドメイン間通信にはドメイン・ゲートウェイを使用します。ドメイン・ゲートウェイは、ドメイン内のシステム・サーバーです。

システム・サーバーは、ユーザー定義のサーバーとは異なり、ネーム・サーバー、FactoryFinder、ISLなどと共にOracle Tuxedo製品の一部として提供されています。ドメイン・ゲートウェイは、ドメインの接続ポイントになるので、概念的にはISLと似ています。ただし、ISLと異なり、ドメイン・ゲートウェイは別のドメイン・ゲートウェイに接続し、それ自身がドメインの接続ポイントになります。つまり、ドメイン・ゲートウェイの役割は、別のドメイン・ゲートウェイに接続することです。したがって、2つのドメイン・ゲートウェイは相互に協調し合い、別のドメインに存在するオブジェクトの呼出しが、適切なドメインに確実にルーティングされるようにします。

 


CORBA Domains構成の要素

Oracle CORBA Domains構成は、以下の要素で構成されます。

注意: アプリケーションは、オブジェクト参照のドメインを認識しません。つまり、アプリケーション側では、オブジェクト参照が参照するドメインを見つけられません。

 


構成ファイルの使い方

次の3つの構成ファイルを使用して、CORBA Domains構成を設定します。

CORBA Domains構成の各ドメインでは、これら3つのファイルのセットが必要です。管理者は、構成ファイルの各セット内、および構成ファイルのセット間で構成を調整する必要があります。Domains構成でドメインの数が増えると、構成を調整する手間も増えることになります。

UBBCONFIGファイル

複数のドメインを構成するには、UBBCONFIGファイルで以下のパラメータを指定する必要があります。

ドメイン名

単一のOracle Tuxedoドメイン(スタンドアロン・ドメイン)の場合は不要ですが、別のドメインに接続しているドメインにはDOMAINIDが必要です。このパラメータは、次のようにUBBCONFIGファイルのRESOURCESセクションで指定します。

DOMAINID domain_name

domain_nameの長さは1から13文字である必要があります。例:

DOMAINID headquarters

domain_nameは、関連するDMCONFIGファイルのDM_EXPORTおよびDM_IMPORTセクションで参照される名前です。domain_nameは次の形式で参照されます。

"//domain_name"

二重引用符も参照の一部として必要です。スラッシュ(//)は、この名前がOracle Tuxedo ATMIドメインではなくOracle Tuxedo CORBAドメインに適用されることを意味します。例:

"//headquarters"

企業内の各ドメインには、一意のdomain_nameを指定する必要があります。

ゲートウェイのグループとサーバー名

ほかのすべてのOracle Tuxedoシステム・サーバーと同じように、ゲートウェイのグループとサーバー名を指定する必要があります。たとえば、UBBCONFIGファイルのGROUPSセクションで次のように指定します。

LGWGRP LMID=LDOM  GRPNO=4

この例では、LGWGRPはユーザーが選択した名前(おそらく、"Local Gateway Group"の略語)です。

Oracle Tuxedoドメイン・ゲートウェイ(TDomainゲートウェイ)のサーバー名はGWTDOMAINで、ほかのグループ同様、サーバー・グループおよびサーバーIDと関連付ける必要があります。GWTDOMAIN名は、選択したサーバー・グループ名と関連付けられたSERVERSセクションで指定します。例:

GWTDOMAIN  SRVGRP=LGWGRP  SRVID=1

このエントリは、TDomainゲートウェイを使用する必要があり、追加情報はDMCONFIGファイルに記載されていることをOracle Tuxedo CORBAアプリケーションに通知します。

DMCONFIGファイル

Domains構成に参加する各Oracle Tuxedoドメインでは、それ専用のDMCONFIGファイルが必要です。DMCONFIGファイルでは、ローカル・ドメイン(DMCONFIGファイルのあるドメイン)と1つ以上のリモート・ドメイン(ローカル・ドメインが相互運用されるドメイン)の関係を指定します。

DMCONFIGファイルのほとんどのドキュメントでは、サービスを共有するためのOracle Tuxedo ATMIドメインの構成が中心的に説明されていますが、それはOracle Tuxedo CORBA環境には適切ではありません。Oracle Tuxedo CORBA Domains環境では、「サービス」はOracle Tuxedo CORBAリクエストにサービスできるOracle Tuxedoドメインの名前でしかありません。

CORBA Domains環境には、DMCONFIGファイルの次の7セクションが適用されます。

注意: DM_LOCALセクションは、DM_REMOTEセクションの前になければなりません。

これら7つのセクションの多くのパラメータはATMI用のパラメータなので、CORBA Domains環境の構成には関係ありません。

以降の説明は、リスト3-1で示されているサンプルDMCONFIGファイルに基づいています。

リスト3-1 Oracle Tuxedo CORBA Domains環境のサンプルDMCONFIGファイル
#
#
BEA Tuxedo CORBA Domains Configuration File
#
*DM_RESOURCES
VERSION=Experimental8.9
*DM_LOCAL
LDOM   GWGRP=LGWGRP  TYPE=TDOMAIN  ACCESSPOINTID="MUTT"
*DM_REMOTE
TDOM1  TYPE=TDOMAIN  ACCESSPOINTID="JEFF"
*DM_EXPORT
"//MUTT"
*DM_IMPORT
"//JEFF" RACCESSPOINT=TDOM1
*DM_TDOMAIN
LDOM NWADDR="//sanfran.kmart.com:2507"
TDOM1 NWADDR="//sanhose.kmart.com:3186"
注意: このコード・リストのACCESSPOINTIDパラメータはDOMAINIDパラメータで置換でき、RACCESSPOINTパラメータはRDOMパラメータで置換できます。このコード・リストでは、新しいDMCONFIG用語が使われています。

DM_RESOURCES

DM_RESOURCESセクションでは、グローバルのDomains構成情報、具体的にはユーザー指定の構成バージョン文字列を指定します。このセクションでは、VERSION=stringが唯一のパラメータです。stringは、現在のDMCONFIGファイルのバージョン番号を入力できるフィールドです。このフィールドはソフトウェアによってチェックされません。

サンプルのDMCONFIGファイルでは、VERSIONパラメータが次のようにExperimental8.9に設定されています。

*DM_RESOURCES
VERSION=Experimental8.9

DM_LOCAL

DM_LOCALセクション(DM_LOCAL_DOMAINSセクション)では、1つ以上のローカル・ドメイン・アクセス・ポイント(論理名)を定義します。定義した各ローカル・ドメイン・アクセス・ポイントについて、このセクションでアクセス・ポイントのドメイン・ゲートウェイ・グループ(TDOMAINなど)を指定します。また、CORBA環境用に、アクセス・ポイントを通じてアクセスできるローカルOracle Tuxedoドメインのdomain_nameDM_EXPORTセクションで指定します。ローカル・ドメインは、1つ以上のリモートOracle TuxedoドメインのCORBAクライアントからローカル・ドメイン・アクセス・ポイントを通じてアクセス可能になります。

DM_LOCALセクションでは、UBBCONFIGファイルで定義されたドメイン・ゲートウェイ・グループごとに1つだけ必ずエントリが必要です。各エントリでは、グループで実行中のドメイン・ゲートウェイ・プロセスに必要なパラメータを指定します。

DM_LOCALセクションのエントリの形式は次のとおりです。

LocalAccessPoint required_parameters [optional_parameters]

LocalAccessPointは、UBBCONFIGファイルで定義されたゲートウェイ・グループを表すために選択したローカル・ドメイン・アクセス・ポイント識別子(論理名)です。ローカル・ドメイン・アクセス・ポイントは、UBBCONFIGファイルで指定されたdomain_nameまたはゲートウェイ・グループと同じ名前ではありません。ローカル・ドメイン・アクセス・ポイントはDMCONFIGファイル内でのみ使用される名前であり、UBBCONFIGファイルが変更された場合の影響を限定します。UBBCONFIGの変更はローカル・ドメイン・アクセス・ポイントに定義されたパラメータのみに影響し、DMCONFIGファイルを通じて使用されるローカル・ドメイン・アクセス・ポイントの論理名には影響しません。

以下は、必須パラメータです。

GWGRP = identifier

このパラメータでは、このローカル・ドメイン・アクセス・ポイントに関連付けられたドメイン・ゲートウェイ・サーバー・グループの名前(UBBCONFIGファイルのGROUPSセクションで指定された名前)を指定します。

TYPE = TDOMAIN

TYPEパラメータは、Oracle Tuxedo CORBA環境のTDomainゲートウェイを使用することを指定するために必要です。

ACCESSPOINTID = string

ACCESSPOINTID (DOMAINID)パラメータは、リモート・ドメインとの接続を設定する際のセキュリティを目的として、このローカル・ドメイン・アクセス・ポイントと関連付けられたゲートウェイ・グループを識別するために使用します。GWGRPパラメータで指定されたゲートウェイ・サーバー・グループは、セキュリティ・チェック時にこの文字列を使用します。UBBCONFIGファイルのRESOURCESセクションにあるdomain_nameと対応させる必要はありません。ACCESSPOINTIDは、ローカル・ドメインとリモート・ドメインの両方にわたり、一意でなければなりません。stringの値には、一連の文字(“BA.CENTRAL01"など)か、0xで始まる16進数(“0x0002FF98C0000B9D6"など)を指定できます。ACCESSPOINTIDは、32以下のオクテットで指定する必要があります。文字列を指定する場合は、32文字以内で指定する必要があります(最後のNULLを含む)。

たとえば、次の例を考えます。

*DM_LOCAL
LDOM GWGRP=LGWGRP TYPE=TDOMAIN ACCESSPOINTID="MUTT"

この例では、LDOMが、サーバー・グループ名LGWGRP (UBBCONFIGで指定)のローカルTDomainゲートウェイ・グループと関連付けられたローカル・ドメイン・アクセス・ポイントとして識別されます。ドメイン・ゲートウェイが常にドメイン間のセキュリティ・チェックの対象になる場合、MUTTの名前で通過します。

注意: ドメイン・ゲートウェイが常にドメイン間のセキュリティ・チェックの対象になる場合で、かつローカル・ドメイン・アクセス・ポイントにCONNECTION_PRINCIPAL_NAMEパラメータが指定されている場合、ゲートウェイはそのパラメータで指定された名前で通過します。

DM_LOCALセクションのオプション・パラメータは、ドメイン・ゲートウェイの操作で使用するリソースと最大値/最小値を指定します。以上のパラメータの詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のリファレンス・ページDMCONFIG(5)を参照してください。

DM_REMOTE

DM_REMOTEセクション(DM_REMOTE_DOMAINSセクション)では、1つ以上のリモート・ドメイン・アクセス・ポイント(論理名)を定義します。定義した各リモート・ドメイン・アクセス・ポイントについて、このセクションでアクセス・ポイントのドメイン・ゲートウェイ・グループ(TDOMAINなど)を指定します。また、CORBA環境用に、アクセス・ポイントを通じてアクセスできるリモートOracle Tuxedoドメインのdomain_nameDM_IMPORTセクションで指定します。リモート・ドメインは、ローカル・ドメインのCORBAクライアントからリモート・ドメイン・アクセス・ポイントを通じてアクセス可能になります。

このセクションでは、複数のリモート・ドメイン・アクセス・ポイントを定義できます。リモート・ドメインと通信するためにこのOracle Tuxedoドメインで使用される各ドメイン・ゲートウェイ・グループについて1つ以上を定義できます。

DM_REMOTEセクションのエントリの形式は次のとおりです。

RemoteAccessPoint required_parameters

RemoteAccessPointは、UBBCONFIGファイルで定義された特定のゲートウェイ・グループから特定のリモート・ドメインにアクセスできるようにするために選択したリモート・ドメイン・アクセス・ポイント識別子(論理名)です。リモート・ドメイン・アクセス・ポイントは、ローカル・ドメインまたはリモート・ドメインのUBBCONFIGファイルで指定されたdomain_nameまたはゲートウェイ・グループと同じ名前ではありません。リモート・ドメイン・アクセス・ポイントはDMCONFIG内でのみ使用される名前であり、UBBCONFIGが変更された場合の影響を限定します。UBBCONFIGの変更はリモート・ドメイン・アクセス・ポイントに定義されたパラメータのみに影響し、DMCONFIGファイルを通じて使用されるリモート・ドメイン・アクセス・ポイントの論理名には影響しません。

必須パラメータは次のとおりです。

TYPE = TDOMAIN

TYPEパラメータは、Oracle Tuxedo CORBA環境のTDomainゲートウェイを使用することを指定するために必要です。

ACCESSPOINTID = string

ACCESSPOINTID (DOMAINID)パラメータは、リモート・ドメインとの接続を設定する際のセキュリティを目的として、このリモート・ドメイン・アクセス・ポイントと関連付けられたリモート・ドメインを識別するために使用します。ゲートウェイは、セキュリティ・チェック時にこの文字列を使用します。ACCESSPOINTIDは、UBBCONFIGファイルのRESOURCESセクションにあるdomain_nameと対応させる必要はありません。ACCESSPOINTIDは、ローカル・ドメインとリモート・ドメインの両方にわたり、一意でなければなりません。stringの値には、一連の文字(“BA.BANK01"など)か、0xで始まる16進数(“0x0002FF98C0000B9D6"など)を指定できます。ACCESSPOINTIDは、32以下のオクテットで指定する必要があります。文字列を指定する場合は、32文字以内で指定する必要があります(最後のNULLを含む)。

たとえば、次の例を考えます。

*DM_REMOTE
TDOM1  TYPE=TDOMAIN  ACCESSPOINTID="JEFF"

この例では、TDOM1が、ローカルTDomainゲートウェイ・グループと関連付けられたリモート・ドメイン・アクセス・ポイント名として識別されます。ドメイン・ゲートウェイが、通信相手のゲートウェイとともに常にドメイン間セキュリティ・チェックの対象となる場合、ゲートウェイは通信相手がJEFFの名前で通過すると見なします。

注意: ドメイン・ゲートウェイが常にドメイン間のセキュリティ・チェックの対象になる場合で、かつリモート・ドメイン・アクセス・ポイントにCONNECTION_PRINCIPAL_NAMEパラメータが指定されている場合、ゲートウェイは通信相手がそのパラメータで指定された名前で通過すると見なします。

DM_EXPORT

DM_EXPORTセクション(DM_LOCAL_SERVICESセクション)では、CORBA環境において、DM_LOCALセクションで定義されたローカル・ドメイン・アクセス・ポイントを通じてエクスポートされるOracle Tuxedoドメインのdomain_nameを指定します。ローカル・ドメイン・アクセス・ポイントに指定されたOracle Tuxedoドメインは、1つ以上のリモートOracle TuxedoドメインのCORBAクライアントからアクセスできます。DM_EXPORTセクションは、CORBA Domains構成では必須です。

DM_EXPORTセクションのエントリの形式は次のとおりです。

service [LACCESSPOINT=local access point name]
[ACL=...]

serviceの形式は次のとおりです。

"//domain_name"

このdomain_nameは、ローカルUBBCONFIGファイルのRESOURCESセクションのDOMAINIDパラメータに割り当てられた名前です。DM_EXPORTセクションでこの名前を入力すると、ローカル・ドメインがリモート・ドメインからのCORBAリクエストを受け付けます。また、ローカル・ドメインがルーティングの中継点として機能する場合のために、ローカル・ドメインのドメイン名以外のドメイン名に対するリクエストを受け付けるserviceエントリを指定することもできます。

オプション・パラメータのACLでは、アクセス制御リスト(ACL)の名前を指定します。ローカル・ドメインはこのリストを使用して、リモートOracle Tuxedo CORBAドメインからのローカル・ドメインへのリクエストを制限します。ACLの名前は、DMCONFIGファイルのDM_ACCESS_CONTROLセクションで定義します。このパラメータを指定しないと、ローカル・ドメインに対するリモート・リクエストについてアクセス制御が実行されません。

たとえば、次の例を考えます。

*DM_EXPORT
"//MUTT"

この場合は、名前がMUTTのローカル・ドメインが、DM_REMOTEセクションで定義されたリモート・ドメイン・アクセス・ポイントを通じてリモートCORBAリクエストを受け付けます。

DM_IMPORT

DM_IMPORTセクション(DM_REMOTE_SERVICESセクション)では、CORBA環境において、DM_REMOTEセクションで定義されたリモート・ドメイン・アクセス・ポイントを通じてインポートされるOracle Tuxedoドメインのdomain_nameを指定します。リモート・ドメイン・アクセス・ポイントに指定されたOracle Tuxedoドメインは、ローカル・ドメインのCORBAクライアントからアクセスできます。DM_IMPORTセクションは、CORBA Domains構成では必須です。

DM_IMPORTセクションのエントリの形式は次のとおりです。

service [RACCESSPOINT=remote domain access point]
[LACCESSPOINT=
local domain access point]
[TRANTIME=...]

serviceの形式は次のとおりです。

"//domain_name"

このdomain_nameは、リモートUBBCONFIGファイルのRESOURCESセクションのDOMAINIDパラメータに割り当てられた名前です。DM_IMPORTセクションでこの名前を入力すると、リモート・ドメインがローカル・ドメインからのCORBAリクエストを受け付けます。また、リモート・ドメインがルーティングの中継点として機能する場合のために、リモート・ドメインのドメイン名以外のドメイン名に対するリクエストを受け付けるserviceエントリを指定することもできます。

たとえば、次の例を考えます。

*DM_IMPORT
"//JEFF" RACCESSPOINT=TDOM1

この場合は、名前がJEFFで、リモート・ドメイン・アクセス・ポイントTDOM1と関連付けられているリモート・ドメインが、DM_LOCALセクションで定義されたローカル・ドメイン・アクセス・ポイントを通じてCORBAリクエストを受け付けます。

DM_ACCESS_CONTROL

DM_ACCESS_CONTROLセクションでは、1つ以上のアクセス制御リスト(ACL)の名前を指定し、1つ以上のリモート・ドメイン・アクセス・ポイントを指定された各ACL名に関連付けます。ACL=ACL_NAMEを設定してDM_EXPORTセクションでACLパラメータを使用すると、特定のローカル・ドメイン・アクセス・ポイントを通じてエクスポートされるローカル・ドメインへのアクセスをACL_NAMEと関連付けられたリモート・ドメイン・アクセス・ポイントのみに制限できます。

DM_ACCESS_CONTROLセクションのエントリの形式は次のとおりです。

ACL_NAME required_parameters

ACL_NAMEは、アクセス制御リストを指定するために使用されるidentifierです。最大15文字まで使用できます。

以下は、必須パラメータです。

ACLIST = identifier [,identifier]

ACLISTには、1つまたは複数のリモート・ドメイン・アクセス・ポイント名をカンマで区切って指定します。ワイルドカード文字(*)を使用すると、DM_REMOTEセクションで定義したすべてのリモート・ドメイン・アクセス・ポイントがローカル・ドメインにアクセスできます。

DM_TDOMAIN

DM_TDOMAINセクションでは、Oracle Tuxedo CORBAドメインを実装するTDomainゲートウェイのネットワーク・アドレス情報を定義します。DM_TDOMAINセクションでは次の要素を必ず指定します。

DM_TDOMAINセクションでは、1つ以上のWebLogic Serverアプリケーションに関連付けられた1つ以上のリモート・ドメイン・アクセス・ポイントの構成を定義して、アプリケーションでTuxedo CORBAサーバーとWebLogic Server Enterprise JavaBean (EJB)サーバーを結合することもできます。詳細は、Oracle Tuxedoの相互運用性Oracle WebLogic Serverとの相互運用性に関する項を参照してください。

DM_TDOMAINセクションのエントリの形式は次のとおりです。

AccessPoint required_parameters [optional_parameters]

AccessPointは、DM_LOCALセクションのローカル・ドメイン・アクセス・ポイントまたはDM_REMOTEセクションのリモート・ドメイン・アクセス・ポイントを識別するために使用される識別子値です。

以下は、必須パラメータです。

NWADDR = string

このパラメータを使用して、ローカル・ドメイン・アクセス・ポイントまたはリモート・ドメイン・アクセス・ポイントに関連するネットワーク・アドレスを指定します。ローカル・ドメイン・アクセス・ポイントとの関連付けの場合、ネットワーク・アドレスはローカル・ドメイン・ゲートウェイでリモート・ドメインからの接続リクエストをリスニングするために使用されます。リモート・ドメイン・アクセス・ポイントとの関連付けの場合、ネットワーク・アドレスはローカル・ドメイン・ゲートウェイでリモート・ドメインへの接続を開始するために使用されます。
stringの形式が"0xhex-digits"または"\\xhex-digits"の場合、偶数の有効な16進数を含める必要があります。これらの形式は、TCP/IPアドレスを含む文字配列に内部変換されます。アドレスは、次の2つの形式のいずれかでも構いません。 "//hostname:port_number"
"//
#.#.#.#:port_number" これらの形式のうち最初の方では、gethostbyname(3c)経由でアクセスされたローカルで構成された名前解決機能を使用して、アドレスがバインドされるとき、hostnameがTCP/IPホスト・アドレスに対して解決されます。"#.#.#.#"はドットで区切った10進数の形式で、各#は0から255までの10進数です。 Port_numberは、0 - 65535の10進数です(指定された文字列の16進表現)。

たとえば、次の例を考えます。

*DM_TDOMAIN
LDOM NWADDR="//sanfran.kmart.com:2507"
TDOM1 NWADDR="//sanhose.kmart.com:3186"

この例では、ゲートウェイ・グループLGWGRPに属する(LDOMアクセス・ポイントのDM_LOCALセクションで指定) TDomainゲートウェイが、リモート・ドメインからの接続リクエストをアドレス"//sanfran.kmart.com:2507"でリスニングするように構成されています。また、TDomainゲートウェイは、TDOM1アクセス・ポイントと関連付けられたリモート・ドメインにリクエストを送信するときには"//sanhose.kmart.com:3186"への接続を開始するように構成されています。

DM_TDOMAINセクションのオプション・パラメータについては、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のリファレンス・ページDMCONFIG(5)を参照してください。

factory_finder.iniファイル

factory_finder.iniファイルでは、ローカル・ドメインで使用できるリモート・ファクトリ・オブジェクトを特定します。また、リモート・ドメインで使用できるローカル・ファクトリ・オブジェクトも特定します。

factory_finder.iniファイルには、DM_REMOTE_FACTORIESおよびDM_LOCAL_FACTORIESという2つのセクションがあります。次の例で明らかなように、factory_finder.iniファイルの形式はDMCONFIGファイルで使用される構文に基づいています。

*DM_REMOTE_FACTORIES
"
local_factory_id.factory_kind"
DOMAINID="
domain_id"
RNAME="
remote_factory_id.factory_kind"
...
*DM_LOCAL_FACTORIES
"
factory_id.factory_kind"
...

CORBAファクトリ・オブジェクトの構文を次に示します。

*DM_REMOTE_FACTORIES
"AccountFactory.FactoryKind"
DOMAINID="MyAccountFactoryDomain"
RNAME="MyAccountFactory.FactoryKind

AccountFactoryは、ローカル・ドメインのFactoryFinderにファクトリを登録する名前です。MyAccountFactoryDomainは、リモート・ドメインの名前です。MyAccountFactoryは、リモート・ドメインのFactoryFinderにファクトリを登録する名前です。

注意: Domains構成に参加する2つのCORBAドメインで、factory_id.factory_kind識別子が同じファクトリ・オブジェクトを持つことはできません。詳細は、「factory_finder.iniファイルでの一意のファクトリ・オブジェクト識別子の指定」を参照してください。

DM_REMOTE_FACTORIES

DM_REMOTE_FACTORIESセクションでは、ローカル・ドメインからアクセスできる(ローカル・ドメインにインポートされる)リモート・ドメインのファクトリ・オブジェクトを指定します。このセクションには、リモート・ファクトリ・オブジェクトの識別子がリストされます。オブジェクト登録時にkind値がFactoryInterfaceに設定された識別子は、このセクションにリストされなければなりません。たとえば、TP Frameworkによって識別子TellerでドメインNorwestに登録されたリモート・ファクトリ・オブジェクトのエントリは、次のように指定されます。

*DM_REMOTE_FACTORIES
"Teller.FactoryInterface"
DOMAINID="Norwest"
RNAME="BankTeller.FactoryInterface"

RNAMEが指定されていない場合、ファクトリ名でfactory_kindを指定し、ファクトリ名を引用符で囲まなければなりません。これらの条件を満たさないと、NameManagerが適切なファクトリを検出できません。factory_kindが指定されていないエントリには、デフォルト値のFactoryInterfaceが適用されます。

以下の例では、ファクトリ・オブジェクトが識別子TellerでドメインNorwestに登録されています。RNAMEが指定されていないので、factory_kind値が指定され、ファクトリ名が引用符で囲まれていることに注意してください。

*DM_REMOTE_FACTORIES
"Teller.FactoryInterface"
DOMAINID="Norwest"

ドメイン構成内でファクトリの識別子が競合する場合があるため、ファクトリ識別子とRNAMEパラメータを使用して、リモート・ファクトリのローカル・ドメインに別の識別子(別名)を指定できます。リスト3-2は、TPフレームワークによってドメインNorwestの識別子BankTellerで登録されたリモート・ファクトリの例を2つ示しています。どちらの例でも、ファクトリはローカル・ドメインでTellerという別名で使用可能になります。

リスト3-2 リモート・ファクトリへの別名の割当て

#EXAMPLE 1:
*DM_REMOTE_FACTORIES
Teller
DOMAINID="Norwest"
RNAME="BankTeller.FactoryInterface"

#EXAMPLE 2:
*DM_REMOTE_FACTORIES
"Teller.FactoryInterface"
DOMAINID="Norwest"
RNAME="BankTeller.FactoryInterface"

同じリモート・ファクトリに複数の別名を割り当てることもできます。リスト3-3の例では、リモート・ファクトリがローカル・ドメインにTellerBankTellerの2つの別名で登録されます。

リスト3-3 リモート・ファクトリへの複数の別名の割当て

*DM_REMOTE_FACTORIES
"Teller.FactoryInterface"
DOMAINID="Norwest"
RNAME="BankTeller.FactoryInterface"
"BankTeller.FactoryInterface"
DOMAINID="Norwest"
RNAME="BankTeller.FactoryInterface"

DM_LOCAL_FACTORIES

DM_LOCAL_FACTORIESセクションでは、リモート・ドメインからアクセスできる(リモート・ドメインにエクスポートされる)ローカル・ドメインのファクトリ・オブジェクトを指定します。このセクションは、以下の方法で使用できます。

ファクトリ・オブジェクト登録時に、kind値がFactoryInterfaceに設定された識別子または名前は、DM_LOCAL_FACTORIESセクションにリストされなければなりません。たとえば、TP Frameworkによって識別子Tellerで登録されたファクトリ・オブジェクトのエントリは、次のように指定されます。

*DM_LOCAL_FACTORIES
"Teller.FactoryInterface"

NameManagerで適切なファクトリ・オブジェクトを検索するには、factory_kindが指定されていなければなりません。factory_kindが指定されていないエントリには、デフォルト値のFactoryInterfaceが適用されます。これにより、CORBA NamingServiceを使用できます。

ドメインAでファイルに挿入されるエントリは次のようになります:

*DM_REMOTE_FACTORIES
fA.FactoryInterface DOMAINID=B

このエントリは、ドメインAで識別子fAのファクトリを検索するというリクエストが、ドメインBのFactoryFinderによって実行できることを意味します。もちろん、2つのドメインのUBBCONFIGおよびDMCONFIGファイルで、これらのドメイン間のドメイン・ゲートウェイが接続されるように設定されていなければなりません。

このエントリの別の形式を以下に示します。

CDE.FactoryInterface DOMAINID=B RNAME=fA.FactoryInterface

このエントリは、ドメインAで識別子CDEのファクトリを検索するというリクエストが、ドメインBのFactoryFinderでID fAを使用して実行されることを意味します。この別の形式は別名と呼ぶ場合もあります。

注意: ファクトリIDの最後には.FactoryInterfaceが必要です。わかりやすくするために、テスト構成についての説明では.FactoryInterfaceが省略されていますが、factory_finder.iniファイルでは必ず必要です。

関連項目

 


factory_finder.iniファイルでの一意のファクトリ・オブジェクト識別子の指定

シングル・ドメイン構成では、ロード・バランシングを実現するために複数のファクトリ・オブジェクトが同じ名前であってもかまいません。ただし、Domains構成では、2つのドメインが同じfactory_id.factory_kind識別子のファクトリ・オブジェクトを持つことはできません。2つのドメインで同じ識別子または名前が使用されている場合、ソフトウェアの動作は、Oracle WebLogic Enterpriseを使用してCORBA Domains環境を構成したかどうかによって異なります。

ドメイン全体で識別子や名前が一意であることを確認し、このような問題を回避するには、以下に示す2つの方法があります。

 


factory_finder.iniファイルの処理

起動時に、マスターNameManagerはfactory_finder.iniファイルを読み込みます。マスターNameManagerの起動される状況によって、factory_finder.iniファイルがすべて読み込まれるか、または一部のみ読み込まれるかが決まります。

factory_finder.iniファイルのDM_REMOTE_FACTORIESセクションにファクトリ・オブジェクトのある新しいドメインを追加するときには、マスターNameManagerを終了して再起動する必要があります。NameManagerの詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のTMFFNAME(5)を参照してください。

 


CORBA Domains構成の種類

Oracle Tuxedo Domainsコンポーネントを使用して複数のOracle Tuxedo CORBAドメインを接続する場合は、2種類の構成を設定できます。直接接続ドメインと間接接続ドメインという2種類の構成が可能です。どちらの構成も、管理者がDMCONFIGファイルを使用して設定できます。

直接接続ドメイン

Domains構成のすべてのドメインは、Domains構成のほかのすべてのドメインとゲートウェイ接続(直接接続)できます。ドメインが直接接続されている場合、リクエストは目的のドメインに直接届きます。

直接接続のDomains構成(「n方向」構成)はドメインの数が少ない場合は合理的ですが、構成に新しいドメインが追加されるたびに2つ、4つ、またはそれ以上の新しいゲートウェイが必要になります。ある時点で、間接接続ドメインを構成することで、送信速度ではなくドメイン接続の管理しやすさを優先しようと考えるようになります。

間接接続ドメイン

トラフィック・パターンについて検討する必要があります。相互作用が頻繁には行われないドメインは、ゲートウェイの削除に候補になります。それでも相互作用が行われる可能性はあるため、他のドメインに依然として到達できる必要があります。使用される手法は、ターゲット・ドメインに直接アクセスする中間ドメインを介したリクエストのルーティングです。

たとえば、図3-2に示すA、B、Cの3つのドメインについて考えます。

図3-2 間接接続ドメイン

間接接続ドメイン

ドメインAとドメインBは直接接続されており、ドメインBとドメインCも直接接続されていますが、ドメインAとドメインCは直接には接続されていません。ドメインAとCが通信するには、中継点としてドメインBを使用しなければなりません。したがって、ドメインAのDMCONFIGファイルでは、ドメインB経由でドメインCに接続するよう指定し、ドメインCのDMCONFIGファイルでも、ドメインB経由でドメインAに接続するよう指定する必要があります。接続形態は以下のようになります。

Domains     A   <->  B <-> C
Gateways        GAB GBA       GBC GCB

ドメインAには、ドメインBに接続するゲートウェイ・プロセスGAB (AからBのゲートウェイ)があります。ドメインAのDMCONFIGファイルでは、GABがドメインBとC間のゲートウェイとして機能するように指定されています。ドメインCのDMCONFIGファイルでも同様に、GCBがBとAに接続されるように構成されています。ドメインBのDMCONFIGファイルには、Aに接続するゲートウェイ・プロセス(GBA)と、Cに接続するゲートウェイ・プロセス(GBC)の2つが設定されています。この構成を間接接続と呼びます。

この間接接続により、AのサーバーがCのオブジェクトに対するリクエストを呼び出した場合、Oracle Tuxedo CORBAサーバーは、ゲートウェイGABにリクエストを送信できることを認識します。Oracle Tuxedoゲートウェイは、Bのパートナ・ゲートウェイがリクエストを自身では処理できないが受入れは可能であることを認識しません。リクエストがドメインBに届くと、GBCを介してCにルーティングされ、Cがリクエストを処理できます。このため、リクエストは1つ追加のホップで処理されます。

ドメインBの2つのゲートウェイを1つにして、Bでホップが追加されないようにすることもできます。この場合、ドメインBでの処理は同じですが、1つのゲートウェイ・プロセスですべて処理されます。

 


CORBA Domains構成の例

次の例は、直接接続CORBAドメインの構成方法を示しています。これらの例を使用する場合は、APPDIRTUXCONFIGTUXDIRの各変数を環境に合せて変更する必要があります。また、テキストが左山カッコ(<)と右山カッコ(>)で囲まれている(たとえば、<App Server Name>など)場合は適切な情報で置換し、山カッコを削除する必要があります。

UBBCONFIGファイルの例

リスト3-4リスト3-5に、3つの直接接続ドメイン(HereThereおよびYonder)のUBBCONFIGファイルを示します。これらのファイルを使用するには、hostをローカル・マシンの名前で置換する必要があります。

リスト3-4 HereドメインのUBBCONFIGファイル
#
# Copyright (c) 1999 BEA Systems, Inc.
# All rights reserved
#
#
#
# RESOURCES
#
*RESOURCES
IPCKEY 123312
DOMAINID HereD
MASTER LAPP
MODEL SHM
LDBAL N#
# MACHINES
#
*MACHINES
<host>
LMID=LAPP
APPDIR="/tst1/wle4.2/test_dom/t07:
/tst1/wle4.2/dec_unix/wlemdomai"
TUXCONFIG="/tst1/wle4.2/test_dom/tuxconfig"
TUXDIR="/lclobb/lc"
MAXWSCLIENTS=10
#
# GROUPS
#
*GROUPS
DEFAULT: LMID=LAPP
ICEGRP GRPNO=11 OPENINFO=NONE
GROUP1 GRPNO=21 OPENINFO=NONE
LDMGRP GRPNO=3
LGWGRP GRPNO=4
#
# SERVERS
#
*SERVERS
DEFAULT: CLOPT="-A"
DMADM SRVGRP=LDMGRP SRVID=1
GWADM SRVGRP=LGWGRP SRVID=1
GWTDOMAIN SRVGRP=LGWGRP SRVID=2
TMSYSEVT SRVGRP=ICEGRP SRVID=1
TMFFNAME SRVGRP=ICEGRP SRVID=2
CLOPT="-A -- -N -M -f
<FF ini file for Here>"
TMFFNAME SRVGRP=ICEGRP SRVID=3 CLOPT="-A -- -N"
TMFFNAME SRVGRP=ICEGRP SRVID=4 CLOPT="-A -- -F"
<App Server Name> SRVGRP=GROUP1 SRVID=2
ISL SRVGRP=GROUP1 SRVID=1
CLOPT="-A -- -d /dev/tcp -n //
<host>:<port>"
#
# SERVICES
#
*SERVICES
UBBCONFIG File for the “There” Domain
#
# Copyright (c) 1999 BEA Systems, Inc.
# All rights reserved
#
# RESOURCES
#
*RESOURCES
IPCKEY 133445
DOMAINID ThereD
MASTER LAPP1
MODEL SHM
LDBAL N
#
# MACHINES
#
*MACHINES
<host>
LMID=LAPP1
APPDIR="D:\test_dom\t07;D:\Iceberg\qa\orb\bld\wlemdomain"
TUXCONFIG="D:\test_dom\tuxconfig"
TUXDIR="D:\Iceberg"
MAXWSCLIENTS=10
#
# GROUPS
#
*GROUPS
DEFAULT LMID=LAPP1
ICEGRP GRPNO=11 OPENINFO=NONE
GROUP1 GRPNO=21 OPENINFO=NONE
LDMGRP GRPNO=3
LGWGRP GRPNO=4
#
# SERVERS
#
*SERVERS
DEFAULT: CLOPT="-A"
DMADM SRVGRP=LDMGRP SRVID=1
GWADM SRVGRP=LGWGRP SRVID=1
GWTDOMAIN SRVGRP=LGWGRP SRVID=2
TMSYSEV SRVGRP=ICEGRP SRVID=1
TMFFNAME SRVGRP=ICEGRP SRVID=2
CLOPT="-A -- -N -M -f <FF ini file for There>"
TMFFNAME SRVGRP=ICEGRP SRVID=3 CLOPT="-A -- -N"
TMFFNAME SRVGRP=ICEGRP SRVID=4 CLOPT="-A -- -F"
<App Server Name> SRVGRP=GROUP1 SRVID=2
ISL SRVGRP=GROUP1 SRVID=1
CLOPT="-A -- -d /dev/tcp -n //<host>:<port>"
#
# SERVICES
#
*SERVICES
リスト3-5 YonderドメインのUBBCONFIGファイル
#	Copyright (c) 1999 BEA Systems, Inc.
# All rights reserved
#
# RESOURCES
#
*RESOURCES
IPCKEY 123334
DOMAINID YonderD
MASTER LAPP
MODEL SHM
LDBAL N
#
# MACHINES
#
*MACHINES
<host>
LMID=LAPP
APPDIR="/tst1/wle4.2/test_dom/t07p:
/tst1/wle4.2/<host3>/wlemdomain"
TUXCONFIG="/tst1/wle4.2/test_dom/<host3>/tuxconfig"
TUXDIR="/lclobb/lc"
MAXWSCLIENTS=10
#
# GROUPS
#
*GROUPS
DEFAULT: LMID=LAPP
ICEGRP GRPNO=11 OPENINFO=NONE
GROUP1 GRPNO=21 OPENINFO=NONE
LDMGRP GRPNO=3
LGWGRP GRPNO=4
#
# SERVERS
#
*SERVERS
DEFAULT: CLOPT="-A"
DMADM SRVGRP=LDMGRP SRVID=1
GWADM SRVGRP=LGWGRP SRVID=1
GWTDOMAIN SRVGRP=LGWGRP SRVID=2
TMSYSEVT SRVGRP=ICEGRP SRVID=1
TMFFNAME SRVGRP=ICEGRP SRVID=2
CLOPT="-A -- -N -M"
TMFFNAME SRVGRP=ICEGRP SRVID=3 CLOPT="-A -- -N"
TMFFNAME SRVGRP=ICEGRP SRVID=4 CLOPT="-A -- -F"
<App Server Name> SRVGRP=GROUP1 SRVID=2
ISL SRVGRP=GROUP1 SRVID=1
CLOPT="-A -- -d /dev/tcp -n //<host>:<port>"
#
# SERVICES
#
*SERVICES

DMCONFIGファイルの例

リスト3-6リスト3-7およびLリスト3-8は、直接接続された3つのドメイン(HereThereおよびYonder)のDMCONFIGファイルを示しています。これらのリストをDomains構成で使用するには、Hereドメインのhost1Thereドメインのhost2およびYonderドメインのhost3を、それぞれローカル・マシンの名前で置き換える必要があります。

リスト3-6 3ドメイン構成におけるHereドメインのローカル・マシン用DMCONFIGファイル
#
# Copyright (c) 1999 BEA Systems, Inc.
# All rights reserved
#
#
# Tuxedo Domains Configuration File
#
*DM_RESOURCES
    VERSION=U22
#
# DM_LOCAL
#
*DM_LOCAL
    LDOM1   GWGRP=LGWGRP  TYPE=TDOMAIN  ACCESSPOINTID="HereG"
#
# DM_REMOTE
#
*DM_REMOTE
    TDOM1   TYPE=TDOMAIN  ACCESSPOINTID="ThereG"
TDOM2 TYPE=TDOMAIN ACCESSPOINTID="YonderG"
#
# DM_TDOMAIN
#
*DM_TDOMAIN
    LDOM1   NWADDR="//<host1>:<tcpport>"
TDOM1 NWADDR="//
<host2>:<tcpport>"
TDOM2 NWADDR="//
<host3>:<tcpport>"
#
# DM_EXPORT
#
*DM_EXPORT
"//HereD"
#
# DM_IMPORT
#
*DM_IMPORT
    "//ThereD"   RACCESSPOINT=TDOM1
"//YonderD" RACCESSPOINT=TDOM2

次のコード・リストをDomains構成で使用するには、Thereドメインのhost1Hereドメインのhost2、およびYonderドメインのhost3を、それぞれローカル・マシンの名前と置き換える必要があります。

リスト3-7 3ドメイン構成におけるThereドメインのDMCONFIGファイル
#
# Copyright (c) 1999 BEA Systems, Inc.
# All rights reserved
#
#
# Tuxedo Domains Configuration File
#
*DM_RESOURCES
    VERSION=U22
#
# DM_LOCAL
#
*DM_LOCAL
    LDOM1   GWGRP=LGWGRP  TYPE=TDOMAIN  ACCESSPOINTID="ThereG"
#
# DM_REMOTE
#
*DM_REMOTE
    TDOM1   TYPE=TDOMAIN  ACCESSPOINTID="HereG"
TDOM2 TYPE=TDOMAIN ACCESSPOINTID="YonderG"
#
# DM_TDOMAIN
#
*DM_TDOMAIN
    LDOM1   NWADDR="//<host1>:<tcpport>"
TDOM1 NWADDR="//
<host2>:<tcpport>"
TDOM2 NWADDR="//
<host3>:<tcpport>"
#
# DM_EXPORT
#
*DM_EXPORT
"//ThereD"
#
# DM_IMPORT
#
*DM_IMPORT
    "//HereD"     RACCESSPOINT=TDOM1
"//YonderD" RACCESSPOINT=TDOM2

次のコード・リストをDomains構成で使用するには、Yonderドメインのhost1Hereドメインのhost2、およびThereドメインのhost3を、それぞれローカル・マシンの名前で置き換える必要があります。

リスト3-8 3ドメイン構成におけるYonderドメインのDMCONFIGファイル
#
# Copyright (c) 1999 BEA Systems, Inc.
# All rights reserved
#
#
# Tuxedo Domains Configuration File
#
*DM_RESOURCES
    VERSION=U22
#
# DM_LOCAL
#
*DM_LOCAL
    LDOM1   GWGRP=LGWGRP  TYPE=TDOMAIN  ACCESSPOINTID="YonderG"
#
# DM_REMOTE
#
*DM_REMOTE
    TDOM1   TYPE=TDOMAIN  ACCESSPOINTID="HereG"
TDOM2 TYPE=TDOMAIN ACCESSPOINTID="ThereG"
#
# DM_TDOMAIN
#
*DM_TDOMAIN
    LDOM1   NWADDR="//<host1>:<tcpport>"
TDOM1 NWADDR="//
<host2>:<tcpport>"
TDOM2 NWADDR="//
<host3>:<tcpport>"
#
# DM_EXPORT
#
*DM_EXPORT
"//YonderG"
#
# DM_IMPORT
#
*DM_IMPORT
    "//HereD"   RACCESSPOINT=TDOM1
"//ThereD" RACCESSPOINT=TDOM2

factory_finder.iniファイルの例

リスト3-9およびリスト3-10は、HereドメインとThereドメインのfactory_finder.iniファイルを示しています。Yonderドメインにはfactory_finder.iniファイルは必要ありません。

リスト3-9 Hereローカル・ドメインのfactory_finder.iniファイル
# Copyright (c) 1999 BEA Systems, Inc.
# All rights reserved
#
# Factory Finder Initialization file for Domain “Here”
# This is the local domain.
#
# DM_LOCAL_FACTORIES
#
*DM_LOCAL_FACTORIES
    "AFactory.FactoryInterface"
#
# DM_REMOTE_FACTORIES
#
*DM_REMOTE_FACTORIES
"AFacYonder.FactoryInterface"
DOMAINID="YonderD"
RNAME="AFactory.FactoryInterface"

"BFactory.FactoryInterface"
DOMAINID="YonderD"
リスト3-10 Thereリモート・ドメインのfactory_finder.iniファイル
#
# Copyright (c) 1999 BEA Systems, Inc.
# All rights reserved
#
# Factory Finder Initialization file for Domain “There”
# This is a remote domain.
#
# DM_LOCAL_FACTORIES
#
*DM_LOCAL_FACTORIES
"AFactory.FactoryInterface"
#
# DM_REMOTE_FACTORIES
#
*DM_REMOTE_FACTORIES
"AFacYonder.FactoryInterface"
DOMAINID="YonderD"
RNAME="AFactory.FactoryInterface"
"BFactory.FactoryInterface"
DOMAINID="YonderD"

  先頭に戻る       前  次