domain将tuxedo应用融合在一起,在解决多应用的分布系统时,是一个很好的选择.本文介绍tuxedo domain机制基础
domain将tuxedo应用融合在一起,在解决多应用的分布系统时,是一个很好的选择.
1. domain和WSL的区别
当client和tuxedo服务不在同一主机上的时候,在服务器端运行wsl使客户端能能够获取服务端的服务.
当两个tuxedo服务在不同的主机上,要相互调用时,使用domain,就是说两个主机上的server是对等的.
所以wsl是为了client->server,domain是为了server<->server.
下面举一个例子来说明domain的最基本的用法.
2. 环境:
A主机:linux,tuxedo8.1,ip=192.168.1.113
B主机:winxp,tuxedo8.1,ip=192.168.1.113
3.
应用概述
在A主机上面有一个tuxedo服务DOMAIN_TEST,现在有一个客户端,只能访问B主机上面的tuxedo服务,客户端为了得到A主机上的DOMAIN_TEST服务.
有两种办法:
一)在B主机上面建到A主机的DOMAIN_TEST服务路由,可以通过访问B主机的DOMAIN_TEST服务来达到访问A主机的DOMAIN_TEST服务的目的,可以采用配置domain来解决.
二)在B主机上面提供一个通用的服务DOMAIN_TEST,根据客户端的请求参数,决定在A的DOMAIN_TEST服务程序中采用tpcall来调用相应A主机上的tuxedo服务.也可以采用domain来解决.
4. A主机配置
A主机的ubbconfig,内容如下:
# (c) 2003 BEA Systems, Inc. All Rights Reserved.
#ident "@(#) samples/atmi/simpapp/ubbsimple $Revision: 1.5 $"
#Skeleton UBBCONFIG file for the TUXEDO Simple Application.
#Replace the <bracketed> items with the appropriate values.
*RESOURCES
#Example:
IPCKEY 123456
DOMAINID server_240
MASTER chenli
MAXACCESSERS 1000
MAXSERVERS 1000
MAXSERVICES 2500
MAXGTT 5
MODEL SHM
LDBAL N
BLOCKTIME 10
*MACHINES
DEFAULT:
APPDIR="/home/dev/app/src/bin"
TUXCONFIG="/home/dev/app/src/bin/tuxconfig"
TUXDIR="/home/dev/app/tuxedo8.1"
TLOGSIZE=500
MAXWSCLIENTS=50
#Example:
# APPDIR="/home/me/simpapp"
# TUXCONFIG="/home/me/simpapp/tuxconfig"
# TUXDIR="/usr/tuxedo"
#<Machine-name>
chenli_linux LMID=chenli
#Example:
#beatux LMID=chenli
*GROUPS
GROUP1
LMID=chenli GRPNO=1 OPENINFO=NONE
GROUP2
LMID=chenli GRPNO=2 OPENINFO=NONE
GROUP3
LMID=chenli GRPNO=3 OPENINFO=NONE
GROUP4
LMID=chenli GRPNO=4 OPENINFO=NONE
GROUPWSL
LMID=chenli GRPNO=6 OPENINFO=NONE
LGWGRP LMID=chenli GRPNO=7 OPENINFO=NONE
LDMGRP LMID=chenli GRPNO=8 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A -p" RESTART=N GRACE=86400
#=======================domain===========================================#
DMADM SRVGRP=LDMGRP SRVID=200
GWADM SRVGRP=LGWGRP SRVID=310
GWTDOMAIN SRVGRP=LGWGRP SRVID=320
#======================= GROUP1 servers Define ==========================#
simpserv SRVGRP=GROUP2 SRVID=200 MIN=1 MAX=2 REPLYQ=Y RQADDR="simpserv" MAXGEN=5
#WSL SRVGRP=GROUP1 SRVID=700 MIN=1 MAX=1 REPLYQ=Y MAXGEN=2 RESTART=Y CLOPT = "-A -t -- -n //192.168.1.201:3195 -H //192.168.1.201:3195 -m 5 -M 20 -x 3 -T 120 -I 30"
WSL SRVGRP=GROUPWSL SRVID=2 MAXGEN=2 CLOPT=" -A -- -n //192.168.1.113:3195 -m 2 -M 6 -x 10"
*SERVICES
SERV_TEST
TOUPPER
DOMAIN_TEST
#===================================================#
配置dmconfig,内容如下:
*DM_LOCAL_DOMAINS
TDOM02 GWGRP=LGWGRP
TYPE=TDOMAIN
DOMAINID="TDOM02"
DMTLOGDEV="/home/dev/app/src/bin/logs/DLOG"
*DM_REMOTE_DOMAINS
TDOM01 TYPE=TDOMAIN
DOMAINID="TDOM01"
*DM_TDOMAIN
TDOM02 NWADDR="//192.168.1.113:3071"
TDOM01 NWADDR="//192.168.1.100:3070"
*DM_REMOTE_SERVICES
*DM_LOCAL_SERVICES
DOMAIN_TEST
同设置好TUXCONFIG,BDMCONFIG环境变量.
执行tmloadcf -y ubbconfig,dmloadcf -y dmconfig编译配置文件,生成TUXCONFIG和BDMCONFIG二进制文件.