|
次の各項では、Oracle Tuxedo ATMI Domains環境のドメインの計画および構成の方法について説明します。
図2-1に、2つのOracle Tuxedoアプリケーション(bankappアプリケーションおよびクレジット・カード認可アプリケーション)を示します。

bankappアプリケーションは、銀行の様々な支店のATMを銀行の本店に接続します。クレジット・カード認可アプリケーションは、クレジット・カードに関する顧客のリクエストを処理します。銀行の管理者は、bankappアプリケーションがクレジット・カード認可アプリケーションと直接通信できれば、顧客により優れたサービスを提供できることに気づきます。直接通信によって、銀行は新規口座を開設する顧客にクレジット・カードを即時に発行できます。
bankappアプリケーションは、Oracle Tuxedo配布キットに含まれているサンプル・アプリケーションであり、クレジット・カード認可アプリケーションは、bankappの仮想的な拡張です。bankappアプリケーション・ファイルは次の場所にあります。
tux_prod_dirは、Oracle Tuxedo配布キットがインストールされているディレクトリを表します。
リスト2-1は、ubbmpというファイルの内容を示しています(このファイルは、bankappアプリケーションの複数マシン・バージョン用のUBBCONFIGファイルです)。
.
.
.
*RESOURCES
IPCKEY 80952
UID<user id from id(1)>GID<group id from id(1)>PERM 0660
MAXACCESSERS 40
MAXSERVERS 35
MAXSERVICES 75
MAXCONV 10
MAXGTT 20
MASTER SITE1,SITE2
SCANUNIT 10
SANITYSCAN 12
BBLQUERY 30
BLOCKTIME 30
DBBLWAIT 6
OPTIONS LAN,MIGRATE
MODEL MP
LDBAL Y
##SECURITY ACL
##AUTHSVC "..AUTHSVC"
#
*MACHINES<SITE1's uname>LMID=SITE1
TUXDIR="<TUXDIR1>"
APPDIR="<APPDIR1>"
ENVFILE="<APPDIR1>/ENVFILE"
TLOGDEVICE="<APPDIR1>/TLOG"
TLOGNAME=TLOG
TUXCONFIG="<APPDIR1>/tuxconfig"
TYPE="<machine type1>"
ULOGPFX="<APPDIR1>/ULOG"<SITE2's uname>LMID=SITE2
TUXDIR="<TUXDIR2>"
APPDIR="<APPDIR2>"
ENVFILE="<APPDIR2>/ENVFILE"
TLOGDEVICE="<APPDIR2>/TLOG"
TLOGNAME=TLOG
TUXCONFIG="<APPDIR2>/tuxconfig"
TYPE="<machine type2>"
ULOGPFX="<APPDIR2>/ULOG"
#
*GROUPS
#
# Group for Authentication Servers
#
##AUTHGRP LMID=SITE1 GRPNO=101
#
# Group for Application Queue (/Q) Servers
#
##QGRP1 LMID=SITE1 GRPNO=102
## TMSNAME=TMS_QM TMSCOUNT=2
## OPENINFO="TUXEDO/QM:<APPDIR1>/qdevice:QSP_BANKAPP"
#
# Group for Application Manager's Servers
#
##MGRGRP1 LMID=SITE1 GRPNO=103
#
# Group for EventBroker Servers
#
##EVBGRP1 LMID=SITE1 GRPNO=104
DEFAULT: TMSNAME=TMS_SQL TMSCOUNT=2
BANKB1 LMID=SITE1 GRPNO=1
OPENINFO="TUXEDO/SQL:<APPDIR1>/bankdl1:bankdb:readwrite"
BANKB2 LMID=SITE2 GRPNO=2
OPENINFO="TUXEDO/SQL:<APPDIR2>/bankdl2:bankdb:readwrite"
*NETWORK
SITE1 NADDR="<network address of SITE1>"
BRIDGE="<device of provider1>"
NLSADDR="<network listener address of SITE1>"
SITE2 NADDR="<network address of SITE2>"
BRIDGE="<device of provider2>"
NLSADDR="<network listener address of SITE2>"
*SERVERS
#
# TUXEDO System /T server providing application specific authentication.
# Ref. AUTHSVR(5).
#
##AUTHSVR SRVGRP=AUTHGRP SRVID=1 RESTART=Y GRACE=0 MAXGEN=2
## CLOPT="-A"
#
# TUXEDO System /T Message Queue Manager. It is a server that enqueues and
# dequeues messages on behalf of programs calling tpenqueue(3) and
# tpdequeue(3) respectively. Ref. TMQUEUE(5).
#
##TMQUEUE SRVGRP=QGRP1 SRVID=1 CONV=N GRACE=0
## CLOPT="-s QSP_BANKAPP:TMQUEUE"
#
# TUXEDO System /T Message Forwarding Server that forwards messages that have
# been stored using tpenqueue(3) for later processing. Ref. TMQFORWARD(5).
#
##TMQFORWARD SRVGRP=QGRP1 SRVID=2 CONV=N REPLYQ=N GRACE=0
## CLOPT="-- -e -n -d -q Q_OPENACCT_LOG"
#
# TUXEDO System /T User Event Broker that manages user events by notifying
# subscribers when those events are posted. Ref. TMUSREVT(5).
#
##TMUSREVT SRVGRP=EVBGRP1 SRVID=1 GRACE=3600
## ENVFILE="<APPDIR1>/TMUSREVT.ENV"
## CLOPT="-e tmusrevt.out -o tmusrevt.out -A --
## -f<APPDIR1>/tmusrevt.dat"
## SEQUENCE=11
#
# TUXEDO Application Server that subscribes to certain events.
#
##ACCTMGR SRVGRP=MGRGRP1 SRVID=1
## CLOPT="-A -o ACCTMGR.LOG -- -w 1000.00"
## SEQUENCE=12
DEFAULT: RESTART=Y MAXGEN=5 REPLYQ=Y CLOPT="-A"
TLR SRVGRP=BANKB1 SRVID=1 RQADDR=tlr1
CLOPT="-A -- -T 100 -e 1000.00"
TLR SRVGRP=BANKB1 SRVID=2 RQADDR=tlr1
CLOPT="-A -- -T 200 -e 1000.00"
TLR SRVGRP=BANKB2 SRVID=3 RQADDR=tlr2
CLOPT="-A -- -T 600 -e 1000.00"
TLR SRVGRP=BANKB2 SRVID=4 RQADDR=tlr2
CLOPT="-A -- -T 700 -e 1000.00"
XFER SRVGRP=BANKB1 SRVID=5
XFER SRVGRP=BANKB2 SRVID=6
ACCT SRVGRP=BANKB1 SRVID=7
ACCT SRVGRP=BANKB2 SRVID=8
BAL SRVGRP=BANKB1 SRVID=9
BAL SRVGRP=BANKB2 SRVID=10
BTADD SRVGRP=BANKB1 SRVID=11
BTADD SRVGRP=BANKB2 SRVID=12
AUDITC SRVGRP=BANKB1 SRVID=13 CONV=Y MIN=1 MAX=10 RQADDR="auditc"
BALC SRVGRP=BANKB1 SRVID=24
BALC SRVGRP=BANKB2 SRVID=25
#
*SERVICES
DEFAULT: LOAD=50 AUTOTRAN=Y TRANTIME=30
WITHDRAWAL PRIO=50 ROUTING=ACCOUNT_ID
DEPOSIT PRIO=50 ROUTING=ACCOUNT_ID
TRANSFER PRIO=50 ROUTING=ACCOUNT_ID
INQUIRY PRIO=50 ROUTING=ACCOUNT_ID
CLOSE_ACCT PRIO=40 ROUTING=ACCOUNT_ID
OPEN_ACCT PRIO=40 ROUTING=BRANCH_ID
BR_ADD PRIO=20 ROUTING=BRANCH_ID
TLR_ADD PRIO=20 ROUTING=BRANCH_ID
ABAL PRIO=30 ROUTING=b_id
TBAL PRIO=30 ROUTING=b_id
ABAL_BID PRIO=30 ROUTING=b_id
TBAL_BID PRIO=30 ROUTING=b_id
ABALC_BID PRIO=30 ROUTING=b_id
TBALC_BID PRIO=30 ROUTING=b_id
#
*ROUTING
ACCOUNT_ID FIELD=ACCOUNT_ID
BUFTYPE="FML"
RANGES="10000-59999:BANKB1,
60000-109999:BANKB2"
BRANCH_ID FIELD=BRANCH_ID
BUFTYPE="FML"
RANGES="1-5:BANKB1,
6-10:BANKB2"
b_id FIELD=b_id
BUFTYPE="VIEW:aud"
RANGES="1-5:BANKB1,
6-10:BANKB2"
次の各項では、bankappアプリケーションとクレジット・カード認可アプリケーションを再構成して相互に直接通信できるようにする2つの異なる方法を示します。
1つのソリューションは、図2-2に示すように、bankappアプリケーションとクレジット・カード認可アプリケーションを1つのOracle Tuxedoアプリケーション(ドメイン)に統合することです。

