一、Tuxedo介绍
Tuxedo是BEA公司(现被Oracle公司收购)的一个客户机、服务器的“中间件”产品,它在客户机和服务器之间进行调节,以保证正确的处理事务。它用C语言技术开发的并且有很高性能。
Tuxedo服务通讯可以分为三种: **域间模式**的服务通讯、**WSL**模式的服务通讯、**JSL**模式的服务通讯。
二、域间通讯
使用TUXEDO组件/DOMAINS时,需要对管理配置作一些改变,它可以读取/请求另一个应用的交易(ProdCust)的数据。
涉及到3个关键的服务:
**DMADM**(DOMAIN ADMINISTRATOR SERVER),管理域的server,在运行时管理BDMCONFIG,对已登记的gateway group提供支持,在tuxedo系统中,**只能有一个DMADM**进程,且不能对它采用MSSQ,不能有REPLYQ。
**GWADM**(GATEWAY ADMINISTRATOR SERVER),管理域的域网关进程,在运行时可以对某一组域网关进行管理,主要从DMADM那里取得域的配置信息,并对域网管进程及跨越域的全局事务的LOG文件进行管理。
**GWTDOMIN**(GATEWAY PROCESS),处理域之前的互操作,使本地域和调用远程域可以互相调用彼此的service,其中GMADM和GWTDOMAIN必须在一个组中。
一个tuxedo应用只能有一个DMADM,可以在任何一个组中。一个tuxedo应用可以有多个GWADM,GWTDOMAIN对,一个组只能有一个GMADM,GWTDOMAIN对。一个本地域可以和多个远程域实现互操作。
domconfig 文件结构
*DM_LOCAL_DOMAINS
#定义本地tuxedo域的信息,分别定义该域所在的组GWGRP,域类型TYPE,域的唯一标识,域间通信时日志的全路径,其中GWGRP, DOMAINID的值要与ubb文件中的定义匹配。
*DM_REMOTE_DOMAINS
#DM_REMOTE_DOMAINS定义远程weblogic域的信息,分别定义域类型,域的唯一性标识,该id标识需要与在weblogic server中的配置名称吻合,否则通信将会失败,关于在weblogic中的相应配置下文将作详细描述#
*DM_TDOMAIN
#DM_TDOMAIN定义在DM_LOCAL_DOMAIN中已经说明的本地域和在DM_REMOTE_DOMAINS中已经说明的远程域的具体的通信ip地址以及通信端口,其中NWDEVICE指定tuxedo发布的server通信进程文件所在的路径#
*DM_REMOTE_SERVICES
#DDM_REMOTE_SERVICES定义当前域需要调用远程域的服务名称,本例中的服务作为被调用服务,所以此处可以为空
*DM_LOCAL_SERVICES
#DM_LOCAL_SERVICES定义当前域对外发布的tuxedo service名称,可以通过RNAME重新命名service#
1、UBBCONFIG
ubbconfig文件中,定义组以及服务
*GROUPS
GDMADM LMID=simple GRPNO=3 OPENINFO=NONE
*SERVERS
DMADM SRVGRP=GDMADM SRVID=100
GWADM SRVGRP=GDMADM SRVID=200
GWRDOMAIN SRVGRP=GDMADM SRVID=300
2、DOMCONFIG
定义本地域名称TAPP_MYAPP,本地域交易服务interface,域通讯地址192.168.2.10:21011
远程域名称TAPP_BANK_0001,远程域交易服务ftp_srv,域通讯地址192.168.2.11:7503
*DM_RESOURCES
VERSION=U22
*DM_LOCAL_DOMAINS
TAPP_20_JK GWGRP=GDMADM
TYPE=TDOMAIN
DOMAINID="TAPP_MYAPP"
BLOCKTIME=200
MAXDATALEN=4194304
MAXRDOM=89
DMTLOGDEV="/tuxedo/app/work/Logfile/dmtlog"
DMTLOGNAME="DMTLOG"
CONNECTION_POLICY=ON_STARTUP
*DM_REMOTE_DOMAINS
TAPP_BANK_0001 TYPE=TDOMAIN DOMAINID="TAPP_BANK_0001"
*DM_TDOMAIN
TAPP_MYAPP NWADDR="//192.168.2.10:21011"
DMKEEPALIVE=300000 DMKEEPALIVEWAIT=60000
TCPKEEPALIVE=YES
DMKEEPALIVE=600000
DMKEEPALIVE=0
TAPP_BANK_0001 NWADDR="//192.168.2.11:7503"
*DM_REMOTE_SERVICES
ftp_srv RDOM=TAPP_BANK_0001 LDOM=TAPP_MYAPP RNAME=ftp_srv
*DM_LOCAL_SERVICES
interface
3、tuxedo相关的环境变量
修改~/.bash_profile, 配置环境变量
#/DOMAIN进程需要额外的环境变量去访问/DOMAINS配置信息
export BDMCONFIG=/tuxedo/app/work/dbmconfig
4、编译配置文件
编译ubbconfig
tmloadcf –y ubbconfig
编译dmconfig
dmloadcf –y dmconfig
三、WSL模式访问
ubbconfig 中增加配置
WSL SRVGRP=GROUP1 SRVID=1004 CLOPT="-A -t -- -n //192.168.2.10:21020 -m 2 -M 5 -x 2 -T 5 -p 21021 -P 21025"
四、JSL模式访问
ubbconfig 中增加配置
JSL SRVGRP=GROUP1 SRVID=1005 CLOPT="-A -t -- -n //192.168.2.10:21020 -m 2 -M 5 -x 2 -T 5 -p 21021 -P 21025"
JREPSVR SRVGRP=GROUP1 SRVID=1006 CLOPT="-A -- -W -P /tuxedo/bea/tuxedo11gR1/udataobj/jolt/repository/jrepository"
jrepository 文件追加服务信息
add SVC/interface:vs=1:ex=1:bt=STRING:\
bp:pn=STRING:pt=string:pf=167772161:pa=rw:ep:
add PKG/SIMPSERV:interface: