|
以下の節では、Oracle Tuxedo ATMI Domains 環境のドメインの計画およびコンフィグレーションの方法について説明します。
次の図は、bankapp
アプリケーションとクレジット カード認可アプリケーションの 2 つの Oracle Tuxedo アプリケーションを示しています。
bankapp
アプリケーションは、各地の支店にある ATM を本店に接続します。クレジット カード認可アプリケーションは、クレジット カードを求める顧客の要求を処理します。銀行の支店長たちは、時間が経つにつれて、bankapp
アプリケーションがクレジット カード認可アプリケーションと直に通信できれば顧客へのサービスが向上すると考えるようになります。直接通信できれば、新しい口座を開く人に即座にクレジット カードを発行できます。
bankapp
アプリケーションは Oracle Tuxedo に同梱のサンプル アプリケーションであり、クレジット カード認可アプリケーションは bankapp
の仮想的な拡張機能です。bankapp
アプリケーションのファイルは次の場所にあります。
tux_prod_dir
は、Oracle Tuxedo がインストールされたディレクトリです。
次のコード リストは、ubbmp
というファイルの内容を示しています。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
#
# 認証サーバのグループ
#
##AUTHGRP LMID=SITE1 GRPNO=101
#
# アプリケーション キュー (/Q) サーバのグループ
#
##QGRP1 LMID=SITE1 GRPNO=102
## TMSNAME=TMS_QM TMSCOUNT=2
## OPENINFO="TUXEDO/QM:<APPDIR1>
/qdevice:QSP_BANKAPP"
#
# アプリケーション マネージャのサーバのグループ
#
##MGRGRP1 LMID=SITE1 GRPNO=103
#
# イベント ブローカ サーバのグループ
#
##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 サーバ
# AUTHSVR(5) を参照
#
##AUTHSVR SRVGRP=AUTHGRP SRVID=1 RESTART=Y GRACE=0 MAXGEN=2
## CLOPT="-A"
#
# TUXEDO System /T メッセージ キュー マネージャ。tpenqueue(3) および
# tpdequeue(3) を呼び出すプログラムの代わりにメッセージを
# キューに登録したり、取り出したりするサーバ。TMQUEUE(5) を参照
#
##TMQUEUE SRVGRP=QGRP1 SRVID=1 CONV=N GRACE=0
## CLOPT="-s QSP_BANKAPP:TMQUEUE"
#
# TUXEDO System /T メッセージ転送サーバ。後で処理するように tpenqueue(3)
# で格納されたメッセージを転送する。TMQFORWARD(5) を参照
#
##TMQFORWARD SRVGRP=QGRP1 SRVID=2 CONV=N REPLYQ=N GRACE=0
## CLOPT="-- -e -n -d -q Q_OPENACCT_LOG"
#
# TUXEDO System /T ユーザ イベント ブローカ。イベントがポストされたときに
# サブスクライバに通知してユーザ イベントを管理する。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 アプリケーション サーバ
#
##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 つの方法は、次の図のように、bankapp
アプリケーションとクレジット カード認可アプリケーションを 1 つの Oracle Tuxedo アプリケーション (ドメイン) に結合することです。
結合したアプリケーションの UBBCONFIG
ファイルを作成するには、クレジット カード認可アプリケーションの UBBCONFIG
ファイルから次の情報を取り出し、それを bankapp
アプリケーションの UBBCONFIG
ファイルに追加します。
次のコード リストは、結合したアプリケーションの 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
#
# bankapp 部分のマシン
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”
#
# クレジット カード認可部分のマシン
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
#
# 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”
#
# クレジット カード認可部分のグループ
CREDIT LMID=SITE4 GRPNO=4
OPENINFO=“TUXEDO/SQL:/home/rsmith/bankapp/crdtdl1:bankdb:readwrite”
#
*NETWORK
#
# bankapp 部分のネットワーク接続
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
>”
#
# クレジット カード認可部分のネットワーク接続
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”
#
# bankapp 部分のサーバ
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
#
# クレジット カード認可部分のサーバ
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
#
# bankapp 部分のサービス
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
#
# クレジット カード認可部分のサービス
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"
もう 1 つの方法は、次の図のように、bankapp
アプリケーションとクレジット カード認可アプリケーションを Domains コンフィグレーションとして再設定することです。2 つのドメインは、それぞれ各ドメインで動作する 2 つの TDomain ゲートウェイ サーバ プロセスを通じて相互運用されます。
bankapp
アプリケーションとクレジット カード認可アプリケーションの Domains コンフィグレーションを作成するには、2 つの UBBCONFIG
ファイル (各 Oracle Tuxedo アプリケーションに 1 つ) および 2 つの DMCONFIG
ファイル (各 Oracle Tuxedo アプリケーションに 1 つ) を作成する必要があります。
Domains 環境の bankapp
アプリケーションの UBBCONFIG
ファイルを作成するには、「結合したアプリケーションのサンプル UBBCONFIG ファイル」に示されている UBBCONFIG
ファイルのコピーを土台として次の変更を行います。
次のコード リストは、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
#
# 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”
#
# Domains のグループDMADMGRP 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”
#
# Domains のサーバDMADM SRVGRP=DMADMGRP
# 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 に設定されている場合は、パフォーマンスが向上することがあります。 |
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”
#
#このサンプル DMCONFIG ファイルのように、DM_EXPORT セクションがない
# 場合は、ローカル ドメインで宣言されたすべてのサービスが
# リモート ドメインから利用できる。このため、次の bankapp サービス
# はクレジット カード認可アプリケーションから利用できる。
#
# 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
ファイルに次の変更を加えます。
次のコード リストは、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
#
# クレジット カード認可のグループ
CREDIT LMID=SITE1 GRPNO=1
OPENINFO=“TUXEDO/SQL:/home/rsmith/creditapp/crdtdl1:bankdb:readwrite”
#
# Domains のグループDMADMGRP LMID=SITE1 GRPNO=2
#
GWTGROUP LMID=SITE1 GRPNO=3
*SERVERS
DEFAULT: RESTART=Y MAXGEN=5 REPLYQ=Y CLOPT=“-A”
#
# Domains のサーバDMADM 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
# クレジット カード認可のサーバ
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
# クレジット カード認可のサービス
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 に設定されている場合は、パフォーマンスが向上することがあります。 |
クレジット カード認可アプリケーションの 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”
#
# このサンプル DMCONFIG ファイルのように、DM_EXPORT セクションがない
# 場合は、ローカル ドメインで宣言されたすべてのサービスが
# リモート ドメインから利用できる。このため、次のクレジット カード認可サービス
# は bankapp アプリケーションから利用できる。
#
# 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
アプリケーションは bankapp
アプリケーションとクレジット カード認可アプリケーションが直に通信できるように再設定するもう 1 つの方法です (「複数の Oracle Tuxedo アプリケーションに基づく Domains の構築計画」を参照)。この方法では、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
ディレクトリにあります。
次のコード リストは、ubbdom1
コンフィグレーション ファイルの内容を示しています。SERVERS
セクションでは、3 つの TDomain ゲートウェイ グループが設定されています。それらの TDomain ゲートウェイ グループは、このドメインが Domains コンフィグレーションのほかの 3 つのドメインと通信するために使用します。
.
.
.
*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
次のコード リストは、domcon1
Domains コンフィグレーション ファイルの内容を示しています。DM_LOCAL セクション (DM_LOCAL_DOMAINS セクションとも呼ばれる) では、3 つの TDomain ゲートウェイ グループが設定されています。それらの TDomain ゲートウェイ グループは、このドメインが Domains コンフィグレーションのほかの 3 つのドメインと通信するために使用します。ここで示されている 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
アプリケーションを実行する方法が説明されています。Windows システムで creditapp
アプリケーションを実行する場合は、README
ファイルで基本的な設定情報を読んでから、Windows 環境で設定タスクを行います。Windows 上での Oracle Tuxedo の使い方の詳細については、『Windows NT での Tuxedo システムの使用』を参照してください。
Domains 環境を設定する場合、Domains 管理者は Domains コンフィグレーションにかかわるほかのドメイン (リモート ドメイン) について Oracle Tuxedo ドメインが知る必要のあるすべての情報を指定する必要があります。この情報には、リモート ドメインにエクスポートされるローカル サービス、リモート ドメインからインポートされるサービス、およびリモート ドメインにアクセスするためのアドレッシング パラメータとセキュリティ パラメータが含まれます。この情報は、Domains コンフィグレーションにかかわる各ドメインの UBBCONFIG
および DMCONFIG
コンフィグレーション ファイルで定義されます。
以下の節で説明する Domains の例は、Oracle Tuxedo に同梱されている simpapp
アプリケーションに基づいています。このサンプル アプリケーションは次の場所にあります。
tux_prod_dir
は、Oracle Tuxedo がインストールされたディレクトリです。
次の図で示されている Domains の例は、2 つの Oracle Tuxedo ドメインで構成されています。1 つは lapp
(simpapp
に基づくローカル アプリケーション)、もう 1 つは rapp
(simpapp
に基づくリモート アプリケーション) です。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-UX (HP 9000) では、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.ubb
(lapp
アプリケーションのテキスト形式のコンフィグレーション ファイル) では、必須パラメータのみ定義します。ほかのパラメータにはデフォルト設定を使用します。次のコード リストは、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 ファイルのコード リストでは、REPLYQ=N が DMADM 、GWADM 、および GWTDOMAIN の各サーバで指定されています。この設定は必須ではありません。必要に応じて REPLYQ=Y を指定して、それらのどのサーバにでも応答キューを指定できます。ただし、REPLYQ が N に設定されている場合は、パフォーマンスが向上することがあります。 |
lapp.ubb
では、次のサーバ グループが定義されています。
DMADM
- Domains 管理サーバは、バイナリ形式の Domains コンフィグレーション ファイル (BDMCONFIG
) の Domains コンフィグレーション情報を実行時に修正します。DMADM
は、登録済みのゲートウェイ グループをリストします。Domains コンフィグレーションに参加する Oracle Tuxedo ドメインで実行できる DMADM
のインスタンスは 1 つだけです。GWADM
- ゲートウェイ管理サーバは、特定のドメイン ゲートウェイ グループを実行時に管理します。このサーバは、DMADM
サーバから Domains コンフィグレーション情報を取得します。また、ゲートウェイ グループを管理したり、トランザクション ログを記録したりもします。GWTDOMAIN
- TDomain ゲートウェイ サーバはリモート Oracle Tuxedo ドメインとの相互のアクセスを可能にし、複数の Oracle Tuxedo ドメインの相互運用を実現します。TDomain ゲートウェイでエクスポートおよびインポートされるローカル サービスとリモート サービスについては、Domains コンフィグレーション ファイル (DMCONFIG
) を参照してください。
lapp.dom
(lapp
Domains のテキスト形式のコンフィグレーション ファイル) では、必須パラメータのみ定義します。オプション パラメータにはデフォルト設定を使用します。次のコード リストは、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
ファイルでは、唯一のローカル ドメイン アクセス ポイント LAPP
を指定し、その LAPP
アクセス ポイントの次のプロパティを定義します。
GWGRP
の値は LGWGRP で、これは lapp.ubb
ファイルで指定されたドメイン ゲートウェイ サーバ グループの名前です。TYPE
の値 TDOMAIN
は、lapp
アプリケーションがローカルの TDomain ゲートウェイ サーバを通じて rapp
アプリケーションと通信することを示します。このパラメータは、ゲートウェイで使用されるプロトコルを示します。TYPE
のほかの値には、IDOMAIN
(Oracle eLink Adapter for Mainframe ゲートウェイ)、SNAX
(Oracle eLink Adapter for Mainframe SNA ゲートウェイ)、および OSITP
/OSITPX
(Oracle eLink Adapter for Mainframe OSI TP ゲートウェイ) があります。ACCESSPOINTID
では、ローカル ドメイン アクセス ポイントの名前を指定します。この識別子は、Domains コンフィグレーションにかかわるすべてのドメインの中でユニークである必要があります。
DM_REMOTE
セクションでは、リモート ドメイン アクセス ポイントとその特性を指定します。リモート ドメイン アクセス ポイントは、各ドメイン ゲートウェイ グループに 1 つでも複数でもかまいません。
lapp.dom
ファイルでは、唯一のリモート ドメイン アクセス ポイント RAPP
を指定し、その RAPP
アクセス ポイントの次のプロパティを定義します。
DM_EXPORT
セクションでは、ローカル ドメイン アクセス ポイントを通じて 1 つ以上のリモート ドメインにエクスポートされるサービスの情報を指定します。このセクションがないか、あっても何も指定されていない場合は、ローカル ドメインで宣言されたすべてのサービスが、DM_REMOTE
セクションで定義されたアクセス ドメインと関連付けられたリモート ドメインから利用可能になります。
lapp.dom
ファイルで指定されているように、LAPP
アクセス ポイントを通じて rapp
アプリケーションから利用できる lapp
サービスはありません。
DM_IMPORT
セクションでは、1 つ以上のリモート ドメイン アクセス ポイントを通じてインポートされ、1 つ以上のローカル ドメイン アクセス ポイントを通じてローカル ドメインから利用できるようになるサービスの情報を指定します。このセクションがないか、あっても何も指定されていない場合、ローカル ドメインからはどのリモート サービスも利用できません。
lapp.dom
ファイルで指定されているように、TOUPPER
という rapp
サービスが lapp
アプリケーションから利用できます。
DM_TDOMAIN
セクションでは、Oracle Tuxedo Domains コンポーネントで必要なアドレッシング情報を定義します。コンフィグレーション ファイルの LOCAL
セクションおよび REMOTE
セクションで指定された各ドメイン アクセス ポイントは、DM_TDOMAIN
セクションのエントリとなります。
各ローカル ドメイン アクセス ポイントのエントリには NWADDR
値が関連付けられます。この値は、ローカル ドメインが 1 つ以上のリモート ドメインからの接続を受け付けるネットワーク アドレスを指定します。
各リモート ドメイン アクセス ポイントのエントリには 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 コンフィグレーション ファイルには、リモートの rapp
TDomain ゲートウェイと通信するためにローカルの lapp
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) コマンドを実行してアプリケーションを起動します。
アプリケーションを起動する順序は関係ありません。「Domains の管理」の説明に従って、dmadmin(1) を使用してアプリケーションをモニタします。アプリケーションが両方とも起動したら、rapp
アプリケーションで提供される TOUPPER
サービスを lapp
アプリケーションのクライアントから呼び出すことができます。
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-UX (HP 9000) では、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.ubb
(rapp
アプリケーションのテキスト形式のコンフィグレーション ファイル) では、必須パラメータのみ定義します。ほかのパラメータにはデフォルト設定を使用します。次のコード リストは、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 ファイルのコード リストでは、REPLYQ=N が DMADM 、GWADM 、および GWTDOMAIN の各サーバで指定されています。この設定は必須ではありません。必要に応じて REPLYQ=Y を指定して、それらのどのサーバにでも応答キューを指定できます。ただし、REPLYQ が N に設定されている場合は、パフォーマンスが向上することがあります。 |
rapp.ubb
では、次のサーバ グループが定義されています。
simpserv
サーバは、文字列を小文字から大文字に変換する TOUPPER
サービスを宣言します。
rapp.dom
(rapp
Domains のテキスト形式のコンフィグレーション ファイル) では、必須パラメータのみ定義します。ほかのパラメータにはデフォルト設定を使用します。次のコード リストは、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 コンフィグレーション ファイルと似ていますが、エクスポートおよびインポートされるサービスは異なります。具体的には、rapp.dom
ファイルでは rapp
アプリケーションの次の Domains コンフィグレーションが定義されます。
RAPP
というローカル ドメイン アクセス ポイントと LAPP
というリモート ドメイン アクセス ポイントを指定します。両方のアクセス ポイントとも、RGWGRP
という TDomain ゲートウェイ サーバ グループと関連付けられます。TOUPPER
という rapp
サービスが lapp
アプリケーションから利用できるように指定します。lapp
サービスも rapp
アプリケーションから利用できないように指定します。rapp
アプリケーションがネットワーク アドレス juliet:5000
で受信時接続要求をリスンするように指定します。juliet
は rapp
アプリケーションが動作しているマシンの名前、5000
はリスン ポートです。rapp
アプリケーションが lapp
アプリケーションに接続を試みるときに、ネットワーク アドレス giselle:5000
が使用されるように指定します。giselle
は lapp
アプリケーションが動作しているマシンの名前、5000
は接続先ポートです。
rapp.ubb
アプリケーション コンフィグレーション ファイルには、rapp
アプリケーションの起動に必要な情報が格納されます。このファイルは、tmloadcf(1) を実行してバイナリ データ ファイルにコンパイルします。
rapp.dom
Domains コンフィグレーション ファイルには、リモートの lapp
TDomain ゲートウェイと通信するためにローカルの rapp
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) コマンドを実行してアプリケーションを起動します。
アプリケーションを起動する順序は関係ありません。「Domains の管理」の説明に従って、dmadmin(1) を使用してアプリケーションをモニタします。アプリケーションが両方とも起動したら、rapp
アプリケーションで提供される TOUPPER
サービスを lapp
アプリケーションのクライアントから呼び出すことができます。
ドメイン間を送信されるデータは、高速化を目的として圧縮できます。圧縮をコンフィグレーションするには、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 のファイル形式とデータ記述方法』のリファレンス ページ DMCONFIG(5) の DM_ROUTING
セクションを参照してください。
Oracle Tuxedo ATMI 環境では、Domains コンフィグレーションに次の基本的なセキュリティ機能を利用できます。
Domains コンフィグレーションで利用できるセキュリティ機能と個々の Oracle Tuxedo アプリケーションで利用できるセキュリティ機能は比較的に依存性はありませんが、互換性があります。Oracle Tuxedo アプリケーションで利用できるセキュリティ機能については、『Oracle Tuxedo のセキュリティ機能』を参照してください。
Oracle Tuxedo Domains コンポーネントは、次のセキュリティ メカニズムを提供します。
DMCONFIG
ファイルの DM_LOCAL
セクションおよび DM_REMOTE
セクションの CONNECTION_PRINCIPAL_NAME
パラメータでローカル ドメインおよび各リモート ドメインの ID (プリンシパル名) を指定します。
また、ローカル ドメインとリモート ドメインではお互いへの接続を試みるときに 3 レベルのパスワード セキュリティのいずれかを使用できます。パスワード セキュリティのレベルは、DMCONFIG
ファイルの DM_LOCAL
セクションの SECURITY
パラメータを使用してローカル ドメイン単位でコンフィグレーションします。
DMCONFIG
ファイルの DM_EXPORT
セクションにそのサービスのエントリを配置します。DMCONFIG
ファイルの DM_ACCESS_CONTROL
セクションで ACL 名を作成して、その ACL 名を DMCONFIG
ファイルの EXPORT
セクションでサービスに適用します。DMCONFIG
ファイルの DM_REMOTE
セクションの ACL_POLICY
パラメータでコンフィグレーションします。DMCONFIG
ファイルの DM_TDOMAIN
セクションの MINENCRYPTBITS
パラメータと MAXENCRYPTBITS
パラメータを使用してコンフィグレーションします。
『Oracle Tuxedo のセキュリティ機能』の「ドメイン間のリンクの確立」で説明されているように、ローカルの TDomain ゲートウェイでは、ローカル ドメインとリモート ドメインの両方が知っており、その結果としてドメインが相互に接続しようとしたときにリモート ドメインでローカル ドメインを認証できる ID (プリンシパル名) が必要です。同じように、リモートの TDomain ゲートウェイでは、リモート ドメインとローカル ドメインの両方が知っており、その結果としてドメインが相互に接続しようとしたときにローカル ドメインでリモート ドメインを認証できる ID (プリンシパル名) が必要です。また、ローカル TDomain ゲートウェイではその割り当てられたプリンシパル名を使用して接続の設定時に必要なセキュリティ資格を取得します。
ローカル TDomain ゲートウェイでは、プリンシパル名がもう 1 つ必要です。その 2 つめのプリンシパル名は、「リモート ドメインの ACL ポリシーのコンフィグレーション」で説明されているローカルのアクセス制御リスト (ACL) ポリシーを適用するために必要なセキュリティ資格を取得するために使用します。
管理者は、次のコンフィグレーション パラメータを使用して、リリース 7.1 以降の Oracle Tuxedo アプリケーションで動作する TDomain ゲートウェイのプリンシパル名を指定します。
UBBCONFIG
の SEC_PRINCIPAL_NAME
(文字列)
Oracle Tuxedo 7.1 以降のソフトウェアを実行するアプリケーションで認証に使用するためのセキュリティ プリンシパル名の識別文字列を指定します。このパラメータの最大文字数は、文字列の最後を表す NULL
文字列を除いて 511 文字です。このパラメータで指定されたプリンシパル名は、このアプリケーションで動作する 1 つ以上のシステム プロセス (TDomain ゲートウェイ GWTDOMAIN
プロセスを含む) の ID になります。
アプリケーションの起動時に、アプリケーション内のそれぞれの TDomain ゲートウェイ プロセスは、認証プラグインを呼び出して、SEC_PRINCIPAL_NAME
で指定されたセキュリティ プリンシパル名のセキュリティ資格を取得します。TDomain ゲートウェイは、SEC_PRINCIPAL_NAME
パラメータで指定されたプリンシパル名で、これらの資格を取得します。
DMCONFIG
の DM_LOCAL
セクションの CONNECTION_PRINCIPAL_NAME
(文字列)
接続プリンシパル名識別子を指定します。このプリンシパル名は、リモート ドメインに接続するときにこのローカル ドメイン アクセス ポイントと関連付けられたドメイン ゲートウェイの ID を検証するために使用します。このパラメータは、Oracle Tuxedo 7.1 以降が動作する TDOMAIN
タイプのドメイン ゲートウェイのみに適用されます。
CONNECTION_PRINCIPAL_NAME
パラメータの最大文字数は、文字列の最後を表す NULL
文字列を除いて 511 文字です。このパラメータを指定しないと、接続プリンシパル名はデフォルトでこのローカル ドメイン アクセス ポイントの ACCESSPOINTID
文字列になります。
デフォルトの認証プラグインで、このローカル ドメイン アクセス ポイントの CONNECTION_PRINCIPAL_NAME
に値を割り当てる場合、その値は、このローカル ドメイン アクセス ポイントの ACCESSPOINTID
パラメータの値と同じでなければなりません。これらの値が一致しないと、ローカル TDomain ゲートウェイ プロセスが起動せず、次の userlog(3c)
メッセージが生成されます。ERROR: 証明書を取得できません。
DMCONFIG
の DM_REMOTE
セクションの CONNECTION_PRINCIPAL_NAME
(文字列)
接続プリンシパル名識別子を指定します。このプリンシパル名は、ローカル ドメインに接続するときにこのリモート ドメイン アクセス ポイントの ID を検証するために使用します。このパラメータは、Oracle Tuxedo 7.1 以降が動作する TDOMAIN
タイプのドメイン ゲートウェイのみに適用されます。
CONNECTION_PRINCIPAL_NAME
パラメータの最大文字数は、文字列の最後を表す NULL
文字列を除いて 511 文字です。このパラメータを指定しない場合は、リモート ドメイン アクセス ポイントの ACCESSPOINTID
文字列がデフォルト値になります。
デフォルトの認証プラグインで、このリモート ドメイン アクセス ポイントの CONNECTION_PRINCIPAL_NAME
に値を割り当てる場合、その値は、このリモート ドメイン アクセス ポイントの ACCESSPOINTID
パラメータの値と同じでなければなりません。これらの値が一致しないと、ローカル TDomain ゲートウェイとリモート TDomain ゲートウェイの接続は失敗し、次の userlog(3c)
メッセージが生成されます。ERROR: ドメイン
domain_name
の管理用キーを初期化できません。
次の例で、DMCONFIG
ファイルの CONNECTION_PRINCIPAL_NAME ID は、LOCAL1
アクセス ポイントおよび REMOT1
アクセス ポイントを通じて接続を確立するときに使用されます。
*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 アプリケーション パスワードは、tmloadcf(1) で管理されます。このコマンドは、TUXCONFIG
ファイルで SECURITY オプションが有効な場合にパスワードを要求します。パスワードは、TUXCONFIG
ファイルと一緒に自動的にコンフィグレーションのほかのマシンに伝播されます。パスワードは、tmadmin コマンドを使用して動的に更新できます。BDMCONFIG
ファイルの DM_PASSWORDS
セクションで定義されたパスワードを使用して認証されます。DM_PASSWORDS
セクションは、DMCONFIG
ファイルでは定義されません。パスワードは、dmloadcf
が実行された後に、DM_MIB(5)
または dmadmin(1)
コマンドの passwd
サブコマンドを使用してバイナリ形式のコンフィグレーション ファイルに追加されます。各エントリでは、ローカル ドメインへのアクセスでリモート ドメインによって使用されるパスワードと、リモート ドメインへのアクセスでローカル ドメインによって使用されるパスワードが設定されます。
TUXCONFIG
ファイルで SECURITY
パラメータが NONE
に設定されている場合や、パラメータが設定されていない場合でも、Domains コンフィグレーションでは、TDomain ゲートウェイによる DM_PW
レベルのセキュリティの適用が要求されることがあります。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 のファイル形式とデータ記述方法』の 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
コマンドを使用して両サイドでパスワードを定義する必要があります。
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
両方のドメインでパスワードが作成されたら、接続を確立して、リモート ドメインでサービスを呼び出すことができます。
開始 (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 以上に設定する必要があります。 |
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 名に関連付けられたリモート ドメイン アクセス ポイントを指定します。その手順は次の表にまとめられています。
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
の場合は、このリモート ドメイン アクセス ポイントに対するローカル サービス要求から資格 (ID) がローカル ドメインによって削除されます。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
の接続ポリシーでは、Dynamic Status が呼び出されます。Dynamic Status (「接続ポリシーによるリモート サービスの可用性の判断」を参照) は、リモート サービスの状態を調べて報告する Oracle Tuxedo Domains の機能です。
接続ポリシーが ON_DEMAND
(CONNECTION_POLICY=ON_DEMAND
) の場合は、ローカル クライアントがリモート サービスを要求したか、管理コマンド dmadmin connect
が実行されたときにだけ接続が試行されます。ON_DEMAND
は、接続ポリシーのデフォルト設定です。
次の図は、接続ポリシーが ON_DEMAND
であるドメイン ゲートウェイによってどのように接続が試行されて確立されるのかを示しています。
接続ポリシーが ON_STARTUP
(CONNECTION_POLICY=ON_STARTUP
) の場合、ドメイン ゲートウェイはドメイン ゲートウェイ サーバが初期化されたときにリモート ドメインとの接続を試行します。デフォルトの ON_STARTUP
接続ポリシーでは、60 秒おきに失敗した接続が再試行されますが、この間隔に別の値を指定することもできます (「ON_STARTUP のみでの接続再試行間隔のコンフィグレーション」を参照)。
次の図は、接続ポリシーが ON_STARTUP
であるドメイン ゲートウェイによってどのように接続が試行されて確立されるのかを示しています。
接続ポリシーが INCOMING_ONLY
(CONNECTION_POLICY=INCOMING_ONLY
) の場合、ドメイン ゲートウェイは起動時にリモート ドメインへの接続を試行しません。次の図は、接続ポリシーが 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
) の場合、接続再試行プロセスは利用できません。
次の表は、MAXRETRY
および RETRY_INTERVAL
がどのように自動接続再試行プロセスに影響するのかを示しています。
Domains コンフィグレーションにかかわるドメインは互いに独立して機能するので、接続ポリシーのどのような組み合わせでも Domains コンフィグレーションで使用できます。ただし、接続ポリシーはどのような組み合わせでも実際に使えるわけではありません。たとえば、ほとんどの場合では、相互運用される 2 つのドメインそれぞれで接続ポリシーを ON_STARTUP
にコンフィグレーションしてもあまり意味はありません。
次のコンフィグレーション例は、接続ポリシーの実際的な組み合わせです。この例で、LOCAL1
はローカルの DMCONFIG
ファイルで ON_STARTUP
にコンフィグレーションされていて、REMOT1
はリモートの DMCONFIG
ファイルで INCOMING_ONLY
にコンフィグレーションされています。
*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"
管理者は、ドメイン間で確立する必要のある接続の数を制御できます。また、ローカル ドメインとリモート ドメインの接続を切断することもできます。
ローカル ドメイン ゲートウェイとリモート ドメインの接続を確立するには、次のように、connect
(co
) サブコマンドを使用して dmadmin
コマンドを実行します。
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
、接続再試行プロセスが有効な状態で接続が失敗した場合は、接続再試行プロセスを通じて接続が繰り返し試行されます。
ゲートウェイが自動接続再試行プロセスを通じて接続を再確立しない状態で、ローカル ゲートウェイとリモート ドメインの接続を切断するには、次のように、disconnect
(dco
) サブコマンドを使用して dmadmin
コマンドを実行します。
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
コマンドは、指定されたローカル ドメインについての情報を出力します。その情報には、リモート ドメインのリスト、接続されているリモート ドメインのリスト、接続しようとしているリモート ドメインのリストが含まれます。
次の例は、printdomain
コマンドが (その短縮形 pd
で) LOCAL1
というローカル ドメイン アクセス ポイントに対して発行される 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
この例では、例自体がシンプルになるように、リモート ドメイン アクセス ポイントの名前 (REMOT1
、REMOT2
) とそれらの DOMAINID
(ACCESSPOINTID
) 名 (REMOT1
、REMOT2
) が DMCONFIG
ファイルの DM_REMOTE
セクションで定義されているとおりに同じになっています。
2 つ以上のドメイン間でコンフィグレーションまたは接続ステータスの変更が発生すると、デフォルトによってドメイン接続イベントが生成されます。しかし、警告またはエラー メッセージを表示/出力するには、ドメイン接続イベントをサブスクライブする必要があります。
Tuxedo では、以下の 4 つのドメイン接続イベントが生成されます。
.SysConnectionSuccess
- 接続が正常に確立された。.SysConnectionConfig
- 接続コンフィグレーションが変更された。接続コンフィグレーション変更イベントは、2 つのドメイン間で以下のコンフィグレーション パラメータが変更されたときに発生する場合があります。.SysConnectionDropped
- 接続が切断された。.SysConnectionDropped
イベントでは、切断の理由も示されなければなりません。接続の切断が発生した理由は 3 つ存在し、それぞれ INFO メッセージに追加されなければなりません。発生の理由は以下のとおりです。.SysConnectionFailed
- 接続が失敗した。.SysConnectionFailed
イベントでは、失敗の理由も示されなければなりません。接続が失敗した理由は 3 つあり、INFO メッセージに追加されなければなりません。
Domains のリンク レベルのフェイルオーバは、一次リンクが失敗したときに代替ネットワーク リンクが有効になるようにするメカニズムです。Domains キープアライブは、ファイアウォールをまたがるドメイン間接続を活動のない期間オープンに維持するとともに、接続の障害を迅速に検出できるようにするメカニズムです。Domains キープアライブは、Oracle Tuxedo リリース 8.1 以降で利用できます。
Domains リンク レベルのフェイルオーバについては、「Domains リンク レベルのフェイルオーバのコンフィグレーション」を参照してください。Domains キープアライブについては、「Domains のキープアライブの指定」を参照してください。