統合したアプリケーションのUBBCONFIGファイルを作成するには、クレジット・カード認可アプリケーションのUBBCONFIGファイルから次の情報を取得し、bankappアプリケーションのUBBCONFIGファイルに追加します。
リスト2-2は、統合したアプリケーションについて考えられるUBBCONFIGファイルを示しています。
*RESOURCES
IPCKEY 76666
UID 0000
GID 000
PERM 0660
MAXACCESSERS 40
MAXSERVERS 35
MAXSERVICES 75
MAXCONV 10
MAXGTT 100
MASTER SITE1,SITE2
SCANUNIT 10
SANITYSCAN 5
BBLQUERY 50
BLOCKTIME 2
DBBLWAIT 6
OPTIONS LAN,MIGRATE
MODEL MP
LDBAL Y
#
*MACHINES
#
# Machines for the bankapp part
mach1 LMID=SITE1
TUXDIR=“/home/rsmith/tuxroot”
APPDIR=“/home/rsmith/bankapp”
ENVFILE=“/home/rsmith/bankapp/ENVFILE”
TLOGDEVICE=“/home/rsmith/bankapp/TLOG”
TLOGNAME=TLOG
TUXCONFIG=“/home/rsmith/bankapp/tuxconfig”
TYPE=“type1”
ULOGPFX=“/home/rsmith/bankapp/ULOG”
mach2 LMID=SITE2
TUXDIR=“/home/rsmith/tuxroot”
APPDIR=“/home/rsmith/bankapp”
ENVFILE=“/home/rsmith/bankapp/ENVFILE”
TLOGDEVICE=“/home/rsmith/bankapp/TLOG”
TLOGNAME=TLOG
TUXCONFIG=“/home/rsmith/bankapp/tuxconfig”
TYPE=“type2”
ULOGPFX=“/home/rsmith/bankapp/ULOG”
mach3 LMID=SITE3
TUXDIR=“/home/rsmith/tuxroot”
APPDIR=“/home/rsmith/bankapp”
ENVFILE=“/home/rsmith/bankapp/ENVFILE”
TLOGDEVICE=“/home/rsmith/bankapp/TLOG”
TLOGNAME=TLOG
TUXCONFIG=“/home/rsmith/bankapp/tuxconfig”
TYPE=“type2”
ULOGPFX=“/home/rsmith/bankapp/ULOG”
#
# Machine for the credit card authorization part
sfexpz LMID=SITE4
TUXDIR=“/home/rsmith/tuxroot”
APPDIR=“/home/rsmith/bankapp”
ENVFILE=“/home/rsmith/bankapp/ENVFILE”
TLOGDEVICE=“/home/rsmith/bankapp/TLOG”
TLOGNAME=TLOG
TUXCONFIG=“/home/rsmith/bankapp/tuxconfig”
TYPE=“type1”
ULOGPFX=“/home/rsmith/bankapp/ULOG”
#
*GROUPS
DEFAULT: TMSNAME=TMS_SQL TMSCOUNT=2
#
# Groups for the bankapp part
BANKB1 LMID=SITE1 GRPNO=1
OPENINFO=“TUXEDO/SQL:/home/rsmith/bankapp/bankdl1:bankdb:readwrite”
BANKB2 LMID=SITE2 GRPNO=2
OPENINFO=“TUXEDO/SQL:/home/rsmith/bankapp/bankdl2:bankdb:readwrite”
BANKB3 LMID=SITE3 GRPNO=3
OPENINFO=“TUXEDO/SQL:/home/rsmith/bankapp/bankdl3:bankdb:readwrite”
#
# Group for the credit card authorization part
CREDIT LMID=SITE4 GRPNO=4
OPENINFO=“TUXEDO/SQL:/home/rsmith/bankapp/crdtdl1:bankdb:readwrite”
#
*NETWORK
#
# Network connections for the bankapp part
SITE1 NADDR=“<network address of SITE1>”
BRIDGE=“<device of provider1>”
NLSADDR=“<network listener address of SITE1>”
SITE2 NADDR=“<network address of SITE2>”
BRIDGE=“<device of provider2>”
NLSADDR=“<network listener address of SITE2>”
SITE3 NADDR=“<network address of SITE3>”
BRIDGE=“<device of provider3>”
NLSADDR=“<network listener address of SITE3>”
#
# Network connections for the credit card authorization part
SITE4 NADDR=“<network address of SITE4>”
BRIDGE=“<device of provider4>”
NLSADDR=“<network listener address of SITE4>”
#
*SERVERS
DEFAULT: RESTART=Y MAXGEN=5 REPLYQ=Y CLOPT=“-A”
#
# Servers for the bankapp part
TLR SRVGRP=BANKB1 SRVID=1 RQADDR=tlr1
CLOPT=“-A -- -T 100 -e 1000.00”
TLR SRVGRP=BANKB1 SRVID=2 RQADDR=tlr1
CLOPT=“-A -- -T 200 -e 1000.00”
TLR SRVGRP=BANKB2 SRVID=3 RQADDR=tlr2
CLOPT=“-A -- -T 600 -e 1000.00”
TLR SRVGRP=BANKB2 SRVID=4 RQADDR=tlr2
CLOPT=“-A -- -T 700 -e 1000.00”
TLR SRVGRP=BANKB3 SRVID=5 RQADDR=tlr3
CLOPT=“-A -- -T 800 -e 1000.00”
TLR SRVGRP=BANKB3 SRVID=6 RQADDR=tlr3
CLOPT=“-A -- -T 900” -e 1000.00
XFER SRVGRP=BANKB1 SRVID=7
XFER SRVGRP=BANKB2 SRVID=8
XFER SRVGRP=BANKB3 SRVID=9
ACCT SRVGRP=BANKB1 SRVID=10
ACCT SRVGRP=BANKB2 SRVID=11
ACCT SRVGRP=BANKB3 SRVID=12
BAL SRVGRP=BANKB1 SRVID=13
BAL SRVGRP=BANKB2 SRVID=14
BAL SRVGRP=BANKB3 SRVID=15
BTADD SRVGRP=BANKB1 SRVID=16
BTADD SRVGRP=BANKB2 SRVID=17
BTADD SRVGRP=BANKB3 SRVID=18
AUDITC SRVGRP=BANKB1 SRVID=19 CONV=Y MIN=1 MAX=10 RQADDR=”auditc”
BALC SRVGRP=BANKB1 SRVID=20
BALC SRVGRP=BANKB2 SRVID=21
BALC SRVGRP=BANKB3 SRVID=22
#
# Servers for the credit card authorization part
TLRA SRVGRP=CREDIT SRVID=26
CLOPT=“-A -- -T 300”
ACCTA SRVGRP=CREDIT SRVID=27
CRDT SRVGRP=CREDIT SRVID=35
#
*SERVICES
DEFAULT: LOAD=50 AUTOTRAN=Y TRANTIME=30
#
# Services for the bankapp part
WITHDRAWAL PRIO=50 ROUTING=ACCOUNT_ID
DEPOSIT PRIO=50 ROUTING=ACCOUNT_ID
TRANSFER PRIO=50 ROUTING=ACCOUNT_ID
INQUIRY PRIO=50 ROUTING=ACCOUNT_ID
CLOSE_ACCT PRIO=40 ROUTING=ACCOUNT_ID
OPEN_ACCT PRIO=40 ROUTING=BRANCH_ID
BR_ADD PRIO=20 ROUTING=BRANCH_ID
TLR_ADD PRIO=20 ROUTING=BRANCH_ID
ABAL PRIO=30 ROUTING=b_id
TBAL PRIO=30 ROUTING=b_id
ABAL_BID PRIO=30 ROUTING=b_id
TBAL_BID PRIO=30 ROUTING=b_id
ABALC_BID PRIO=30 ROUTING=b_id
TBALC_BID PRIO=30 ROUTING=b_id
#
# Services for the credit card authorization part
WITHDRAWALA PRIO=50
INQUIRYA PRIO=50
OPENCA PRIO=40
CLOSECA PRIO=40
DEPOSITA PRIO=50
OPEN_ACCT2 PRIO=40
OPENC PRIO=40
#
*ROUTING
ACCOUNT_ID FIELD=ACCOUNT_ID
BUFTYPE=“FML”
RANGES=“10000-39999:BANKB1,
40000-69999:BANKB2,
70000-109999:BANKB3,
*:*”
BRANCH_ID FIELD=BRANCH_ID
BUFTYPE=“FML”
RANGES=“1-5:BANKB1,
6-10:BANKB2,
11-15:BANKB3”
b_id FIELD=b_id
BUFTYPE="VIEW:aud"
RANGES="1-5:BANKB1,
6-10:BANKB2,
11-15:BANKB3"
別のソリューションは、図2-3に示すように、bankappアプリケーションとクレジット・カード認可アプリケーションをDomains構成として再構成することです。2つのドメインは、各ドメインでそれぞれ1つ実行されている2つのTDomainゲートウェイ・サーバー・プロセスを通じて相互運用します。

