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二进制文件.