前言
Tuxedo与Weblogic的互连可以通过Weblogic的WTC(WebLogic Tuxedo Connection)实现。WTC不仅能实现Weblogic调用Tuxedo的服务,还能实现Tuxedo调用Weblogic的EJB服务。在具体配置实现中易错点较多,建议在首次配置过程中使用与生产环境业务无关的程序尝试,如Tuxedo的示例程序simpapp。
示例环境
1. Weblogic 10.3.6安装在Windows8.1中,IP为192.168.43.1
2. Tuxedo 8.1安装在XP虚拟机中,IP为192.168.43.128,安装目录为C:\bea\tuxedo8.1
Tuxedo 8.1在Windows 7或Windows 8中安装易出错,Tuxedo 11g则可以。其他版本未尝试。
3. VC 6.0安装在XP虚拟机中,用于编译simpapp程序示例程序使用Tuxedo自带的simpapp,位于tuxedo8.1\samples\atmi目录下,功能是实现小写字母转大写。为了方便调试将simpapp文件夹复制到C:\simpapp
Tuxedo部分
目标
能正确编译ubb和dom配置文件,能成功启动Tuxedo服务,并实现小写字母转大写的服务调用
步骤
1. 配置setenv
命令:setenv
2. 配置ubbsimple并编译
命令:tmloadcf –yubbsimple
3. 配置domsimple并编译,示例simpapp没有自带dom文件
命令:dmloadcf –ydomsimple
4. 编译simpcl.c客户端,用于调用Tuxedo服务
命令:buildclient-o simpcl -f simpcl.c
5. 编译simpserv.c服务端,实现小写字母转大写的功能
命令:buildserver -o simpserv -f simpserv.c -s TOUPPER
simpcl和simpserv是C++所编写,执行buildclient和buildserver编译命令时,先确认系统有VC6.0的C++的编译环境,否则会提示没有cl指令。编译后将分别生成simpcl.exe和simpserv.exe,后者会在ubbsimple文件中配置,启动Tuxedo服务时会将simpserv.exe加载到系统进程中,以提供服务。
6. 启动Tuxedo服务
命令:tmboot -y
7. 测试服务
命令:simpcl helloworld
8. 关闭服务
命令:tmshutdown –y
以上命令都是在cmd中执行,需将目录切换到C:\simpapp
配置
1.setenvset TUXDIR=C:\bea\tuxedo8.1
set APPDIR=C:\simpapp
set PATH=%TUXDIR%\bin;%APPDIR%;%PATH%
set TUXCONFIG=%APPDIR%\tuxconfig
set BDMCONFIG=%APPDIR%\bdmconfig
2.ubbsimple
*RESOURCES
IPCKEY 123456
DOMAINID simpapp
MASTER simple
MAXACCESSERS 300
MAXSERVERS 500
MAXSERVICES 1000
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR="C:\simpapp"
TUXCONFIG="C:\simpapp\tuxconfig"
TUXDIR="c:\bea\tuxedo8.1"
MAXWSCLIENTS=150
HONGHU LMID=simple
*GROUPS
GROUP1
LMID=simple GRPNO=1 OPENINFO=NONE
GROUP_WSL
LMID=simple GRPNO=8
GRPDOM1
LMID=simple GRPNO=9
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=5
DMADM SRVGRP=GRPDOM1 SRVID=1
GWADM SRVGRP=GRPDOM1 SRVID=2
GWTDOMAIN SRVGRP=GRPDOM1 SRVID=10
WSL SRVGRP=GROUP_WSL SRVID=1
CLOPT="-A -t -- -n //192.168.43.128:9001 -m 2 -M 5 -x 10"
*SERVICES
TOUPPER
要点:
1. MASTER属性值要与后面4处LMID的值一致
2. MAXACCESSERS、MAXSERVERS、MAXSERVICES属性值及MAXWSCLIENTS属性值设置的比较大,若设置过小启动服务时会报错
3. HONGHU为计算机名,且必须大写。建议将计算机名改为全英文的名称,以免编译时出现不必要的错误
4. simpserv为步骤5编译生成的exe文件名称
5. 192.168.43.128:9001为其他机器能够通过该IP远程调用到Tuxedo服务
6. TOUPPER为对外的服务名,在使用tpcall调用服务时即指定该名称
3. domsimple
*DM_RESOURCES
VERSION=U22
*DM_LOCAL_DOMAINS
TDOM1 GWGRP=GRPDOM1
TYPE=TDOMAIN
DOMAINID=TDOM1
*DM_REMOTE_DOMAINS
TDOM2 TYPE=TDOMAIN
DOMAINID=TDOM2
*DM_TDOMAIN
TDOM1 NWADDR="//192.168.43.128:9000"
TDOM2 NWADDR="//192.168.43.1:7002"
*DM_LOCAL_SERVICES
TOUPPER RNAME=TOUPPER
*DM_REMOTE_SERVICES
TOLOWER RDOM=TDOM2 RNAME=TOLOWER
要点:
1. ubb和dom文件中的注释是 #,*表示一个配置块。要注意启用VERSION时,要将*DM_RESOURCES前的 #去掉
2. TDOM1表示Tuxedo端,TDOM2表示Weblogic端。
3. 192.168.43.128:9000是Tuxedo提供给Weblogic访问的地址
4. 192.168.43.1:7002是Weblogic提供给Tuxedo访问的地址,注意这里的端口要与Weblogic服务启动的端口区分开
5. DM_LOCAL_SERVICES表示Tuxedo提供的服务,即TUPPER
6. DM_REMOTE_SERVICES表示Weblogic提供的服务,即TOLOWER
过程
2. 输入tmloadcf –yubbsimple命令,无错误输出表示tuxconfig生成成功
3. 输入dmloadcf –ydomsimple命令,无错误输出表示bdmconfig生成成功
4. 输入buildclient-o simpcl -f simpcl.c命令,生成simpcl.exe
5. 输入buildserver -o simpserv -f simpserv.c -s TOUPPER命令,生成simpserv.exe
6. 输入tmboot –y命令,出现6个Started表示服务全部启动成功
7. 输入simpcl helloworld,返回Returned string is:HELLOWORLD
至此,Tuxedo部分的工作就完成了。现在仅实现了Tuxedo调用自身服务的功能。以上domsimple配置文件还未起到作用,在后面的Weblogic部分将会使用到。