bankappアプリケーションとクレジット・カード認可アプリケーションのDomains構成を作成するには、2つのUBBCONFIGファイル(Oracle Tuxedoアプリケーションごとに1つずつ)と2つのDMCONFIGファイル(Oracle Tuxedoアプリケーションごとに1つずつ)を作成する必要があります。
Domains環境でbankappアプリケーションのUBBCONFIGファイルを作成するには、「統合したアプリケーションのサンプルUBBCONFIGファイル」で示したUBBCONFIGファイルのコピーに次の変更を加えます。
リスト2-3は、Domains環境のbankappアプリケーションについて考えられるUBBCONFIGファイルを示しています。
*RESOURCES
IPCKEY 76666
UID 0000
GID 000
PERM 0660
MAXACCESSERS 40
MAXSERVERS 35
MAXSERVICES 75
MAXCONV 10
MAXGTT 100
MASTER SITE1,SITE2
SCANUNIT 10
SANITYSCAN 5
BBLQUERY 50
BLOCKTIME 2
DBBLWAIT 6
OPTIONS LAN,MIGRATE
MODEL MP
LDBAL Y
MAXBUFTYPE 16
#
*MACHINES
mach1 LMID=SITE1
TUXDIR=“/home/rsmith/tuxroot”
APPDIR=“/home/rsmith/bankapp”
ENVFILE=“/home/rsmith/bankapp/ENVFILE”
TLOGDEVICE=“/home/rsmith/bankapp/TLOG”
TLOGNAME=TLOG
TUXCONFIG=“/home/rsmith/bankapp/tuxconfig”
TYPE=“type1”
ULOGPFX=“/home/rsmith/bankapp/ULOG”
mach2 LMID=SITE2
TUXDIR=“/home/rsmith/tuxroot”
APPDIR=“/home/rsmith/bankapp”
ENVFILE=“/home/rsmith/bankapp/ENVFILE”
TLOGDEVICE=“/home/rsmith/bankapp/TLOG”
TLOGNAME=TLOG
TUXCONFIG=“/home/rsmith/bankapp/tuxconfig”
TYPE=“type2”
ULOGPFX=“/home/rsmith/bankapp/ULOG”
mach3 LMID=SITE3
TUXDIR=“/home/rsmith/tuxroot”
APPDIR=“/home/rsmith/bankapp”
ENVFILE=“/home/rsmith/bankapp/ENVFILE”
TLOGDEVICE=“/home/rsmith/bankapp/TLOG”
TLOGNAME=TLOG
TUXCONFIG=“/home/rsmith/bankapp/tuxconfig”
TYPE=“type2”
ULOGPFX=“/home/rsmith/bankapp/ULOG”
#
*GROUPS
DEFAULT: TMSNAME=TMS_SQL TMSCOUNT=2
#
# Groups for bankapp
BANKB1 LMID=SITE1 GRPNO=1
OPENINFO=“TUXEDO/SQL:/home/rsmith/bankapp/bankdl1:bankdb:readwrite”
BANKB2 LMID=SITE2 GRPNO=2
OPENINFO=“TUXEDO/SQL:/home/rsmith/bankapp/bankdl2:bankdb:readwrite”
BANKB3 LMID=SITE3 GRPNO=3
OPENINFO=“TUXEDO/SQL:/home/rsmith/bankapp/bankdl3:bankdb:readwrite”
#
# Groups for DomainsDMADMGRP LMID=SITE1 GRPNO=4#
GWTGROUP LMID=SITE2 GRPNO=5
*NETWORK
SITE1 NADDR=“<network address of SITE1>”
BRIDGE=“<device of provider1>”
NLSADDR=“<network listener address of SITE1>”
SITE2 NADDR=“<network address of SITE2>”
BRIDGE=“<device of provider2>”
NLSADDR=“<network listener address of SITE2>”
SITE3 NADDR=“<network address of SITE3>”
BRIDGE=“<device of provider3>”
NLSADDR=“<network listener address of SITE3>”
#
*SERVERS
DEFAULT: RESTART=Y MAXGEN=5 REPLYQ=Y CLOPT=“-A”
#
# Servers for DomainsDMADM SRVGRP=DMADMGRP# Servers for bankapp
SRVID=1001
REPLYQ=N
RESTART=Y
GRACE=0
GWADM SRVGRP=GWTGROUP
SRVID=1002
REPLYQ=N
RESTART=Y
GRACE=0
GWTDOMAIN SRVGRP=GWTGROUP
SRVID=1003
RQADDR=”GWTGROUP”
REPLYQ=N
RESTART=Y
GRACE=0
#
TLR SRVGRP=BANKB1 SRVID=1 RQADDR=tlr1
CLOPT=“-A -- -T 100 -e 1000.00”
TLR SRVGRP=BANKB1 SRVID=2 RQADDR=tlr1
CLOPT=“-A -- -T 200 -e 1000.00”
TLR SRVGRP=BANKB2 SRVID=3 RQADDR=tlr2
CLOPT=“-A -- -T 600 -e 1000.00”
TLR SRVGRP=BANKB2 SRVID=4 RQADDR=tlr2
CLOPT=“-A -- -T 700 -e 1000.00”
TLR SRVGRP=BANKB3 SRVID=5 RQADDR=tlr3
CLOPT=“-A -- -T 800 -e 1000.00”
TLR SRVGRP=BANKB3 SRVID=6 RQADDR=tlr3
CLOPT=“-A -- -T 900” -e 1000.00
XFER SRVGRP=BANKB1 SRVID=7
XFER SRVGRP=BANKB2 SRVID=8
XFER SRVGRP=BANKB3 SRVID=9
ACCT SRVGRP=BANKB1 SRVID=10
ACCT SRVGRP=BANKB2 SRVID=11
ACCT SRVGRP=BANKB3 SRVID=12
BAL SRVGRP=BANKB1 SRVID=13
BAL SRVGRP=BANKB2 SRVID=14
BAL SRVGRP=BANKB3 SRVID=15
BTADD SRVGRP=BANKB1 SRVID=16
BTADD SRVGRP=BANKB2 SRVID=17
BTADD SRVGRP=BANKB3 SRVID=18
AUDITC SRVGRP=BANKB1 SRVID=19 CONV=Y MIN=1 MAX=10 RQADDR=”auditc”
BALC SRVGRP=BANKB1 SRVID=20
BALC SRVGRP=BANKB2 SRVID=21
BALC SRVGRP=BANKB3 SRVID=22
#
*SERVICES
DEFAULT: LOAD=50 AUTOTRAN=Y TRANTIME=30
WITHDRAWAL PRIO=50 ROUTING=ACCOUNT_ID
DEPOSIT PRIO=50 ROUTING=ACCOUNT_ID
TRANSFER PRIO=50 ROUTING=ACCOUNT_ID
INQUIRY PRIO=50 ROUTING=ACCOUNT_ID
CLOSE_ACCT PRIO=40 ROUTING=ACCOUNT_ID
OPEN_ACCT PRIO=40 ROUTING=BRANCH_ID
BR_ADD PRIO=20 ROUTING=BRANCH_ID
TLR_ADD PRIO=20 ROUTING=BRANCH_ID
ABAL PRIO=30 ROUTING=b_id
TBAL PRIO=30 ROUTING=b_id
ABAL_BID PRIO=30 ROUTING=b_id
TBAL_BID PRIO=30 ROUTING=b_id
ABALC_BID PRIO=30 ROUTING=b_id
TBALC_BID PRIO=30 ROUTING=b_id
#
*ROUTING
ACCOUNT_ID FIELD=ACCOUNT_ID
BUFTYPE=“FML”
RANGES=“10000-39999:BANKB1,
40000-69999:BANKB2,
70000-109999:BANKB3,
*:*”
BRANCH_ID FIELD=BRANCH_ID
BUFTYPE=“FML”
RANGES=“1-5:BANKB1,
6-10:BANKB2,
11-15:BANKB3”
b_id FIELD=b_id
BUFTYPE="VIEW:aud"
RANGES="1-5:BANKB1,
6-10:BANKB2,
11-15:BANKB3"
| 注意: | この例では、DMADM、GWADM、およびGWTDOMAINの各サーバーでREPLYQ=Nが指定されています。この設定は必須ではありません。必要に応じてREPLYQ=Yを指定して、それらのどのサーバーにでも応答キューを指定できます。ただし、REPLYQがNに設定されている場合は、パフォーマンスが向上することがあります。 |
リスト2-4の例に示すように、bankappアプリケーションのDMCONFIGファイルも作成する必要があります。DMCONFIGファイルのバイナリ・バージョン(BDMCONFIG)が、DMADMサーバーと同じマシンに置かれている必要があります。
*DM_LOCAL
LOCAL1 GWGRP=GWTGROUP
TYPE=TDOMAIN
ACCESSPOINTID=”BANK”BLOCKTIME=10CONNECTION_POLICY=ON_STARTUPDMTLOGDEV=“/home/rsmith/bankapp/DMTLOG”
AUDITLOG=“/home/rsmith/bankapp/AUDITLOG”
#
*DM_REMOTE
REMOT1 TYPE=TDOMAIN
ACCESSPOINTID=”CREDIT.CARD”
#
# If the DM_EXPORT section is absent, as in this sample DMCONFIG
# file, all services advertised by the local domain are available
# to the remote domains. Thus, the following bankapp services are
# available to the credit card authorization application:
#
# WITHDRAWAL
# DEPOSIT
# TRANSFER
# INQUIRY
# CLOSE_ACCT
# OPEN_ACCT
# BR_ADD
# TLR_ADD
# ABAL
# TBAL
# ABAL_BID
# TBAL_BID
# ABALC_BID
# TBALC_BID
#*DM_IMPORTWITHDRAWALARACCESSPOINT=REMOT1INQUIRYA
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1OPENCA
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1CLOSECA
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1DEPOSITA
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1OPEN_ACCT2
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1OPENC
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1*DM_TDOMAIN
LACCESSPOINT=LOCAL1
#
LOCAL1 NWADDR=“albany.acme.com:4051”
REMOT1 NWADDR=“newyork.acme.com:65431”
Domains環境でクレジット・カード認可アプリケーションのUBBCONFIGファイルを作成するには、クレジット・カード認可アプリケーションのUBBCONFIGファイルに次の変更を加えます。
リスト2-5は、Domains環境のクレジット・カード認可アプリケーションについて考えられるUBBCONFIGファイルを示しています。
*RESOURCES
IPCKEY 76666
UID 0000
GID 000
PERM 0660
MAXACCESSERS 40
MAXSERVERS 35
MAXSERVICES 75
MAXCONV 10
MAXGTT 100
MASTER SITE1
SCANUNIT 10
MODEL SHM
LDBAL Y
#
*MACHINES
sfexpz LMID=SITE1
TUXDIR=“/home/rsmith/tuxroot”
APPDIR=“/home/rsmith/creditapp”
ENVFILE=“/home/rsmith/creditapp/ENVFILE”
TLOGDEVICE=“/home/rsmith/creditapp/TLOG”
TLOGNAME=TLOG
TUXCONFIG=“/home/rsmith/creditapp/tuxconfig”
TYPE=“type1”
ULOGPFX=“/home/rsmith/creditapp/ULOG”
#
*GROUPS
DEFAULT: TMSNAME=TMS_SQL TMSCOUNT=2
#
# Group for credit card authorization
CREDIT LMID=SITE1 GRPNO=1
OPENINFO=“TUXEDO/SQL:/home/rsmith/creditapp/crdtdl1:bankdb:readwrite”
#
# Groups for DomainsDMADMGRP LMID=SITE1 GRPNO=2#
GWTGROUP LMID=SITE1 GRPNO=3
*SERVERS
DEFAULT: RESTART=Y MAXGEN=5 REPLYQ=Y CLOPT=“-A”
#
# Servers for DomainsDMADM SRVGRP=DMADMGRP#
SRVID=50
REPLYQ=N
RESTART=Y
GRACE=0
GWADM SRVGRP=GWTGROUP
SRVID=60
REPLYQ=N
RESTART=Y
GRACE=0
GWTDOMAIN SRVGRP=GWTGROUP
SRVID=70
RQADDR=”GWTGROUP”
REPLYQ=N
RESTART=Y
GRACE=0
# Servers for credit card authorization
TLRA SRVGRP=CREDIT SRVID=1
CLOPT=“-A -- -T 600”
ACCTA SRVGRP=CREDIT SRVID=2
CRDT SRVGRP=CREDIT SRVID=3
#
*SERVICES
DEFAULT: LOAD=50 AUTOTRAN=Y TRANTIME=30
# Services for credit card authorization
WITHDRAWALA PRIO=50
INQUIRYA PRIO=50
OPENCA PRIO=40
CLOSECA PRIO=40
DEPOSITA PRIO=50
OPEN_ACCT2 PRIO=40
OPENC PRIO=40
| 注意: | この例では、DMADM、GWADM、およびGWTDOMAINの各サーバーでREPLYQ=Nが指定されています。この設定は必須ではありません。必要に応じてREPLYQ=Yを指定して、それらのどのサーバーにでも応答キューを指定できます。ただし、REPLYQがNに設定されている場合は、パフォーマンスが向上することがあります。 |
リスト2-6の例に示すように、クレジット・カード認可アプリケーションのDMCONFIGファイルも作成する必要があります。
*DM_LOCAL
LOCAL1 GWGRP=GWTGROUP
TYPE=TDOMAIN
ACCESSPOINTID=”CREDIT.CARD”BLOCKTIME=8
DMTLOGDEV=“/home/rsmith/creditapp/DMTLOG”
AUDITLOG=“/home/rsmith/creditapp/AUDITLOG”
#
*DM_REMOTE
REMOT1 TYPE=TDOMAIN
ACCESSPOINTID=”BANK”
#
# If the DM_EXPORT section is absent, as in this sample DMCONFIG
# file, all services advertised by the local domain are available
# to the remote domains. Thus, the following credit card
# authorization services are available to the bankapp application:
#
# WITHDRAWALA
# INQUIRYA
# OPENCA
# CLOSECA
# DEPOSITA
# OPEN_ACCT2
# OPENC
#*DM_IMPORTWITHDRAWALRACCESSPOINT=REMOT1DEPOSIT
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1TRANSFER
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1INQUIRY
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1CLOSE_ACCT
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1OPEN_ACCT
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1BR_ADD
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1TLR_ADD
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1ABAL
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1TBAL
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1ABALC_BID
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1TBALC_BID
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1*DM_TDOMAIN
LACCESSPOINT=LOCAL1
#
LOCAL1 NWADDR=“newyork.acme.com:65431”
REMOT1 NWADDR=“albany.acme.com:4051”
creditappアプリケーションは、4台のマシンにまたがるサンプルDomains構成です。実際には、creditappアプリケーションは、「複数のOracle Tuxedoアプリケーションに基づくDomainsの構築計画」で説明するように、2つのアプリケーションが相互に直接通信できるようにbankappアプリケーションとクレジット・カード認可アプリケーションを再構成するための別のソリューションです。このソリューションでは、bankappアプリケーションとクレジット・カード認可アプリケーションは、TDomainゲートウェイ・サーバー・プロセスを使用して相互運用する4つのOracle Tuxedoドメイン(マシンあたり1つのドメイン)として再構成されます。
creditappアプリケーションは、Oracle Tuxedo配布キットに含まれています。そのファイルは次の場所にあります。
tux_prod_dirは、Oracle Tuxedo配布キットがインストールされているディレクトリを表します。
creditappアプリケーションのDomains構成には、4つのUBBCONFIGファイル(Oracle Tuxedoドメインごとに1つ)と、4つのDMCONFIGファイル(Oracle Tuxedoドメインごとに1つ)が必要です。4つのUBBCONFIGファイルの名前はubbdom1からubbdom4までで、4つのDMCONFIGファイルの名前はdomcon1からdomcon4までです。ファイルはcreditappディレクトリにあります。
リスト2-7は、ubbdom1構成ファイルの内容を示しています。SERVERSセクションでは、このドメインは、Domains構成の他の3つのドメインと通信するためにこのドメインで使用される3つのTDomainゲートウェイ・グループに対して構成されています。
.
.
.
*RESOURCES
IPCKEY 80952
UID<user id from id(1)>GID<group id from id(1)>PERM 0660
MAXACCESSERS 40
MAXSERVERS 35
MAXSERVICES 75
MAXCONV 10
MASTER SITE1
MODEL SHM
LDBAL Y
MAXGTT 100
MAXBUFTYPE 16
SCANUNIT 10
SANITYSCAN 5
DBBLWAIT 6
BBLQUERY 50
BLOCKTIME 2
#
#
*MACHINES<SITE1's uname>LMID=SITE1
TUXDIR="<TUXDIR1>"
APPDIR="<APPDIR1>"
ENVFILE="<APPDIR1>/ENVFILE"
TLOGDEVICE="<APPDIR1>/TLOG"
TLOGNAME=TLOG
TUXCONFIG="<APPDIR1>/tuxconfig"
ULOGPFX="<APPDIR1>/ULOG"
TYPE="<machine type1>"
#*GROUPS
#
DEFAULT: LMID=SITE1
BANKB1 GRPNO=1 TMSNAME=TMS_SQLTMSCOUNT=2
OPENINFO="TUXEDO/SQL:<APPDIR1>/crdtdl1:bankdb:readwrite"
BANKB2 GRPNO=2
BANKB3 GRPNO=3
BANKB4 GRPNO=4
#
#
*SERVERS
#
DEFAULT: RESTART=Y MAXGEN=5 REPLYQ=Y CLOPT="-A"
DMADM SRVGRP=BANKB2 SRVID=32
GWADM SRVGRP=BANKB2 SRVID=30
GWTDOMAIN SRVGRP=BANKB2 SRVID=31
GWADM SRVGRP=BANKB3 SRVID=24
GWTDOMAIN SRVGRP=BANKB3 SRVID=25
GWADM SRVGRP=BANKB4 SRVID=20
GWTDOMAIN SRVGRP=BANKB4 SRVID=21
TLRA SRVGRP=BANKB1 SRVID=2
CLOPT="-A -- -T 100"
BTADD SRVGRP=BANKB1 SRVID=3
ACCTA SRVGRP=BANKB1 SRVID=4
CRDT SRVGRP=BANKB1 SRVID=5
CRDTA SRVGRP=BANKB1 SRVID=6
#
*SERVICES
DEFAULT: LOAD=50
INQUIRYA PRIO=50
WITHDRAWALA PRIO=50
OPEN_ACCT2 PRIO=40
OPENC PRIO=40
OPENCA PRIO=40
CLOSECA PRIO=40
BR_ADD PRIO=20
TLR_ADD PRIO=20
リスト2-8は、domcon1 Domains構成ファイルの内容を示しています。DM_LOCALセクション(DM_LOCAL_DOMAINSセクションとも呼ばれます)では、このドメインは、Domains構成の他の3つのドメインと通信するためにこのドメインで使用される3つのTDomainゲートウェイ・グループに対して構成されています。ここに示されているdomcon1の内容は、「DMCONFIGファイル関連の新しい用語」で説明しているDomainsの新規用語で更新されています。
.
.
.
*DM_RESOURCES
#
VERSION=U22
#
#
#
*DM_LOCAL
#
QDOM1 GWGRP=BANKB2
TYPE=TDOMAIN
ACCESSPOINTID=”QDOM1”BLOCKTIME=10
MAXACCESSPOINT=89
DMTLOGDEV=“<APPDIR1>/DMTLOG”
AUDITLOG=“<APPDIR1>/AUDITLOG”
DMTLOGNAME=”DMTLOG_TDOM1”
QDOM2 GWGRP=BANKB3
TYPE=TDOMAIN
ACCESSPOINTID=”QDOM2”BLOCKTIME=10
MAXACCESSPOINT=89
DMTLOGDEV=“<APPDIR1>/DMTLOG”
AUDITLOG=“<APPDIR1>/AUDITLOG”
DMTLOGNAME=”DMTLOG_TDOM2”
QDOM3 GWGRP=BANKB4
TYPE=TDOMAIN
ACCESSPOINTID=”QDOM3”BLOCKTIME=10
MAXACCESSPOINT=89
DMTLOGDEV=“<APPDIR1>/DMTLOG”
AUDITLOG=“<APPDIR1>/AUDITLOG”
DMTLOGNAME=”DMTLOG_TDOM3”
#
#
*DM_REMOTE
#
TDOM1 TYPE=TDOMAIN
ACCESSPOINTID=”TDOM1”
TDOM2 TYPE=TDOMAIN
ACCESSPOINTID=”TDOM2”
TDOM3 TYPE=TDOMAIN
ACCESSPOINTID=”TDOM3”
#
#
*DM_TDOMAIN
#
TDOM1 NWADDR=“<network address of SITE2>”
NWDEVICE=”<device of provider2>
TDOM2 NWADDR=“<network address of SITE3>”
NWDEVICE=”<device of provider3>
TDOM3 NWADDR=“<network address of SITE4>”
NWDEVICE=”<device of provider4>
QDOM1 NWADDR=“<network address of SITE1>”
NWDEVICE=”<device of provider1>
QDOM2 NWADDR=“<network address of SITE1A>”
NWDEVICE=”<device of provider1>
QDOM3 NWADDR=“<network address of SITE1B>”
NWDEVICE=”<device of provider1>
#
#
*DM_EXPORT
#
WITHDRAWALA
INQUIRYA
OPENCA
CLOSECA
creditappアプリケーションを実行する場合は、最初にcreditappディレクトリにあるREADMEファイルを読みます。READMEファイルでは、RUNME.shという名前のUNIXシェル・スクリプトを使用してcreditappアプリケーションを実行する方法が説明されています。creditappアプリケーションをWindowsシステムで実行する場合は、READMEファイルを読んで基本的な設定情報を調べ、Windows環境で同等のタスクを実行します。WindowsでのOracle Tuxedoの使用方法の詳細は、WindowsでのOracle Tuxedo ATMIの使用を参照してください。
Domains環境を構成するには、Oracle TuxedoドメインがDomains構成に関連する他のドメイン(リモート・ドメイン)について知る必要のあるすべての情報をDomains管理者が指定する必要があります。この情報には、リモート・ドメインにエクスポートされるローカル・サービス、リモート・ドメインからインポートされるサービスおよびリモート・ドメインと通信するためのアドレス指定とセキュリティのパラメータが含まれます。この情報は、Domains構成に関連する各ドメインのUBBCONFIGおよびDMCONFIG構成ファイルで定義されます。
次の各項で説明するDomainsの例は、次の場所にあるsimpappアプリケーションに基づいています(このアプリケーションは、Oracle Tuxedo配布キットに含まれているサンプル・アプリケーションです)。
tux_prod_dirは、Oracle Tuxedo配布キットがインストールされているディレクトリを表します。
図2-4に示すDomainsの例は、2つのOracle Tuxedoドメイン(simpappに基づくローカル・アプリケーションであるlappと、simpappに基づくリモート・アプリケーションであるrapp)から構成されます。lappアプリケーションは、そのクライアントがrappアプリケーションで使用可能なTOUPPERというサービスにアクセスできるように構成されています。

