|
| 注意: | 分散型のOracle Tuxedo CORBAアプリケーション用の構成ファイルを作成する方法については、『CORBAアプリケーションのスケーリング、分散およびチューニング』を参照してください。 |
分散型のOracle Tuxedo ATMIアプリケーションは、1つ以上のローカル・クライアントまたはリモート・クライアントで構成され、ネットワーク接続された複数のマシン上にある1つ以上のサーバーと通信します。すべての構成要素は、Oracle Tuxedo構成ファイルで1つのエンティティとして管理されます。分散型の構成を設定するには、構成ファイルを作成し、次のセクションを設定する必要があります。
構成に複数のドメインが含まれており、データ依存型ルーティングを使用する場合は、ルーティング機能をサポートするためのドメイン・ゲートウェイ構成ファイル(DMCONFIG)を変更する必要もあります。
RESOURCESセクションでは、アプリケーションの最大サーバー数など、システム全体に関するリソースの制御パラメータを定義します。このセクションのパラメータ設定は、すべて、アプリケーション全体に適用されます。
| 注意: | このトピックの表で説明するパラメータは、分散アプリケーション用です。どのOracleTuxedoアプリケーションにも適用できる基本的なパラメータの説明については、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』の「UBBCONFIG(5)」を参照してください。 |
表11-1に、リソース・セクションのパラメータを示します。
MACHINESセクションでは、構成内のすべての物理マシン(マルチプロセッサ・マシンのすべての処理要素も含む)に論理名を割り当て、各マシンに対してその他のパラメータを個別に定義します。表11-2では、分散アプリケーションに参加する各マシンに対し、マシン名やその他のマシン固有の情報を定義するためのパラメータを説明します。
GROUPSセクションでは、アプリケーション内の各サーバー・グループを識別し、特定のサーバー・グループ内のサーバーにリクエストがルーティングされるようにします。
GROUPSセクションでは、アプリケーションに必要なサーバー・グループの数を設定します。サーバー・グループは、すべて同じサイトに設定することも(SHMモード)、分散アプリケーションで複数のサイトに分散することも(MPモード)できます。
GROUPSセクションのパラメータは、分散トランザクション処理に関する次の2つの側面を実現します。
表11-3は、GROUPSセクションのパラメータの説明です。
SERVICESセクションのパラメータは、アプリケーション・サービスの処理方法を決定します。このセクションのエントリの各行は、識別子名によってサービスと関連付けられます。
SERVICESセクションでは、各サーバー・グループで提供されるサービスを識別する必要があります。SRVGRPパラメータは、1つのサービスを複数のサーバーにリンクするために用意されています。このパラメータは、サービスのインスタンスを示すパラメータを特定のサーバー・グループに関連付けます。
表11-4では、分散アプリケーションの定義用のSERVICESセクションのパラメータを説明します。
アプリケーションにトランザクション処理が含まれる場合は、SERVICESセクションでさらに3つのパラメータ(AUTOTRAN、ROUTINGおよびTRANTIME)を設定します。これらのパラメータについては、「トランザクション対応のATMIアプリケーションの構成」で説明します。
*SERVICES
WITHDRAW ROUTING=ACCOUNT_ID
DEPOSIT ROUTING=ACCOUNT_ID
OPEN_ACCT ROUTING=BRANCH_ID
ROUTINGセクションでは、データ依存型ルーティングの実行時に使用される基準を指定します。サービスが複数のエントリに属しており、それぞれに対して異なるSRVGRPパラメータの値が設定されている場合、各エントリのROUTINGパラメータには同じ値を指定する必要があります。ROUTINGパラメータに同じ値が指定されないと、サービスに対して一貫したルーティングが行われません。サービスがルーティングされるのは、1つのフィールド上でのみです。したがって、そのフィールドのサービスに対する値は、すべてのエントリで同じでなければなりません。
構成ファイルにROUTINGセクションを追加し、データ範囲とグループのマッピングを示すことができます。このセクションの情報により、システムは指定されたグループ内のサーバーにリクエストを送ることができます。ROUTINGセクションの各項目には、SERVICESセクションで使用される識別子が含まれています。
CRITERION_NAMErequired_parameters
CRITERION_NAMEは、データ依存型ルーティングのSERVICESセクションで指定したルーティング・エントリ名です。CRITERION_NAMEの値は、15文字以内の文字列でなければなりません。
表11-5は、ROUTINGセクションのパラメータの説明です。
以下は、データ依存型ルーティングを使用するOracle TuxedoアプリケーションのUBBCONFIGサンプル・ファイルからの抜粋です。GROUPS、SERVICES、ROUTINGの3つのセクションを示しています。
*GROUPS
BANKB1 GRPNO=1
BANKB2 GRPNO=2
BANKB3 GRPNO=3
#
*SERVICES
WITHDRAW ROUTING=BY_ACCOUNT_ID
DEPOSIT ROUTING=BY_ACCOUNT_ID
INQUIRY ROUTING=BY_ACCOUNT_ID
OPEN_ACCT ROUTING=BY_BRANCH_ID
CLOSE_ACCT ROUTING=BY_BRANCH_ID
#
*ROUTING
BY_ACCOUNT_ID FIELD=ACCOUNT_ID BUFTYPE=”FML”
RANGES=”MIN - 9999:*,
10000-49999:BANKB1,
50000-79999:BANKB2,
80000-109999:BANKB3,
*:*”
BY_BRANCH_ID FIELD=BRANCH_ID BUFTYPE=”FML”
RANGES=”MIN - 0:*,
1-4:BANKB1,
5-7:BANKB2,
8-10:BANKB3,
*:*”
ドメイン・ゲートウェイ構成に関するすべての情報は、バイナリ形式のBDMCONFIGファイルに格納されています。このファイルは、まずDMCONFIGというテキスト形式の構成ファイルを作成し、次にバイナリ形式のBDMCONFIGにコンパイルして作成します。コンパイル済みのBDMCONFIGファイルは、実行中のシステムでdmadmin(1)コマンドを使用して更新できます。Oracle Tuxedoのマニュアルでは、これらの構成ファイルをDMCONFIGおよびBDMCONFIGと呼んでいますが、任意の名前を付けることもできます。
Domains機能を追加する各Oracle Tuxedoアプリケーションには、BDMCONFIGファイルを1つ作成する必要があります。BDMCONFIGファイルへのアクセスは、Domains管理サーバーであるDMADM(5)から行います。ゲートウェイ・グループが起動されると、ゲートウェイ管理サーバーであるGWADM(5)は、そのグループに必要な構成のコピーをDMADMサーバーにリクエストします。また、GWADMサーバーとDMADMサーバーは、構成における実行時の変更が、対応するドメイン・ゲートウェイ・グループに反映されるようにします。
| 注意: | DMCONFIGファイルの詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』の「DMCONFIG(5)」を参照してください。 |
DM_ROUTINGセクションでは、型付きバッファであるFML、XML、VIEW、X_C_TYPE、およびX_COMMONを使用したサービス・リクエストのデータ依存型ルーティングに関する情報を提供します。DM_ROUTINGセクション内にある各行の形式は次のとおりです。
CRITERION_NAMErequired_parameters
CRITERION_NAMEは、SERVICESセクションで指定されたルーティング・エントリの名前です。CRITERION_NAMEの値は、15文字以内の文字列でなければなりません。
次の表は、DM_ROUTINGセクションのパラメータの説明です。
ルーティング・フィールドの値には、FMLまたはVIEWでサポートされているデータ型を使用できます。数値の範囲または文字列の範囲も使用できます。文字列、CARRAY、および文字フィールド型の文字列の範囲値には、以下の規則が適用されます。
atof()で受け付けられる形式で指定します。つまり、正符号または負符号、数字の文字列(必要に応じて小数点を追加)、eまたはE (オプション)、符号またはスペース(オプション)、整数という形式で指定します。RACCESSPOINT値には、リクエストがルーティングされるリモート・ドメインを指定します。RACCESSPOINT値に*を指定すると、ゲートウェイ・グループが認識する任意のリモート・ドメインにリクエストが送られることを示します。範囲/RACCESSPOINTのペアでは、範囲(range)とRACCESSPOINTはコロン(:)で区切られます。以下は、2つのドメインが5サイトに分散されているアプリケーションの構成ファイルの例です。5つのサイトは、Central Bank Officeと4つの支店を示します。4つの支店のうち、3つはOracle Tuxedoドメインに属しています。残りの支店は、別のTPドメインに属し、そのドメインとの通信にはOSI-TPが使用されています。
リスト11-1では、Central Bankから見たOracle Tuxedoシステムのドメイン・ゲートウェイ構成ファイルを示しています。DM_TDOMAINセクションは、b01をミラーリングしたゲートウェイを示しています。
# TUXEDO DOMAIN CONFIGURATION FILE FOR THE CENTRAL BANK
#
#
*DM_LOCAL
#local_domain_nameGateway_Group_namedomain_typedomain_IDlog_device# [audit log] [blocktime]
# [log name] [log offset] [log size]maxaccesspoint
# [] [maxraptran] [maxtran]
# [maxdatalen] [security]
# [tuxconfig] [tuxoffset]
#
#
DEFAULT: SECURITY = NONE
c01 GWGRP = bankg1
TYPE = TDOMAIN
ACCESSPOINTID = "BA.CENTRAL01"
DMTLOGDEV = "/usr/apps/bank/DMTLOG"
DMTLOGNAME = "DMTLG_C01"
c02 GWGRP = bankg2
TYPE = OSITP
ACCESSPOINTID = "BA.CENTRAL01"
DMTLOGDEV = "/usr/apps/bank/DMTLOG"
DMTLOGNAME = "DMTLG_C02"
NWDEVICE = "OSITP"
URCH = "ABCD"
#
*DM_REMOTE
#remote_domain_name domain_type domain_ID#
b01 TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK01"
b02 TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK02"
b03 TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK03"
b04 TYPE = OSITP
ACCESSPOINTID = "BA.BANK04"
URCH = "ABCD"
#
*DM_TDOMAIN
#
#local_or_remote_domain_namenetwork_address[nwdevice]
#
# Local network addresses
c01 NWADDR = "//newyork.acme.com:65432" NWDEVICE ="/dev/tcp"
c02 NWADDR = "//192.76.7.47:65433" NWDEVICE ="/dev/tcp"
# Remote network addresses: second b01 specifies a mirrored gateway
b01 NWADDR = "//192.11.109.5:1025" NWDEVICE = "/dev/tcp"
b01 NWADDR = "//194.12.110.5:1025" NWDEVICE = "/dev/tcp"
b02 NWADDR = "//dallas.acme.com:65432" NWDEVICE = "/dev/tcp"
b03 NWADDR = "//192.11.109.156:4244" NWDEVICE = "/dev/tcp"
#
*DM_OSITP
#
#local_or_remote_domain_nameaptaeq# [aet] [acn] [apid] [aeid]
# [profile]
#
c02 APT = "BA.CENTRAL01"
AEQ = "TUXEDO.R.4.2.1"
AET = "{1.3.15.0.3},{1}"
ACN = "XATMI"
b04 APT = "BA.BANK04"
AEQ = "TUXEDO.R.4.2.1"
AET = "{1.3.15.0.4},{1}"
ACN = "XATMI"
*DM_EXPORT
#service_name[Local_Domain_name] [access_control] [exported_svcname]
# [inbuftype] [outbuftype]
#
open_act ACL = branch
close_act ACL = branch
credit
debit
balance
loan LACCESSPOINT = c02 ACL = loans
*DM_IMPORT
#service_name[Remote_domain_name] [local_domain_name]
# [remote_svcname] [routing] [conv]
# [trantime] [inbuftype] [outbuftype]
#
tlr_add LACCESSPOINT = c01 ROUTING = ACCOUNT
tlr_bal LACCESSPOINT = c01 ROUTING = ACCOUNT
tlr_add RACCESSPOINT = b04 LACCESSPOINT = c02 RNAME ="TPSU002"
tlr_bal RACCESSPOINT = b04 LACCESSPOINT = c02 RNAME ="TPSU003"
*DM_ROUTING
#routing_criteriafieldtyped_bufferranges#acl_name
ACCOUNT FIELD = branchid BUFTYPE ="VIEW:account"
RANGES ="MIN - 1000:b01, 1001-3000:b02, *:b03"
*DM_ACCESS_CONTROL
#Remote_domain_list#
branch ACLIST = b01, b02, b03
loans ACLIST = b04
|