注: | 分散型の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_NAME
required_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_NAME
required_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_name
Gateway_Group_name
domain_type
domain_ID
log_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_name
network_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_name
apt
aeq
# [
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_criteria
field
typed_buffer
ranges
#
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