次のタスクは、lappおよびrappアプリケーションを構成するために必要です。
lappアプリケーションを正常に構成するには、次の環境変数を設定する必要があります。
TUXDIR - このマシンのOracle Tuxedoシステム・ルート・ディレクトリの絶対パス名。tux_prod_dirとして表されることがあります。APPDIR - このマシンのlappアプリケーション・ルート・ディレクトリの絶対パス名。TUXCONFIG - このマシンでlappのアプリケーション・バイナリ構成ファイルが置かれているデバイスまたはファイル名の絶対パス名。BDMCONFIG - このマシンでlappのDomainsバイナリ構成ファイルが置かれているデバイスまたはファイル名の絶対パス名。PATH - %TUXDIR%\bin (Windows)または$TUXDIR/bin (UNIX)を含める必要があります。LD_LIBRARY_PATH (UNIXのみ) - このマシンにロードする必要のある($TUXDIR/libに含める必要のある)動的にロード可能なライブラリのリスト。HP 9000上のHP-UXでは、LD_LIBRARY_PATHのかわりにSHLIB_PATHを使用します。 prompt> set TUXDIR=C:\bea\tuxedoprompt> set APPDIR=C:\home\lappprompt> set TUXCONFIG=C:\home\lapp\lapp.tuxprompt> set BDMCONFIG=C:\home\lapp\lapp.bdmprompt> set PATH=%APPDIR%;%TUXDIR%\bin;%PATH%
| 注意: | Windowsは、PATH変数設定を介して、動的にロード可能な必須のライブラリ・ファイルにアクセスします。 |
prompt> TUXDIR=/home/rsmith/bea/tuxedoprompt> APPDIR=/home/rsmith/lappprompt> TUXCONFIG=/home/rsmith/lapp/lapp.tuxprompt> BDMCONFIG=/home/rsmith/lapp/lapp.bdmprompt> PATH=$APPDIR:$TUXDIR/bin:/bin:$PATHprompt> LD_LIBRARY_PATH=$APPDIR:$TUXDIR/lib:/lib:/usr/lib:prompt>
$LD_LIBRARY_PATHexport TUXDIR APPDIR TUXCONFIG BDMCONFIG PATH LD_LIBRARY_PATH
lappアプリケーション構成ファイルのテキスト・バージョンであるlapp.ubbでは、必要なパラメータのみ定義されます。他のパラメータにはデフォルト設定が使用されます。リスト2-9は、lapp.ubbの内容を示しています。
# lapp.ubb
#
*RESOURCES
IPCKEY 111111
MASTER LAPP
MODEL SHM
*MACHINES
giselle
LMID=LAPP
TUXDIR=”/home/rsmith/tuxedo”
APPDIR=”/home/rsmith/lapp”
TUXCONFIG=”/home/rsmith/lapp/lapp.tux”
*GROUPS
LDMGRP GRPNO=1 LMID=LAPP
LGWGRP GRPNO=2 LMID=LAPP
.
.
.
*SERVERS
DMADM SRVGRP=LDMGRP SRVID=1
GWADM SRVGRP=LGWGRP SRVID=1GWTDOMAINSRVGRP=LGWGRP SRVID=2 REPLYQ=N
.
.
.
*SERVICES
.
.
.
| 注意: | 前述のUBBCONFIGファイル・リストでは、DMADM、GWADM、およびGWTDOMAINの各サーバーでREPLYQ=Nが指定されています。この設定は必須ではありません。必要に応じてREPLYQ=Yを指定して、それらのどのサーバーにでも応答キューを指定できます。ただし、REPLYQがNに設定されている場合は、パフォーマンスが向上することがあります。 |
lapp.ubbでは次のサーバー・グループが定義されています。
DMADM - Domains管理サーバーは、バイナリDomains構成ファイル(BDMCONFIG)内のDomains構成情報の実行時の変更を可能にします。DMADMは、登録済ゲートウェイ・グループのリストをサポートします。Domains構成に関連するOracle Tuxedoドメインでは、DMADMのインスタンスを1つのみ実行できます。GWADM - ゲートウェイ管理サーバーは、特定のドメイン・ゲートウェイ・グループの実行時の管理を可能にします。このサーバーは、DMADMサーバーからDomains構成情報を取得します。ゲートウェイ・グループの管理機能とトランザクション・ロギングも提供します。GWTDOMAIN - TDomainゲートウェイ・サーバーは、リモートOracle Tuxedoドメインとの間のアクセスを有効にし、2つ以上のOracle Tuxedoドメインの相互運用性を可能にします。TDomainゲートウェイがエクスポートおよびインポートするローカルおよびリモート・サービスは、Domains構成ファイル(DMCONFIG)に含まれています。 lapp Domains構成ファイルのテキスト・バージョンであるlapp.domでは、必要なパラメータのみ定義されます。オプションのパラメータにはデフォルト設定が使用されます。リスト2-10は、lapp.domファイルの内容を示しています。
#
# lapp.dom
#
*DM_LOCAL
LAPP GWGRP=LGWGRP
TYPE=TDOMAIN
ACCESSPOINTID=”111111"
*DM_REMOTE
RAPP TYPE=TDOMAIN
ACCESSPOINTID=”222222"
*DM_EXPORT
*DM_IMPORT
TOUPPER
*DM_TDOMAIN
LAPP NWADDR=”//giselle:5000"
RAPP NWADDR=”//juliet:5000"
DM_LOCALセクションは、ローカル・ドメイン・アクセス・ポイント、それに関連するドメイン・ゲートウェイ・グループおよびそれらの特性を示します。ドメイン・ゲートウェイ・グループあたりローカル・ドメイン・アクセス・ポイントが必ず1つのみあります。
lapp.domファイルは、1つのローカル・ドメイン・アクセス・ポイントLAPPのみ指定し、LAPPアクセス・ポイントに対して次のプロパティを定義します。
GWGRP値はLGWGRP(lapp.ubbファイルで指定されたドメイン・ゲートウェイ・サーバー・グループの名前)です。TDOMAINのTYPEは、lappアプリケーションがローカルTDomainゲートウェイ・サーバーを介してrappアプリケーションと通信することを示します。このパラメータは、ゲートウェイで使用されているプロトコルを示します。他のTYPE値として、IDOMAIN(メインフレーム・ゲートウェイ用のOracle eLinkアダプタ)、SNAX(メインフレームSNAゲートウェイ用のOracle eLinkアダプタ)およびOSITP/OSITPX (メインフレームOSI TPゲートウェイ用のOracle eLinkアダプタ)があります。ACCESSPOINTIDは、ローカル・ドメイン・アクセス・ポイントの名前を示します。この識別子は、Domains構成に含まれるすべてのドメイン間で一意である必要があります。 DM_REMOTEセクションは、リモート・ドメイン・アクセス・ポイントとその特性を示します。ドメイン・ゲートウェイ・グループあたり1つ以上のリモート・ドメイン・アクセス・ポイントがある場合があります。
lapp.domファイルは、1つのリモート・ドメイン・アクセス・ポイントRAPPのみ指定し、RAPPアクセス・ポイントに対して次のプロパティを定義します。
DM_EXPORTセクションは、ローカル・ドメイン・アクセス・ポイントを介して1つ以上のリモート・ドメインにエクスポートされるサービスに関する情報を提供します。このセクションがない場合、または存在しても空の場合は、ローカル・ドメインによって通知されるすべてのサービスが、DM_REMOTEセクションで定義されているアクセス・ポイントに関連付けられているリモート・ドメインから使用可能になります。
lapp.domファイルで指定されているように、lappサービスは、LAPPアクセス・ポイントを介してrappアプリケーションから使用できます。
DM_IMPORTセクションは、1つ以上のリモート・ドメイン・アクセス・ポイントを通じてインポートされ、1つ以上のローカル・ドメイン・アクセス・ポイントを介してローカル・ドメインから利用可能なサービスに関する情報を提供します。このセクションが存在しない場合、または存在しても空の場合、リモート・サービスはローカル・ドメインで使用できません。
lapp.domファイルで指定されているように、TOUPPERという名前のrappサービスはlappアプリケーションから使用できます。
DM_TDOMAINセクションは、Oracle Tuxedo Domainsコンポーネントに必要なアドレス指定情報を定義します。構成ファイルのLOCALセクションとREMOTEセクションで指定された各ドメイン・アクセス・ポイントは、DM_TDOMAINセクションのエントリとして表示されます。
各ローカル・ドメイン・アクセス・ポイント・エントリには、ローカル・ドメインが1つ以上のリモート・ドメインからの接続を受け付けるネットワーク・アドレスを指定するNWADDR値が関連付けられています。
各リモート・ドメイン・アクセス・ポイント・エントリには、ローカル・ドメインがリモート・ドメインへの接続を行うネットワーク・アドレスを指定するNWADDR値が関連付けられています。
lapp.domファイルで指定されているように、lappアプリケーションはネットワーク・アドレスgiselle:5000(giselleはlappアプリケーションが実行されているマシンの名前、5000はリスニング・ポート)上の着信接続リクエストをリスニングします。また、lapp.domには、lappアプリケーションがrappアプリケーションへの接続を試行したときに、ネットワーク・アドレスjuliet:5000(julietはrappアプリケーションが実行されているマシンの名前、5000は送信先ポート)を使用することも指定されています。
lapp.ubbアプリケーション構成ファイルには、lappアプリケーションの起動に必要な情報が含まれています。tmloadcf(1)を実行して、このファイルをバイナリ・データ・ファイルにコンパイルします。
lapp.dom Domains構成ファイルには、ローカルlapp TDomainゲートウェイがリモートrapp TDomainゲートウェイと通信するために使用する情報が含まれます。dmloadcf(1)を実行して、このファイルをバイナリ・データ・ファイルにコンパイルします。
両方の構成ファイルをコンパイルするには、次のサンプル・セッションをガイドとして使用します。
Windows:
prompt> cd C:\home\lappprompt> set TUXCONFIG=C:\home\lapp\lapp.tuxprompt> tmloadcf -y lapp.ubbprompt> set BDMCONFIG=C:\home\lapp\lapp.bdmprompt> dmloadcf -y lapp.dom
UNIX:
prompt> cd /home/rsmith/lappprompt> TUXCONFIG=/home/rsmith/lapp/lapp.tuxprompt> export TUXCONFIGprompt> tmloadcf -y lapp.ubbprompt> BDMCONFIG=/home/rsmith/lapp/lapp.bdmprompt> export BDMCONFIGprompt> dmloadcf -y lapp.dom
lappアプリケーションとrappアプリケーションの両方を構築した後で、tmboot(1)コマンドを実行して、それぞれのマシンでアプリケーションを起動します。
2つのアプリケーションの起動順序に意味はありません。「Domainsの管理」で説明しているように、dmadmin(1)でアプリケーションをモニターします。両方のアプリケーションの起動後に、lappアプリケーションのクライアントはrappアプリケーションで提供されているTOUPPERサービスを呼び出すことができます。
rappアプリケーションを正常に構成するには、次の環境変数を設定する必要があります。
TUXDIR - このマシンのOracle Tuxedoシステム・ルート・ディレクトリの絶対パス名。tux_prod_dirとして表されることがあります。APPDIR - このマシンのrappアプリケーション・ルート・ディレクトリの絶対パス名。TUXCONFIG - このマシンでrappのアプリケーション・バイナリ構成ファイルが置かれているデバイスまたはファイル名の絶対パス名。BDMCONFIG - このマシンでrappのDomainsバイナリ構成ファイルが置かれているデバイスまたはファイル名の絶対パス名。PATH - %TUXDIR%\bin (Windows)または$TUXDIR/bin (UNIX)を含める必要があります。LD_LIBRARY_PATH (UNIXのみ) - このマシンにロードする必要のある($TUXDIR/libに含める必要のある)動的にロード可能なライブラリのリスト。HP 9000上のHP-UXでは、LD_LIBRARY_PATHのかわりにSHLIB_PATHを使用します。 prompt> set TUXDIR=C:\bea\tuxedoprompt> set APPDIR=C:\home\rappprompt> set TUXCONFIG=C:\home\rapp\rapp.tuxprompt> set BDMCONFIG=C:\home\rapp\rapp.bdmprompt> set PATH=%APPDIR%;%TUXDIR%\bin;%PATH%
| 注意: | Windowsは、PATH変数設定を介して、動的にロード可能な必須のライブラリ・ファイルにアクセスします。 |
prompt> TUXDIR=/home/rsmith/bea/tuxedoprompt> APPDIR=/home/rsmith/rappprompt> TUXCONFIG=/home/rsmith/rapp/rapp.tuxprompt> BDMCONFIG=/home/rsmith/rapp/rapp.bdmprompt> PATH=$APPDIR:$TUXDIR/bin:/bin:$PATHprompt> LD_LIBRARY_PATH=$APPDIR:$TUXDIR/lib:/lib:/usr/lib:prompt>
$LD_LIBRARY_PATHexport TUXDIR APPDIR TUXCONFIG BDMCONFIG PATH LD_LIBRARY_PATH
rappアプリケーション構成ファイルのテキスト・バージョンであるrapp.ubbでは、必要なパラメータのみ定義されます。他のパラメータにはデフォルト設定が使用されます。リスト2-11は、rapp.ubbファイルの内容を示しています。
# rapp.ubb
#
*RESOURCES
IPCKEY 222222
MASTER RAPP
MODEL SHM
*MACHINES
juliet
LMID=RAPP
TUXDIR=”/home/rsmith/bea/tuxedo”
APPDIR=”/home/rsmith/rapp”
TUXCONFIG=”/home/rsmith/rapp/rapp.tux”
*GROUPS
RDMGRP GRPNO=1 LMID=RAPP
RGWGRP GRPNO=2 LMID=RAPP
APPGRP GRPNO=3 LMID=RAPP
.
.
.
*SERVERS
DMADM SRVGRP=RDMGRP SRVID=1
GWADM SRVGRP=RGWGRP SRVID=1GWTDOMAINSRVGRP=RGWGRP SRVID=2 REPLYQ=N
simpserv SRVGRP=APPGRP SRVID=1
.
.
.
*SERVICES
TOUPPER
.
.
.
| 注意: | 前述のUBBCONFIGファイル・リストでは、DMADM、GWADM、およびGWTDOMAINの各サーバーでREPLYQ=Nが指定されています。この設定は必須ではありません。必要に応じてREPLYQ=Yを指定して、それらのどのサーバーにでも応答キューを指定できます。ただし、REPLYQがNに設定されている場合は、パフォーマンスが向上することがあります。 |
rapp.ubbでは次のサーバー・グループが定義されています。
simpservサーバーは、文字列を小文字から大文字に変換するTOUPPERサービスを通知します。
rapp Domains構成ファイルのテキスト・バージョンであるrapp.domでは、必要なパラメータのみ定義されます。他のパラメータにはデフォルト設定が使用されます。リスト2-12は、rapp.domファイルの内容を示しています。
# rapp.dom
#
*DM_LOCAL
RAPP GWGRP=RGWGRP
TYPE=TDOMAIN
ACCESSPOINTID=”222222"
*DM_REMOTE
LAPP TYPE=TDOMAIN
ACCESSPOINTID=”111111"
*DM_EXPORT
TOUPPER
*DM_IMPORT
*DM_TDOMAIN
RAPP NWADDR=”//juliet:5000"
LAPP NWADDR=”//giselle:5000"
rapp.dom Domains構成ファイルはlapp.dom Domains構成ファイルと似ていますが、エクスポートおよびインポートするサービスとして2つのファイルにリストされるサービスは異なります。具体的には、rapp.domファイルはrappアプリケーションに対して次のDomains構成を定義します。
RAPPという名前のローカル・ドメイン・アクセス・ポイントと、LAPPという名前のリモート・ドメイン・アクセス・ポイントを指定します。どちらのアクセス・ポイントも、RGWGRPという名前のTDomainゲートウェイ・サーバー・グループに関連付けられています。TOUPPERという名前のrappサービスがlappアプリケーションから使用可能であることを指定します。rappアプリケーションから使用可能なlappサービスがないことを指定します。rappアプリケーションがネットワーク・アドレスjuliet:5000(julietはrappアプリケーションが実行されているマシンの名前、5000はリスニング・ポート)で着信接続リクエストをリスニングすることを指定します。rappアプリケーションが、lappアプリケーションへの接続を試行する場合に、ネットワーク・アドレスgiselle:5000(giselleはlappアプリケーションが実行されているマシンの名前、5000は送信先ポート)を使用することを指定します。 rapp.ubbアプリケーション構成ファイルには、rappアプリケーションの起動に必要な情報が含まれています。tmloadcf(1)を実行して、このファイルをバイナリ・データ・ファイルにコンパイルします。
rapp.dom Domains構成ファイルには、ローカルrapp TDomainゲートウェイがリモートlapp TDomainゲートウェイと通信するために使用する情報が含まれます。dmloadcf(1)を実行して、このファイルをバイナリ・データ・ファイルにコンパイルします。
両方の構成ファイルをコンパイルするには、次のサンプル・セッションをガイドとして使用します。
Windows:
prompt> cd C:\home\rappprompt> set TUXCONFIG=C:\home\rapp\rapp.tuxprompt> tmloadcf -y rapp.ubbprompt> set BDMCONFIG=C:\home\rapp\rapp.bdmprompt> dmloadcf -y rapp.dom
UNIX:
prompt> cd /home/rsmith/rappprompt> TUXCONFIG=/home/rsmith/rapp/rapp.tuxprompt> export TUXCONFIGprompt> tmloadcf -y rapp.ubbprompt> BDMCONFIG=/home/rsmith/rapp/rapp.bdmprompt> export BDMCONFIGprompt> dmloadcf -y rapp.dom
rappアプリケーションとlappアプリケーションの両方を構築した後で、tmboot(1)コマンドを実行して、それぞれのマシンでアプリケーションを起動します。
2つのアプリケーションの起動順序に意味はありません。「Domainsの管理」で説明しているように、dmadmin(1)でアプリケーションをモニターします。両方のアプリケーションの起動後に、lappアプリケーションのクライアントはrappアプリケーションで提供されているTOUPPERサービスを呼び出すことができます。
ドメイン間で送信されるデータを圧縮してパフォーマンスを向上させることができます。圧縮を構成するには、DMCONFIGファイルのDM_TDOMAINセクションでCMPLIMITパラメータを設定します。このパラメータはリモート・ドメイン・アクセス・ポイントにのみ関連し、データをリモート・ドメインに送信するときに使用する圧縮しきい値を指定します。最小値は0で、最大値は2147483647です。デフォルト設定は2147483647です。指定したサイズより大きいアプリケーション・バッファは圧縮されます。
CMPLIMITパラメータの設定の詳細は、Oracle Tuxedoアプリケーション実行時の管理のネットワーク上でのデータの圧縮に関する項を参照してください。
特定のリモート・ドメインにサービス・リクエストを送信するためにドメイン・ゲートウェイで使用されるデータ依存型ルーティング情報は、DMCONFIGファイルのDM_ROUTINGセクションで提供されます。FML、FML32、VIEW、VIEW32、X_C_TYPE、X_COMMON、XMLの型付きバッファがサポートされます。
Domains構成に含まれるドメインのルーティング表を作成するには、DMCONFIGファイルのDM_ROUTINGセクションに次の情報を指定します。
Domainsデータ依存型ルーティング構成の例は、「Domainsデータ依存型ルーティングの指定」を参照してください。Domainsデータ依存型ルーティングの詳細な説明は、『Oracle Tuxedoファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のDMCONFIG (5)リファレンス・ページでDM_ROUTINGを参照してください。
Oracle Tuxedo ATMI環境には、Domains構成用の次の基本的なセキュリティ機能が用意されています。
Domains構成で使用可能なセキュリティ機能と個々のOracle Tuxedoアプリケーションで使用可能なセキュリティ機能は相互に独立していますが、互換性があります。Oracle Tuxedoアプリケーションで使用可能なセキュリティ機能の詳細は、ATMIアプリケーションにおけるセキュリティの使用を参照してください。
Oracle Tuxedo Domainsコンポーネントには次のセキュリティ・メカニズムがあります。
DMCONFIGファイルのDM_LOCALおよびDM_REMOTEセクションのCONNECTION_PRINCIPAL_NAMEパラメータで、ローカル・ドメインと各リモート・ドメインの識別子(プリンシパル名)を指定します。 また、ローカル・ドメインとリモート・ドメインは、相互に接続を試行するときに3レベルのパスワード・セキュリティのいずれかを使用できます。DMCONFIGファイルのDM_LOCALセクションでSECURITYパラメータを設定することにより、ローカル・ドメイン・ベースのパスワード・セキュリティのレベルを構成します。
DMCONFIGファイルのDM_EXPORTセクションにサービスのエントリを設定することで、サービスをエクスポートします。DMCONFIGファイルのDM_ACCESS_CONTROLセクションにACL名を作成し、ACL名をDMCONFIGファイルのEXPORTセクションのサービスに適用します。DMCONFIGファイルのDM_REMOTEセクションのACL_POLICYパラメータを介して、リモート・ドメインのローカルまたはグローバルACLポリシーを構成します。DMCONFIGファイルのDM_TDOMAINセクションでMINENCRYPTBITSおよびMAXENCRYPTBITSパラメータを設定することで、リンク・レベルの暗号化を構成します。ATMIアプリケーションにおけるセキュリティの使用のドメイン間でのリンクの確立に関する項に説明されているように、ドメインが相互に接続を試行したときにリモート・ドメインがローカル・ドメインを認証できるようにするために、ローカルTDomainゲートウェイには、ローカル・ドメインとリモート・ドメインの両方が認識している識別情報(プリンシパル名)が必要です。同様に、ドメインが相互に接続の確立を試行したときにローカル・ドメインがリモート・ドメインを認証できるようにするために、リモートTDomainゲートウェイには、リモート・ドメインとローカル・ドメインの両方が認識している識別情報(プリンシパル名)が必要です。また、ローカルTDomainゲートウェイは、割り当てられたプリンシパル名を使用して、接続の設定時に必要なセキュリティ資格証明のセットを取得します。
「リモート・ドメインのACLポリシーの構成」で説明しているように、ローカル・アクセス制御リスト(ACL)ポリシーを適用するために必要なセキュリティ資格証明のセットを取得するには、ローカルTDomainゲートウェイに第2のプリンシパル名が必要です。
管理者は、次の構成パラメータを使用して、リリース7.1以降のOracle Tuxedoアプリケーションで実行されているTDomainゲートウェイのプリンシパル名を指定します。
UBBCONFIGのSEC_PRINCIPAL_NAME(文字列) Oracle Tuxedo 7.1以降のソフトウェアを実行するアプリケーションで認証に使用するためのセキュリティ・プリンシパル名の識別文字列を指定します。このパラメータには、最後のNULL文字を除いて最大511文字まで指定できます。このパラメータに指定するプリンシパル名は、このアプリケーションで実行されるTDomainゲートウェイ(GWTDOMAIN)プロセスなどの1つまたは複数のシステム・プロセスの識別子として使用されます。
アプリケーションの起動時に、アプリケーション内のそれぞれのTDomainドメイン・ゲートウェイ・プロセスは、認証プラグインを呼び出して、SEC_PRINCIPAL_NAMEで指定されたセキュリティ・プリンシパル名のセキュリティ資格証明を取得します。TDomainゲートウェイは、SEC_PRINCIPAL_NAMEパラメータで指定されたプリンシパル名について、これらの資格証明を取得します。
DMCONFIGのDM_LOCALセクションのCONNECTION_PRINCIPAL_NAME(文字列) 接続プリンシパル名識別子を指定します。このプリンシパル名は、リモート・ドメインに接続するときにこのローカル・ドメイン・アクセス・ポイントと関連付けられたドメイン・ゲートウェイのIDを検証するために使用します。このパラメータは、Oracle Tuxedo 7.1以上のソフトウェアを実行しているTDOMAINタイプのドメイン・ゲートウェイにのみ適用されます。
CONNECTION_PRINCIPAL_NAMEパラメータには最大511文字を指定できます(最後のNULL文字を除く)。このパラメータを指定しない場合は、このローカル・ドメイン・アクセス・ポイントのACCESSPOINTID文字列が接続プリンシパル名のデフォルト値になります。
デフォルトの認証プラグインで、このローカル・ドメイン・アクセス・ポイントのCONNECTION_PRINCIPAL_NAMEパラメータに値を割り当てる場合、その値は、このローカル・ドメイン・アクセス・ポイントのACCESSPOINTIDパラメータの値と同じでなければなりません。これらの値が一致しないと、ローカルTDomainゲートウェイ・プロセスが起動せず、エラー: 資格証明を取得できませんというuserlog(3c)メッセージが生成されます。
DMCONFIGのDM_REMOTEセクションのCONNECTION_PRINCIPAL_NAME(文字列) 接続プリンシパル名識別子を指定します。このプリンシパル名は、ローカル・ドメインに接続するときにこのリモート・ドメイン・アクセス・ポイントのIDを検証するために使用します。このパラメータは、Oracle Tuxedo 7.1以上のソフトウェアを実行しているTDOMAINタイプのドメイン・ゲートウェイにのみ適用されます。
CONNECTION_PRINCIPAL_NAMEパラメータには最大511文字を指定できます(最後のNULL文字を除く)。このパラメータを指定しない場合は、このリモート・ドメイン・アクセス・ポイントのACCESSPOINTID文字列が接続プリンシパル名のデフォルト値になります。
デフォルトの認証プラグインで、このリモート・ドメイン・アクセス・ポイントのCONNECTION_PRINCIPAL_NAMEパラメータに値を割り当てる場合、その値は、このリモート・ドメイン・アクセス・ポイントのACCESSPOINTIDパラメータの値と同じでなければなりません。これらの値が一致しないと、ローカルTDomainゲートウェイとリモートTDomainゲートウェイ間の接続は失敗し、エラー: ドメインというdomain_nameの管理用キーを初期化できませんuserlog(3c)メッセージが生成されます。
次の例では、LOCAL1アクセス・ポイントとREMOT1アクセス・ポイントを使用して接続を確立するときにDMCONFIGファイルのCONNECTION_PRINCIPAL_NAME識別子が使用されています。
*DM_LOCALLOCAL1 GWGRP=bankg1
TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
*DM_REMOTEREMOT1 TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
リモート・ドメインによってリクエストされた着信接続をドメイン・ゲートウェイで認証できます。アプリケーション管理者は、リモート・ドメインからの着信接続にセキュリティをいつ適用する必要があるかを定義できます。
管理者は、DMCONFIGファイルのDM_LOCALセクションでSECURITYパラメータを設定することにより、特定のローカル・ドメインで使用されるセキュリティのレベルを指定できます。3レベルのパスワード・セキュリティがあります。
TUXCONFIGファイルで定義されているアプリケーション・パスワードを使用して認証されます。(アプリケーション・パスワードはUBBCONFIGファイルに含まれていません。)Oracle Tuxedoアプリケーション・パスワードは、TUXCONFIGファイルのSECURITYオプションが有効になっている場合にパスワードを要求するtmloadcf(1)で管理されます。パスワードは、TUXCONFIGファイルで構成内の他のマシンに自動的に伝播されます。tmadminコマンドを使用してパスワードを動的に更新できます。BDMCONFIGファイルのDM_PASSWORDSセクションで定義されたパスワードを使用して認証されます。(DM_PASSWORDSセクションはDMCONFIGファイルに含まれていません。)これらのパスワードは、dmloadcfの実行後に、dmadmin(1)コマンドのDM_MIB(5)またはpasswdサブコマンドを使用してバイナリ構成ファイルに追加されます。各エントリには、ローカル・ドメインにアクセスするためにリモート・ドメインで使用されるパスワード、およびローカル・ドメインがリモート・ドメインにアクセスするために必要なパスワードが含まれます。 TUXCONFIGファイルでSECURITYパラメータがNONEに設定されているか何も設定されていない場合でも、DM_PWレベルでセキュリティを適用するにはDomains構成にTDomainゲートウェイが必要です。DM_PWオプションが選択されている場合、各リモート・ドメインではBDMCONFIGファイルのDM_PASSWORDSセクションにパスワードが定義されている必要があります。つまり、パスワードのない着信接続はTDomainゲートウェイによって拒否されます。
DM_MIBを使用して、Domainsパスワード(DM_PW)を設定できます。DM_MIBのT_DM_PASSWORDSクラスは、TDOMAINタイプのローカルおよびリモート・アクセス・ポイントを使用したドメイン間認証の構成情報を表します。T_DM_PASSWORDSクラスには、各リモート・ドメインの次のエントリが含まれます。
TA_DMLACCESSPOINT - パスワードが適用されるローカル・ドメイン・アクセス・ポイントの名前。TA_DMRACCESSPOINT - パスワードが適用されるリモート・ドメイン・アクセス・ポイントの名前。TA_DMLPWD - (TA_DMLACCESSPOINTで識別される)ローカル・ドメイン・アクセス・ポイントと(TA_DMRACCESSPOINTで識別される)リモート・ドメイン・アクセス・ポイント間の接続を認証するために使用されるローカル・パスワード。TA_DMRPWD - (TA_DMRACCESSPOINTで識別される)リモート・ドメイン・アクセス・ポイントと(TA_DMLACCESSPOINTで識別される)ローカル・ドメイン・アクセス・ポイント間の接続を認証するために使用されるリモート・パスワード。| 注意: | パスワードは暗号化形式で安全に格納されます。 |
MIB管理リクエストのフォーマットとMIB管理応答の解釈については、『Oracle Tuxedoファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のDM_MIB (5)のページを参照してください。
dmadminコマンドを使用してDomainsパスワード(DM_PW)を設定することもできます。
prompt> dmadmin
passwd[-r] local_domain_access_point_name remote_domain_access_point_name
dmadminコマンドは、指定したローカルおよびリモート・ドメイン・アクセス・ポイントの新しいパスワードを要求します。dmadmin(1)の詳細は、「Domainsの管理」を参照してください。
DMCONFIGファイルのDM_LOCALセクションのSECURITYパラメータは、ローカル・ドメインのセキュリティ・タイプを指定します。認証が必要な場合は、ローカル・ドメインとリモート・ドメイン間に接続が確立されるたびに行われます。2つのドメインのセキュリティ・タイプに互換性がない場合、またはパスワードが一致しない場合は接続が失敗します。
ローカル・ドメインのSECURITYがNONEに設定されている場合、着信接続試行は認証されません。SECURITYがNONEに設定されている場合でも、ローカル・ドメインはSECURITYがDM_PWに設定されているリモート・ドメインに接続できますが、このような接続を確立する前に、DM_MIB(5)またはdmadmin passwdコマンドを使用して両方の側にパスワードを定義する必要があります。
リスト2-13に、アプリケーションとドメインの両方でNONEに設定されたセキュリティを示します。
LOCAL1: SECURITY in UBBCONFIG set to NONE
SECURITY in DMCONFIG set to NONE
REMOT1: SECURITY in UBBCONFIG set to NONE
SECURITY in DMCONFIG set to DM_PW
この例では、LOCAL1はセキュリティを適用しませんが、REMOT1はDM_PWセキュリティを適用しています。イニシエータ(LOCAL1)側では、UBBCONFIGとDMCONFIGの関連属性は次のように設定されます。
UBBCONFIG
*RESOURCES
SECURITY NONE
DMCONFIG*DM_LOCALLOCAL1 GWGRP=bankg1
TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
SECURITY=NONE
*DM_REMOTEREMOT1 TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
レスポンダ(REMOT1)側では、UBBCONFIGとDMCONFIGの関連属性は次のように設定されます。
UBBCONFIG
*RESOURCES
SECURITY NONE
DMCONFIGREMOT1 GWGRP=bankg2
*DM_LOCAL
TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
SECURITY=DM_PW
*DM_REMOTELOCAL1 TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
TUXCONFIGファイルとBDMCONFIGファイルに必要な属性を設定した後で、LOCAL1およびREMOT1でアプリケーションを起動します。
dmadmin
passwd LOCAL1 REMOT1
Enter Local Domain Password:foo1
Reenter Local Domain Password:foo1
Enter Remote Domain Password:foo2
Reenter Remote Domain Password:foo2
dmadmin
passwd REMOT1 LOCAL1
Enter Local Domain Password:foo2
Reenter Local Domain Password:foo2
Enter Remote Domain Password:foo1
Reenter Remote Domain Password:foo1
両方のドメインでパスワードが作成された後で、接続を確立し、リモート・ドメインでサービスを呼び出すことができます。
リスト2-14に、NONEに設定されたアプリケーション・セキュリティとDM_PWに設定されたドメイン・セキュリティを示します。
イニシエータ(LOCAL1)側では、UBBCONFIGとDMCONFIGの関連属性は次のように設定されます。
UBBCONFIG
*RESOURCES
SECURITY NONE
DMCONFIGLOCAL1 GWGRP=bankg1
*DM_LOCAL
TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
SECURITY=DM_PW
*DM_REMOTEREMOT1 TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
レスポンダ(REMOT1)側では、UBBCONFIGとDMCONFIGの関連属性は次のように設定されます。
UBBCONFIG
*RESOURCES
SECURITY NONE
DMCONFIGREMOT1 GWGRP=bankg2
*DM_LOCAL
TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
SECURITY=DM_PW
*DM_REMOTELOCAL1 TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
TUXCONFIGファイルとBDMCONFIGファイルに必要な属性を設定した後で、LOCAL1およびREMOT1でアプリケーションを起動します。
dmadmin
passwd LOCAL1 REMOT1
Enter Local Domain Password:foo1
Reenter Local Domain Password:foo1
Enter Remote Domain Password:foo2
Reenter Remote Domain Password:foo2
dmadmin
passwd REMOT1 LOCAL1
Enter Local Domain Password:foo2
Reenter Local Domain Password:foo2
Enter Remote Domain Password:foo1
Reenter Remote Domain Password:foo1
両方のドメインでパスワードが作成された後で、接続を確立し、リモート・ドメインでサービスを呼び出すことができます。
UBBCONFIGのSECURITYパラメータがAPP_PW以上に設定されている場合、DMCONFIGのSECURITYはNONE、APP_PWまたはDM_PWに設定できます。1つのDMCONFIGファイルにドメインの複数のビュー(ローカル・ドメイン定義あたり1つのビュー)を定義できるため、各ビューに異なるタイプのセキュリティ・メカニズムを割り当てることができます。
| 注意: | DMCONFIGでローカル・ドメイン・アクセス・ポイントのSECURITYがAPP_PWに設定されている場合は、UBBCONFIGでSECURITYをAPP_PW以上に設定する必要があります。 |
リスト2-15に、アプリケーションとドメインの両方でAPP_PWに設定されたセキュリティを示します。
LOCAL1: SECURITY in UBBCONFIG set to APP_PW
SECURITY in DMCONFIG set to APP_PW
REMOT1: SECURITY in UBBCONFIG set to APP_PW
SECURITY in DMCONFIG set to APP_PW
この例では、LOCAL1とREMOT1の両方がAPP_PWセキュリティを適用します。
イニシエータ(LOCAL1)側では、UBBCONFIGとDMCONFIGの関連属性は次のように設定されます。
UBBCONFIG
*RESOURCES
SECURITY APP_PW
DMCONFIGLOCAL1 GWGRP=bankg1
*DM_LOCAL
TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
SECURITY=APP_PW
*DM_REMOTEREMOT1 TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
レスポンダ(REMOT1)側では、UBBCONFIGとDMCONFIGの関連属性は次のように設定されます。
UBBCONFIG
*RESOURCES
SECURITY APP_PW
DMCONFIGREMOT1 GWGRP=bankg2
*DM_LOCAL
TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
SECURITY=APP_PW
*DM_REMOTELOCAL1 TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
TUXCONFIGファイルとBDMCONFIGファイルを作成した後で、LOCAL1およびREMOT1でアプリケーションを起動します。
DMCONFIGファイルのDM_ACCESS_CONTROLセクションにDomainsアクセス制御リスト(ACL)を設定するには、ACLの名前とACL名に関連付けるリモート・ドメイン・アクセス・ポイントを指定します。表2-1に手順を示します。
ACLの作成時に、DMCONFIGファイルのDM_EXPORTセクションでACLパラメータを使用して、特定のローカル・ドメイン・アクセス・ポイントを通じてエクスポートされるローカル・サービスへのアクセスを、ACL名(ACL=ACLGRP1など)に関連付けられたリモート・ドメイン・アクセス・ポイントのみに制限します。
管理者は、次の構成パラメータを使用して、Oracle Tuxedoリリース7.1以上のソフトウェアを実行しているリモート・ドメインのACLポリシーの設定と制御を行います。これらのパラメータはDMCONFIGファイルのDM_REMOTEセクションで設定します。
ACL_POLICY(LOCAL | GLOBAL) このリモート・ドメイン・アクセス・ポイントのアクセス制御リスト(ACL)ポリシーを指定します。このパラメータは、Oracle Tuxedo 7.1以降のソフトウェアが実行されているTDOMAINタイプのドメイン・ゲートウェイ、およびOracle Tuxedo 8.0以降が実行されているOSITPXタイプのドメイン・ゲートウェイにのみに適用されます。
LOCALの場合は、リモート・ドメインから受信したサービス・リクエストの資格証明(ID)が、ローカル・ドメインによって、このリモート・ドメイン・アクセス・ポイントのLOCAL_PRINCIPAL_NAMEパラメータで指定されたプリンシパル名に置換されます。GLOBALの場合、リモート・サービス・リクエストと一緒に受信した資格証明はローカル・ドメインによって置換されません。リモート・サービス・リクエストと一緒に資格証明を受信していない場合、ローカル・ドメインはそのサービス・リクエストをローカル・サービスにそのまま転送します(通常は失敗する)。指定されていない場合、デフォルトはLOCALです。
LOCAL_PRINCIPAL_NAME(文字列) ローカル・プリンシパル名の識別子(資格証明)を指定します。これは、このリモート・ドメイン・アクセス・ポイントのACL_POLICYパラメータがLOCAL (デフォルト)に設定されている場合、このリモート・ドメインから受け取ったサービス・リクエストに対してローカル・ドメインが割り当てるIDです。このパラメータは、Oracle Tuxedo 7.1以降のソフトウェアが実行されているTDOMAINタイプのドメイン・ゲートウェイ、およびOracle Tuxedo 8.0以降が実行されているOSITPXタイプのドメイン・ゲートウェイにのみに適用されます。
LOCAL_PRINCIPAL_NAMEパラメータには最大511文字を指定できます(最後のNULL文字を除く)。このパラメータを指定しない場合は、リモート・ドメイン・アクセス・ポイントのACCESSPOINTID文字列がデフォルト値になります。
CREDENTIAL_POLICY(LOCAL | GLOBAL) このリモート・ドメイン・アクセス・ポイントの資格証明ポリシーを指定します。このパラメータは、Oracle Tuxedo 8.0以上のソフトウェアを実行しているTDOMAINタイプのドメイン・ゲートウェイにのみ適用されます。
LOCALは、ローカル・ドメインがこのリモート・ドメイン・アクセス・ポイント宛のローカル・サービス・リクエストから資格証明(識別情報)を削除することを意味します。GLOBALは、ローカル・ドメインがこのリモート・ドメイン・アクセス・ポイント宛のローカル・サービス・リクエストから資格証明を削除しないことを意味します。指定されていない場合、デフォルトはLOCALです。
CREDENTIAL_POLICYパラメータにより、ローカル・ドメインがリモート・ドメインにローカル・サービス・リクエストを送信する前にそのリクエストから資格証明を削除するかどうかが決まります。ACL_POLICYパラメータにより、ローカル・ドメインがリモート・ドメインから受信したサービス・リクエストの資格証明をLOCAL_PRINCIPAL_NAMEパラメータで指定されているプリンシパル名で置き換えるかどうかが決まります。
次の例では、REMOT1アクセス・ポイントの接続はDMCONFIGファイルのグローバルACLに対して構成されるため、LOCAL1アクセス・ポイントのドメイン・ゲートウェイはREMOT1アクセス・ポイントからのクライアント・リクエストを変更せずに渡します。グローバルACLでは、REMOT1アクセス・ポイントのLOCAL_PRINCIPAL_NAMEエントリは無視されます。また、CREDENTIAL_POLICY=GLOBALにより、LOCAL1アクセス・ポイントのドメイン・ゲートウェイはREMOT1アクセス・ポイント宛のローカル・サービス・リクエストから資格証明を削除しません。
*DM_LOCALLOCAL1 GWGRP=bankg1
TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
SECURITY=DM_PW
*DM_REMOTEREMOT1 TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
ACL_POLICY=GLOBAL
CREDENTIAL_POLICY=GLOBAL
LOCAL_PRINCIPAL_NAME="BA.BANK01.BOB"
Domainsリンク・レベルの暗号化(LLE)は、ローカル・ドメイン・ゲートウェイをリモート・ドメイン・ゲートウェイに接続するネットワーク・リンク上で送受信されるメッセージのデータ機密性を保護します。リンク・レベル暗号化セキュリティには、0ビット(暗号化なし)、56ビット(国際版)および128ビット(米国およびカナダ版)の3つのレベルがあります。
ドメイン・ゲートウェイ・リンクにDomainsリンク・レベル暗号化を設定するには、次の手順に従います。
DMCONFIGファイルを開き、DM_TDOMAINセクションに次の行を追加します。*DM_TDOMAINNWADDR=“
LOCAL1newyork.acme.com:65431”
MINENCRYPTBITS=minMAXENCRYPTBITS=
max
REMOT1NWADDR=“albany.acme.com:4051”
MINENCRYPTBITS=minMAXENCRYPTBITS=
max
dmloadcf(1)を実行して構成をロードします。dmloadcfコマンドを実行すると、DMCONFIGが解析され、BDMCONFIG変数が指す場所にバイナリ形式のBDMCONFIGファイルがロードされます。 上の例では、tmboot(1)を実行するとアプリケーションが起動し、各ドメイン・ゲートウェイはBDMCONFIGファイルを読み込んでMINENCRYPTBITSやMAXENCRYPTBITSなどの様々なパラメータにアクセスし、ローカル・ドメインおよびリモート・ドメインにそれらのパラメータを伝播します。ローカル・ドメインがリモート・ドメインとのネットワーク・リンクを確立するとき、これらの2つのドメインは、双方でサポートされるキーの最大サイズが一致するまでキー・サイズのネゴシエーションを行います。
ローカル・ドメイン・ゲートウェイがリモート・ドメインへの接続の確立を試行する条件を指定できます。これらの条件を指定するには、DMCONFIGファイルのDM_LOCALセクションでCONNECTION_POLICYパラメータに値を割り当てます。次の接続ポリシーのいずれかを選択できます。
Oracle Tuxedoリリース8.1以降では、DMCONFIGファイルのDM_TDOMAINセクションでリモート・ドメインごとに接続ポリシーを定義することもできます。詳細は、「接続ポリシーの構成方法」を参照してください。
ON_STARTUPとINCOMING_ONLYの接続ポリシーでは、動的ステータスが呼び出されます。「接続ポリシーによるリモート・サービスの可用性の判断」で説明されている動的ステータスは、リモート・サービスのステータスをチェックしてレポートするOracle Tuxedo Domains機能です。
ON_DEMANDの接続ポリシー(CONNECTION_POLICY=ON_DEMAND)は、ローカル・クライアントがリモート・サービスをリクエストしたとき、またはdmadmin connect管理コマンドが実行されたときにのみ接続が試行されることを意味します。ON_DEMANDはデフォルトの接続ポリシー設定です。
図2-5に、接続ポリシーがON_DEMANDであるドメイン・ゲートウェイによって接続が試行および確立される方法を示します。

