次の各項では、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_STARTUP
DMTLOGDEV=“/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_IMPORT
WITHDRAWALARACCESSPOINT=REMOT1
INQUIRYA
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
OPENCA
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
CLOSECA
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
DEPOSITA
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
OPEN_ACCT2
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
OPENC
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_IMPORT
WITHDRAWALRACCESSPOINT=REMOT1
DEPOSIT
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
TRANSFER
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
INQUIRY
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
CLOSE_ACCT
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
OPEN_ACCT
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
BR_ADD
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
TLR_ADD
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
ABAL
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
TBAL
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
ABALC_BID
LACCESSPOINT=LOCAL1RACCESSPOINT=REMOT1
TBALC_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\tuxedo
prompt> set APPDIR=C:\home\lapp
prompt> set TUXCONFIG=C:\home\lapp\lapp.tux
prompt> set BDMCONFIG=C:\home\lapp\lapp.bdm
prompt> set PATH=%APPDIR%;%TUXDIR%\bin;%PATH%
注意: | Windowsは、PATH 変数設定を介して、動的にロード可能な必須のライブラリ・ファイルにアクセスします。 |
prompt> TUXDIR=/home/rsmith/bea/tuxedo
prompt> APPDIR=/home/rsmith/lapp
prompt> TUXCONFIG=/home/rsmith/lapp/lapp.tux
prompt> BDMCONFIG=/home/rsmith/lapp/lapp.bdm
prompt> PATH=$APPDIR:$TUXDIR/bin:/bin:$PATH
prompt> 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=1GWTDOMAIN
SRVGRP=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\lapp
prompt> set TUXCONFIG=C:\home\lapp\lapp.tux
prompt> tmloadcf -y lapp.ubb
prompt> set BDMCONFIG=C:\home\lapp\lapp.bdm
prompt> dmloadcf -y lapp.dom
UNIX:
prompt> cd /home/rsmith/lapp
prompt> TUXCONFIG=/home/rsmith/lapp/lapp.tux
prompt> export
TUXCONFIG
prompt> tmloadcf -y lapp.ubb
prompt> BDMCONFIG=/home/rsmith/lapp/lapp.bdm
prompt> export BDMCONFIG
prompt> 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\tuxedo
prompt> set APPDIR=C:\home\rapp
prompt> set TUXCONFIG=C:\home\rapp\rapp.tux
prompt> set BDMCONFIG=C:\home\rapp\rapp.bdm
prompt> set PATH=%APPDIR%;%TUXDIR%\bin;%PATH%
注意: | Windowsは、PATH 変数設定を介して、動的にロード可能な必須のライブラリ・ファイルにアクセスします。 |
prompt> TUXDIR=/home/rsmith/bea/tuxedo
prompt> APPDIR=/home/rsmith/rapp
prompt> TUXCONFIG=/home/rsmith/rapp/rapp.tux
prompt> BDMCONFIG=/home/rsmith/rapp/rapp.bdm
prompt> PATH=$APPDIR:$TUXDIR/bin:/bin:$PATH
prompt> 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=1GWTDOMAIN
SRVGRP=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\rapp
prompt> set TUXCONFIG=C:\home\rapp\rapp.tux
prompt> tmloadcf -y rapp.ubb
prompt> set BDMCONFIG=C:\home\rapp\rapp.bdm
prompt> dmloadcf -y rapp.dom
UNIX:
prompt> cd /home/rsmith/rapp
prompt> TUXCONFIG=/home/rsmith/rapp/rapp.tux
prompt> export
TUXCONFIG
prompt> tmloadcf -y rapp.ubb
prompt> BDMCONFIG=/home/rsmith/rapp/rapp.bdm
prompt> export BDMCONFIG
prompt> 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_LOCAL
LOCAL1 GWGRP=bankg1
TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
*DM_REMOTE
REMOT1 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_LOCAL
LOCAL1 GWGRP=bankg1
TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
SECURITY=NONE
*DM_REMOTE
REMOT1 TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
レスポンダ(REMOT1
)側では、UBBCONFIG
とDMCONFIG
の関連属性は次のように設定されます。
UBBCONFIG
*RESOURCES
SECURITY NONE
DMCONFIG
REMOT1 GWGRP=bankg2
*DM_LOCAL
TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
SECURITY=DM_PW
*DM_REMOTE
LOCAL1 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
DMCONFIG
LOCAL1 GWGRP=bankg1
*DM_LOCAL
TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
SECURITY=DM_PW
*DM_REMOTE
REMOT1 TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
レスポンダ(REMOT1
)側では、UBBCONFIG
とDMCONFIG
の関連属性は次のように設定されます。
UBBCONFIG
*RESOURCES
SECURITY NONE
DMCONFIG
REMOT1 GWGRP=bankg2
*DM_LOCAL
TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
SECURITY=DM_PW
*DM_REMOTE
LOCAL1 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
DMCONFIG
LOCAL1 GWGRP=bankg1
*DM_LOCAL
TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
SECURITY=APP_PW
*DM_REMOTE
REMOT1 TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
レスポンダ(REMOT1
)側では、UBBCONFIG
とDMCONFIG
の関連属性は次のように設定されます。
UBBCONFIG
*RESOURCES
SECURITY APP_PW
DMCONFIG
REMOT1 GWGRP=bankg2
*DM_LOCAL
TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
CONNECTION_PRINCIPAL_NAME="BA.BANK01"
SECURITY=APP_PW
*DM_REMOTE
LOCAL1 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_LOCAL
LOCAL1 GWGRP=bankg1
TYPE=TDOMAIN
ACCESSPOINTID="BA.CENTRAL01"
CONNECTION_PRINCIPAL_NAME="BA.CENTRAL01"
SECURITY=DM_PW
*DM_REMOTE
REMOT1 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_TDOMAIN
NWADDR=“
LOCAL1newyork.acme.com:65431
”
MINENCRYPTBITS=min
MAXENCRYPTBITS=
max
REMOT1
NWADDR=“albany.acme.com:4051
”
MINENCRYPTBITS=min
MAXENCRYPTBITS=
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_LOCAL
LOCAL1 GWGRP=bankg1
TYPE=TDOMAINCONNECTION_POLICY=ON_STARTUP
MAXRETRY=5
RETRY_INTERVAL=100
*DM_REMOTE
REMOT1 TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01"
*DM_LOCAL
REMOT1 GWGRP=bankg2
TYPE=TDOMAIN
ACCESSPOINTID="BA.BANK01" CONNECTION_POLICY=INCOMING_ONLY
*DM_REMOTE
LOCAL1 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のキープ・アライブの指定」を参照してください。