[Tuxedo] Windows7下Tuxedo的simpapp跨机调用
接上文,Tuxedo作为中间件,总归是需要跨主机调用的。网上大多文档都是单机simapp的,跨机调用的基本上没怎么提,一直挺疑惑。问了下小强,发过来一个URL。《Tuxedo安装license例子和远程客户端配置》,好像不错。
主要是下面这些步骤。
服务端:
1.修改环境变量
setenv.cmd
2.编辑ubbconfig文件
ubbconfig
3.启动服务
tmboot启动服务后,可以看到3个进程,用tasklist也只能看到这三个进程,我开始还以为有个tmboot的进程呢。
可以看到一个网络监听:
1.修改环境变量
同服务端
2.修改编译远程客户端程序
为了实现远程初始化,需要在客户端程序的tpinit函数前中加入一行代码:
注意增加-w参数。
3.编译运行。
个人觉得Tuxedo配置太麻烦,TUXCONFIG文件太重要了,相比起来,Corba就简单明晰多了。
《TUXEDO配置参数详解》这个说得比较清楚。
主要是下面这些步骤。
服务端:
1.修改环境变量
setenv.cmd
rem 设置WSN地址和端口
set WSNADDR=\\192.168.222.1:8888
set WSNADDR=\\192.168.222.1:8888
2.编辑ubbconfig文件
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
IPCKEY 123456
#Example:
#IPCKEY 123456
DOMAINID
simpapp
MASTER simple
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR="D:\Study\Tuxedo\simpapp"
TUXCONFIG="D:\Study\Tuxedo\simpapp\tuxconfig"
TUXDIR="E:\Oracle\Tuxedo\tuxedo10gR3_VS2005"
#Example:
# APPDIR="/home/me/simpapp"
#
TUXCONFIG="/home/me/simpapp/tuxconfig"
#
TUXDIR="/usr/tuxedo"
"FANHUAN-THINK" LMID=simple
MAXWSCLIENTS=5 #客户端连接数
#Example:
#beatux
LMID=simple
*GROUPS
GROUP1
LMID=simple GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv
SRVGRP=GROUP1 SRVID=1
WSL SRVGRP=GROUP1 SRVID=5 CLOPT="-A -t --
-n //127.0.0.1:8888 -m 2 -M 5 -x 10" #WSL配置
*SERVICES
TOUPPER
#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
IPCKEY 123456
#Example:
#IPCKEY 123456
DOMAINID
simpapp
MASTER simple
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR="D:\Study\Tuxedo\simpapp"
TUXCONFIG="D:\Study\Tuxedo\simpapp\tuxconfig"
TUXDIR="E:\Oracle\Tuxedo\tuxedo10gR3_VS2005"
#Example:
# APPDIR="/home/me/simpapp"
#
TUXCONFIG="/home/me/simpapp/tuxconfig"
#
TUXDIR="/usr/tuxedo"
"FANHUAN-THINK" LMID=simple
MAXWSCLIENTS=5 #客户端连接数
#Example:
#beatux
LMID=simple
*GROUPS
GROUP1
LMID=simple GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv
SRVGRP=GROUP1 SRVID=1
WSL SRVGRP=GROUP1 SRVID=5 CLOPT="-A -t --
-n //127.0.0.1:8888 -m 2 -M 5 -x 10" #WSL配置
*SERVICES
TOUPPER
3.启动服务
tmboot启动服务后,可以看到3个进程,用tasklist也只能看到这三个进程,我开始还以为有个tmboot的进程呢。
D:\Study\Tuxedo\simpapp>tmadmin
tmadmin - Copyright (c)
2007-2008 Oracle.
Portions * Copyright 1986-1997 RSA Data
Security, Inc.
All Rights Reserved.
Distributed under
license by Oracle.
Tuxedo is a registered trademark.
> psr
Prog Name Queue Name Grp Name ID RqDone
Load Done Current Service
--------- ----------
-------- -- ------ --------- ---------------
BBL.exe
123456 simple 0 0 0 ( IDLE )
simpserv.exe 00001.00001 GROUP1 1 0 0 ( IDLE )
WSL.exe 00001.00005 GROUP1 5 0 0 ( IDLE )
tmadmin - Copyright (c)
2007-2008 Oracle.
Portions * Copyright 1986-1997 RSA Data
Security, Inc.
All Rights Reserved.
Distributed under
license by Oracle.
Tuxedo is a registered trademark.
> psr
Prog Name Queue Name Grp Name ID RqDone
Load Done Current Service
--------- ----------
-------- -- ------ --------- ---------------
BBL.exe
123456 simple 0 0 0 ( IDLE )
simpserv.exe 00001.00001 GROUP1 1 0 0 ( IDLE )
WSL.exe 00001.00005 GROUP1 5 0 0 ( IDLE )
可以看到一个网络监听:
D:\Study\Tuxedo\simpapp>netstat -an
活动连接
协议 本地地址 外部地址 状态
TCP 127.0.0.1:8888 0.0.0.0:0 LISTENING
客户端:
活动连接
协议 本地地址 外部地址 状态
TCP 127.0.0.1:8888 0.0.0.0:0 LISTENING
客户端:
1.修改环境变量
同服务端
2.修改编译远程客户端程序
为了实现远程初始化,需要在客户端程序的tpinit函数前中加入一行代码:
tuxputenv("WSNADDR=//192.168.222.1:8888");
buildclient -w -o wsimpcl -f simpcl.c
注意增加-w参数。
3.编译运行。
个人觉得Tuxedo配置太麻烦,TUXCONFIG文件太重要了,相比起来,Corba就简单明晰多了。
《TUXEDO配置参数详解》这个说得比较清楚。