ON_STARTUP(CONNECTION_POLICY=ON_STARTUP)の接続ポリシーは、ドメイン・ゲートウェイ・サーバーの初期化時にドメイン・ゲートウェイがリモート・ドメインとの接続の確立を試行することを意味します。デフォルトでは、ON_STARTUP接続ポリシーは失敗した接続を60秒ごとに再試行しますが、「ON_STARTUPのみでの接続再試行間隔の構成」で説明しているように、この間隔には別の値を指定できます。
図2-6に、接続ポリシーがON_STARTUPであるドメイン・ゲートウェイによって接続が試行および確立される方法を示します。

INCOMING_ONLYの接続ポリシー(CONNECTION_POLICY=INCOMING_ONLY)は、ドメイン・ゲートウェイが開始時にリモート・ドメインへの接続の確立を試行しないことを意味します。図2-7に、接続ポリシーがINCOMING_ONLYであるドメイン・ゲートウェイによって接続が試行および確立される方法を示します。

CONNECTION_POLICYパラメータがON_STARTUPに設定されている場合は、自動的な接続再試行処理を使用できます。接続再試行処理は、ドメイン・ゲートウェイがリモート・ドメインへの失敗した接続試行を自動的に再試行できるようにします。管理者は、自動接続試行の頻度を制御できます。これを制御するには、ゲートウェイが接続の確立を再試行する前に待機する必要のある間隔の長さ(秒単位)を指定します。再試行間隔は、次のようにRETRY_INTERVALパラメータを設定することでも指定できます。
RETRY_INTERVAL=number_of_seconds
0から2147483647秒を指定できます。接続ポリシーがON_STARTUPで、RETRY_INTERVALパラメータに値を指定しない場合は、デフォルトの60秒が使用されます。
RETRY_INTERVALパラメータは、接続ポリシーがON_STARTUPの場合にのみ有効です。他の接続ポリシー(ON_DEMANDおよびINCOMING_ONLY)の場合は、接続再試行処理を使用できません。
MAXRETRYパラメータに値を割り当てることによって、ドメイン・ゲートウェイが終了するまでにリモート・ドメインへの接続を試行する回数を指定します。最小値は0、デフォルトおよび最大値はMAXLONGパラメータの値(2147483647)です。
MAXRETRYパラメータは、接続ポリシーがON_STARTUPの場合にのみ有効です。他の接続ポリシー(ON_DEMANDおよびINCOMING_ONLY)の場合は、接続再試行処理を使用できません。
表2-2は、MAXRETRYとRETRY_INTERVALが自動接続再試行処理に与える影響の例を示しています。
Domains構成に含まれるドメインは相互に独立して動作するため、Domains構成では接続ポリシーを任意に組み合せることができます。ただし、すべての接続ポリシーの組合せが現実的であるとはかぎりません。たとえば、ほとんどの場合、相互運用する2つのドメインをON_STARTUPの接続ポリシーで構成してもあまり意味はありません。
次の構成例は、実際的な接続ポリシーの組合せです。この例では、ローカルDMCONFIGファイルのON_STARTUPに対してLOCAL1が構成され、リモートDMCONFIGファイルのINCOMING_ONLYに対してREMOT1が構成されています。
*DM_LOCALLOCAL1 GWGRP=bankg1
TYPE=TDOMAINCONNECTION_POLICY=ON_STARTUP
MAXRETRY=5
RETRY_INTERVAL=100
*DM_REMOTEREMOT1 TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
*DM_LOCALREMOT1 GWGRP=bankg2
TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01" CONNECTION_POLICY=INCOMING_ONLY
*DM_REMOTELOCAL1 TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
管理者は、ドメイン間に確立する接続数を制御できます。ローカル・ドメインとリモート・ドメイン間の接続を切断することもできます。
ローカル・ドメイン・ゲートウェイとリモート・ドメイン間に接続を確立するには、dmadminコマンドをconnect(co)サブコマンドとともに実行します。
prompt> dmadmin co -d local_domain_access_point_name
デフォルトでは、指定したローカル・ドメインと、ローカル・ゲートウェイに対して構成されているすべてのリモート・ドメインとの間に接続が確立されます。1つのリモート・ドメインへの接続のみ確立する場合は、コマンドラインで-Rオプションを使用してそのドメインを指定します。
prompt> dmadmin co -d local_domain_access_point_name
-R remote_domain_access_point_name
接続試行が失敗し、接続ポリシーが接続再試行処理をオンにしたON_STARTUPの場合は、(接続再試行処理を介して)接続の反復的な再試行が行われます。
ローカル・ゲートウェイとリモート・ドメイン間の接続を切断するには(ゲートウェイが自動接続再試行処理を介して接続の再確立を試行しないことを確認してください)、dmadminコマンドをdisconnect(dco)サブコマンドとともに実行します。
prompt> dmadmin dco -d local_domain_access_point_name
デフォルトでは、ローカル・ゲートウェイに対して構成されているすべてのリモート・ドメインが切断されます。1つのリモート・ドメインへの接続のみ終了する場合は、コマンドラインで-Rオプションを使用してそのドメインを指定します。
prompt> dmadmin dco -d local_domain_access_point_name
-R remote_domain_access_point_name
コマンドの実行時にアクティブな接続があるかどうかにかかわらず、自動接続再試行処理はこのコマンドによって停止されます。
dmadmin printdomainコマンドを使用して、接続ステータスおよび再試行されている接続に関するレポートを生成できます。connectコマンドは、接続再試行が成功したかどうかをレポートします。printdomainコマンドは、リモート・ドメインのリスト、接続先のリモート・ドメインのリスト、接続の確立を試行しているリモート・ドメインのリストなど、指定したローカル・ドメインに関する情報を出力します。
次の例は、LOCAL1という名前のローカル・ドメイン・アクセス・ポイントに対してprintdomainコマンド(省略形式はpd)が発行されたdmadminセッションを示しています。
prompt> dmadmin
dmadmin - Copyright ...
.
.
.
pd -d LOCAL1
Local domain :LOCAL1
Connected domains:
Domainid: REMOT1
Disconnected domains being retried:
Domainid: REMOT2
dco -d LOCAL1 -R REMOT1
Operation completed successfully. Use printdomain(pd) to obtain results.
dco -d LOCAL1 -R REMOT2
Operation completed successfully. Use printdomain(pd) to obtain results.
co -d LOCAL1 -R REMOT1
Operation completed successfully. Use printdomain(pd) to obtain results.
pd -d LOCAL1
Local domain :LOCAL1
Connected domains:
Domainid: REMOT1
この例では、単純化のために、DMCONFIGファイルのDM_REMOTEで定義されるリモート・ドメイン・アクセス・ポイント名(REMOT1、REMOT2)とそのDOMAINID-ACCESSPOINTID-名(REMOT1、REMOT2)が同じになっています。
2つ以上のドメイン間で構成または接続ステータスが変更されると、ドメイン接続イベントがデフォルトで生成されます。ただし、警告またはエラー・メッセージを表示/出力するには、ドメイン接続イベントをサブスクライブする必要があります。
Tuxedoは、次の4つのドメイン接続イベントを生成します。
.SysConnectionSuccess - 接続は正常に確立されました.SysConnectionConfig - 接続構成が変更されました。接続構成変更イベントは、2つのドメイン間で次の構成パラメータが変更された場合に発生することがあります。.SysConnectionDropped - 接続は切断されました。.SysConnectionDroppedイベントには、切断理由も示されています。接続の切断の発生には3つの具体的な理由があり、それぞれの理由がINFOメッセージに付加されます。それらの理由は次のとおりです。.SysConnectionFailed - 接続は成功しませんでした。.SysConnectionFailedイベントは、失敗の理由も示します。失敗にはいくつかの理由が考えられ、そのすべてがINFOメッセージに付加されます。
Domainsリンク・レベルのフェイルオーバーは、一次ネットワーク・リンクに障害が発生したときに別のネットワーク・リンクがアクティブになるようにするメカニズムです。Domainsキープアライブは、非アクティブな期間中にファイアウォールを介してドメイン間接続をオープン状態に保ち、接続障害を迅速に検出できるようにするメカニズムです。Domainsキープアライブは、Oracle Tuxedoリリース8.1以降で使用可能です。
Domainsリンク・レベルのフェイルオーバーの説明は、「Domainsリンク・レベルのフェイルオーバーの構成」を参照してください。Domainsキープアライブの説明は、「Domainsのキープ・アライブの指定」を参照してください。
|