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的日志.做相应的处理。
|