TUXEDO与WEBLOGIC通过WTC进行互连的配置


(作者:徐春金)

BEA公司的TUXEDO,WEBLOGIC作为最优秀的中间件产品,在银行、电信、金融等行业广泛使用,通常采用TUXEDO实现系统的核心业务,用WEBLOGIC做为系统扩展到INTERNET的平台,实现电子商务,由WEBLOGIC调用TUXEDO上的服务,所以TUXEDO与WEBLOGIC之间的互连经常遇到。
下面通过一个例子介绍TUXEDO与WEBLOGIC通过WTC进行连接的配置方法。
WEBLOGIC与TUXEDO的互连有两中方式,通过JOLT或通过WTC(WEBLOGIC TUXEDO CONNECTOR)。它们都是BEA的产品,WTC不仅能让WEBLOGIC调用TUXEDO中的SERVICE,而且能让TUXEDO调用WEBLOGIC中的EJB;而JOLT只能让WEBLOGIC调用TUXEDO. 但JOLT可以使TUXEDO与WEBSPERE等其他应用
服务器相连,而WTC只能用于WEBLOGIC与TUXEDO之间进行互连。
一、WTC说明
(1)WEBLOIGIC5.1无法通过WTC与TUXEDO连接.
(2)WEBLOGIC6.0与TUXEDO连接时,要安装WTC软件包.
(3)WTC已集成在在EBLOGIC6.1中,只要配置一下就可以了,不用单独安装WTC软件包.
(4)目前WTC只支持TUXEDO6.5,TUXEDO8.0两个版本,不支持TUXEDO7.1版本.
(5)目前WTC有两个版本, Windows版本支持2000/NT,UNIX为统一版本.
(6)WTC可从http://commerce.bea.com/downloads/tuxedo.jsp下载,目前的版本为1.0.
二、WTC安装过程
(1) WEBLOGIC与TUXEDO必须先安装好.
(2)WTC要求在JAVA环境下安装,可在命令行下,运行weblogic主目录下config/EXAMPLE/setEnv.sh(NT/2000下为setenv.cmd)配置JAVA环境
(3)在DOS命令行下执行安装程序WTC_10_win.exe。按提示操作就可以.
注意:如果在WINDOW下安装,到COPY文件那一步时,不会执行,但提示安装成功,实际是假的。所以应在DOS命令行下安装.
三、WTC配置说明
TUXEDO与WEBLOGIC之间通过DOMAIN方式实现互相调用,在这个例子中有两个DOMAIN:TUXEDO所在的DOMAIN名为TDOM1, WEBLOGIC所在的 DOMAIN名为TDOM2。TDOM1上有TOUPPER它是一个TUXEDO SERVEICE,TDOM2上有TOLOWER它是一个EJB,
下面以WTC安装带的例子simpapp(在WTC安装目录的examples/wtc/atmi/simpapp下)说明配置过程:
TUXEO版本: TUXEDO65
WEBLOGIC版本: WEBLOGIC6.0
TUXEO安装目录: D:\TUXEDO65
WEBLOGIC安装目录: D:\WEBLOGIC
操作系统: WIN2000
例子目录: D:\SIMPAPP(把WTC安装目录的examples/wtc/atmi/simpapp目录COPY到D:\SIMPAPP)
服务器名: DEMOSERVER
WTC安装目录: D:\WEBLOGIC\WTC1.0
四、TUXEDO要做的配置
(1)修改D:\SIMPAPP\SETENV.CMD为:
set TUXDIR=d:\tuxedo65
set WSNADDR=//DEMOSERVER:8888
set APPDIR=d:\simpapp
set PATH=%TUXDIR%\bin;%APPDIR%;%PATH%
set TUXCONFIG=%APPDIR%\tuxconfig
set BDMCONFIG=%APPDIR%/dbmconfig
(2)修改D:\SIMPAPP\UBBDOMAIN为:
*RESOURCES
IPCKEY 123456
DOMAINID simpapp
MASTER simple
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
LDBAL N
*MACHINES
DEMOSERVER LMID=simple
APPDIR="d:\simpapp"
TUXCONFIG="d:\simpapp\tuxconfig"
TUXDIR="d:\tuxedo65"
*GROUPS
GROUP1
LMID=simple GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1
*SERVICES
TOUPPER
(3)修改D:\SIMPAPP\DOM1CONFIG:
修改dom1config,加入TLOG的路径和AUDITLOG的路径。然后修改TDOM1的NWADDR="IP:PORT"为TUXEDO的IP和端口,TDOM2的
NWADDR="IP:PORT"为WEBLOGIC的IP和端口。
*DM_RESOURCES
VERSION=U22
*DM_LOCAL_DOMAINS
TDOM1 GWGRP=GROUP2
TYPE=TDOMAIN
DOMAINID="TDOM1"
BLOCKTIME=20
MAXDATALEN=56
MAXRDOM=89
TLOG="d:\simpapp\TLOG"
AUDITLOG="d:\simpapp\AUDITLOG"
*DM_REMOTE_DOMAINS
TDOM2 TYPE=TDOMAIN
DOMAINID="TDOM2"
*DM_TDOMAIN
TDOM1 NWADDR="//DEMOSERVER:9998"
TDOM2 NWADDR="//DEMOSERVER:9999"
*DM_REMOTE_SERVICES
TOLOWER RDOM="TDOM2"
(4) tmloadcf -y ubbdomain
(5) mloadcf -y dom1config
(6)buildserver -o simpserv -f simpserv.c -s TOUPPER
(7)将examples/wtc/atmi/simpapp/simpserv下的tolower.c 拷贝到D:\SIMPAPP,并执行buildclinet -v -f tolower.c -o tolower
五、WEBLOGIC要做的配置
(1)修改weblogic目录下config/examples/setExamplesEnv.cmd及startExamplesServer.cmd,在CLASSPATH中加入:
d:\weblogic\wtc1.0\lib/jatmi.jar。执行setExamplesEnv.cmd
(2)修改bdmconfig.xml
修改<!DOCTYPE>中的:[WTC installation directory]\weblogic\wtc\gwt\wtc_config_1_0.dtd(WLS60)
修改TDOM1和TDOM2的NWADDR和TUXEDO中的dom1config中的一致
如果tuxedo为6.5版本则在<T_DM_LOCAL_TDOMAIN AccessPoint="TDOM2">中加入<Interoperate>Yes</Interoperate>如果为TUXEOD8.0则不需要。
(3)修改后的bdmconfig.xml内容如下:
<?xml version="1.0"?>
<!DOCTYPE BDMCONFIG SYSTEM "file:D:\weblogic\wtc1.0\weblogic\wtc\gwt\wtc_config_1_0.dtd">
<!--Java and XML-->
<WTC_CONFIG>
<BDMCONFIG>
<T_DM_LOCAL_TDOMAIN AccessPoint="TDOM2">
<WlsClusterName>Coolio</WlsClusterName>
<AccessPointId>TDOM2</AccessPointId>
<Type>TDOMAIN</Type>
<Security>NONE</Security>
<ConnectionPolicy>ON_DEMAND</ConnectionPolicy>
<BlockTime>30</BlockTime>
<NWAddr>//DEMOSERVER:9999</NWAddr>
<!-- Example address: //mydomain.acme.com:9999 -->
<Interoperate>Yes</Interoperate>
</T_DM_LOCAL_TDOMAIN>
<T_DM_REMOTE_TDOMAIN AccessPoint="TDOM1">
<LocalAccessPoint>TDOM2</LocalAccessPoint>
<AccessPointId>TDOM1</AccessPointId>
<Type>TDOMAIN</Type>
<NWAddr>//DEMOSERVER:9998</NWAddr>
<!-- Example address: //mydomain.acme.com:9998 -->
</T_DM_REMOTE_TDOMAIN>
<T_DM_EXPORT ResourceName="TOLOWER"
LocalAccessPoint="TDOM2">
<EJBName>tuxedo.services.TOLOWERHome</EJBName>
</T_DM_EXPORT>
<T_DM_IMPORT
ResourceName="TOUPPER"
LocalAccessPoint="TDOM2"
RemoteAccessPointList="TDOM1">
<TranTime>600</TranTime>
</T_DM_IMPORT>
</BDMCONFIG>
</WTC_CONFIG>
(4)执行java weblogic.wtc.gwt.WTCValidateCF bdmconfig.xml监测xml是否正确。
(5)在D:\SIMPAPP下执行build命令,然后在D:\weblogic\wtc1.0\examples\simpserv下执行build命令
(6)启动welogic
(7)察看wtc_tolower.jar、wtc_toupper.jar是否deploy成功
(8)建立一个WEBLOGIC StartUp Class:
classname为 weblogic.wtc.gwt.WTCStartup 参数为BDMCONFIG=D:\SIMPAPP\bdmconfig.xml,并设置其TARGET为EXAMPLESERVER
(9)建立一个WEBLOGIC ShutDown Class:
classname为weblogic.wtc.gwt.WTCShutdown,并设置其TARGET为EXAMPLESERVER
(10)重新启动weblogic,并注意WEBLOGIC的启动日志看StartUp Class启动过程是否成功,失败会报错,成功没有提示信息
如果失败没有检查config.xml中是否为
<StartupClass Arguments="BDMCONFIG=d:\wtc_load4\examples\simpapp\bdmconfig.xml" ClassName="weblogic.wtc1.0.gwt.WTCStartup" FailureIsFatal="false" Name="MyWTCStartup Class" Targets="myserver"/>
<ShutdownClass Arguments="" ClassName="weblogic.wtc1.0.gwt.WTCShutdown" Name="MyWTCShutdown Class"/>
六、启动tuxedo
七、运行例子
在d:/simpapp下执行run.cmd,这是WEBLOGIC 做CLIENT端调用Toupper ejb,由Toupper ejb调用TUXEDO的SERVICE:TOUPPER
在d:/simpapp下执行run.cmd,这是TUXEDO做CLIENT端调用WEBLOGIC中的Tolower ejb,
八、如果是WEBLOGIC6.1
TUXEDO的配置不变
WEBLOGIC中从(2)开始配置.其中:DMCONFIG.XML中的,因为WEBLOGIC6.1中找不到wtc_config_1_0.dtd,可从WEBLOGIC6.1拷贝一个到WEBLOGIC6.1的安装目录下:
如D:\WEBLOGIC6.1,并在DMCONFIG.XML指定它的路径
<!DOCTYPE BDMCONFIG SYSTEM "file:D:\weblogic6.1\wtc_config_1_0.dtd">
九、失败处理
如果失败,可设置weblogic.wtc.gwt.WTCStartup的跟踪选项,即把它的参数设置为: BDMCONFIG=D:\simpapp\bdmconfig.xml,TraceLevel=20000
并请查看WEBLOGIC,TUXEDO的日志.做相应的处理。