`
ralphr
  • 浏览: 140610 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Tuxedo安装,license,例子和远程客户端配置

阅读更多

Tuxedo安装license例子和远程客户端配置

摘要:本文总结了Tuxedo的安装、license、例子运行和远程客户端配置四个主要问题,给出了一篇真正可用的Tuxedo入门教程。http://yelinqing.iteye.com/blog/587575

Tuxedo是一个很好的交易中间件,包含消息中间件等功能,历史悠久,功能强大,是由BEA开发的,不过现在属于Oracle了。网上的Tuxedo入门教程千千万万,几乎没有一个可用的。尤其是在licsence和远程客户端配置这两个问题上,都没有交代清楚。很符合中国的IT教程特色:“懂得人看得懂,但是并没有更懂;不懂的人更加不懂了!”。

本文集中讨论了四个问题:

l         Tuxedo的安装;

l         SDKRTCLicense

l         Simpapp例子

l         远程客户端配置

好了,开始吧,我的开发环境如下,如果开发环境不同,也许本教程不适合你:

l         Tuxedo8.1

l         VC6

l         服务器:windows XP

l         客户端:Windows XPVMWARE上)

本文的源代码在这里,你也许要根据下面的教程修改后才能成功运行:

http://download.csdn.net/source/1107802

1.      Tuxedo8.1安装

Tuxedo8.1下载地址如下:

Microsoft Windows (32 bit) http://ftpmain.bea.com/download/pub/tuxedo...uxedo81_win.exe

下载完成后直接双击就可以安装了,可以选择安装服务器或者客户端。安装的时候需要选择beahome目录和Tuxedo的目录,都可以采用默认配置。服务端还需要指定tlisten密码。其他都暂时不需要配置,包括license都可以留到后面配置。

2.      License

Tuxedolicense分为SDKRTC两种,SDK即开发版,RTC即发布版。我刚开始就是得到了一个RTC,兴高采烈的run例子的时候编译不过,告诉我“你没有一个合法的SDK license”。其实bea已经公布了所有的license,直接去官方网站下载就可以了,不要到处找所谓的无限制xx licenseTuxedo8.1SDK license地址如下:

http://licensecodes.oracle.com/downloads/LIC-TUX81-SDK-56B.zip

下载后解压,将文件名改为lic.txt,然后拷贝到TUXEDO_HOME\udataobj目录下面就可以了。我的TUXEDO_HOMEC:\bea\tuxedo8.1

拷贝完成后license马上生效。

3.      Simpapp例子

SimpappTuxedo自带的一个简单例子,只有服务器版本带有例子程序。我的例子在C:\bea\tuxedo8.1\samples\atmi\simpapp。将该例子拷贝到另外一个目录,例如:C:\tuxedo_test\simpapp

例子中有如下几个文件:

l         READMEREADME.NT,是说明文件,但是我认为说得不详细,起码license和远程客户端配置就没说清楚;

l         setenv.cmd,设置环境变量的批处理文件;

l         ubbsimpleTuxedo的应用程序配置文件,它会被编译为二进制的配置文件,所有服务端程序都需要该配置文件;

l         simpapp.ntmakefile文件,用来编译服务器和客户端程序;

l         simpcl.c,客户端源程序;

l         simpserv.c,服务端源程序;

要编译运行Simpapp例子,需要六个步骤:1)设置环境变量;2)修改编译配置文件;3)编译源程序;4)启动服务;5)运行客户端;6)关闭服务。

注意:这是本地客户端的步骤,若是远程客户端,还有一些变动。

设置环境变量

首先,把本文的系统相关变量列举如下,大家要根据自己的情况在下面的各种配置文件中更改:

Tuxedo目录:C:\bea\tuxedo8.1

Tuxedo应用程序目录:C:\tuxedo_test\simpapp

服务器IP192.168.222.1

客户端IP192.168.222.2

修改setenv.bat文件:其解释已经在源代码中

rem 设置TUXEDO目录

set TUXDIR=C:\bea\tuxedo8.1

rem 设置TUXEDO应用程序目录

set APPDIR=C:\tuxedo_test\simpapp

rem 设置系统path

set PATH=%TUXDIR%\bin;%APPDIR%;%PATH%

rem 设置TUXEDO应用程序配置文件

set TUXCONFIG=%APPDIR%\tuxconfig

然后打开一个windows控制台,将目录变更为tuxedo应用程序所在目录,即C:\tuxedo_test\simpapp,运行setenv.bat

C:\tuxedo_test\simpapp>setenv

修改编译配置文件

在修改配置文件前,先得到自己的计算机名称,运行:

C:\tuxedo_test\simpapp>echo %computername%

就可以得到自己的计算机名称,一般都是大写的。

Ubbsimple是本程序(即simpapp)的配置文件,将其修改为:

*RESOURCES

IPCKEY     123496  #这个数字可以自己定

 

DOMAINID   simpapp

MASTER     simple

MAXACCESSERS  10

MAXSERVERS 5

MAXSERVICES   10

MODEL   SHM

LDBAL   N

 

*MACHINES

DEFAULT:

     APPDIR="C:\tuxedo_test\simpapp"

     TUXCONFIG="C:\tuxedo_test\simpapp\tuxconfig"

     TUXDIR="C:\bea\tuxedo8.1"

 

"WXB" LMID=simple    #注意,把”WXB”改成自己的计算机名称

 

*GROUPS

GROUP1

  LMID=simple GRPNO=1 OPENINFO=NONE

 

*SERVERS

DEFAULT:

     CLOPT="-A"

 

simpserv   SRVGRP=GROUP1 SRVID=1

 

*SERVICES

TOUPPER

配置文件是Tuxedo中最繁琐的部分,稍有不对服务就无法发布和执行,所以一定要仔细检查。目前不需要太多了解,按我写的做就可以了。注意,配置文件和源程序的编译链接无关,只和服务发布相关,客户端也不需要配置文件。

修改完配置文件后,就需要将其编译为二进制的配置文件,其名称和目录由系统变量TUXCONFIG决定,该变量已经在setenv.bat中设置了,此处是C:\tuxedo_test\simpapp\\tuxconfig,这个tuxconfig就是服务用来发布时的二进制配置文件。

编译配置文件:

C:\tuxedo_test\simpapp>tmloadcf -y ubbsimple

若成功完成,则会生成tuxconfig

编译源程序

使用makefile的方式编译源程序,这里我使用的是vc6自带的nmake命令,要确保你的vc相关目录已经正确在windowspath变量中设置。Makefile文件已经写好,不需要更改,即simpapp.nt。执行命令如下:

C:\tuxedo_test\simpapp>nmake -f simpapp.nt

当然,如果你不熟悉makefile,那么可以使用如下两个命令别分编译客户端和服务端,其实这两条命令是我从simpapp.nt中抄出来的:

buildclient       -o simpcl -f simpcl.c

buildserver -s TOUPPER -o simpserv -f simpserv.c

若成功,则可发现在目录下出现了simpcl.exesimpserv.exe文件。

启动服务

启动服务非常easy,如果你前面都做对了的话:

C:\tuxedo_test\simpapp>tmboot -y

启动成功后会告诉你,两个进程已经成功启动。

运行客户端

如下命令:

C:\tuxedo_test\simpapp>simpcl "hello,wenwen"

Returned string is: HELLO,WENWEN

客户端会将一个字符串传送给服务器,服务器返回该字符串的大写形式。为什么是“hello,wenwen”而不是“hello,tuxedo”呢?嗯,因为写到这儿的时候刚好雯雯到我身边来了。

关闭服务

关闭服务很容易,而且不会失败:

C:\tuxedo_test\simpapp>tmshutdown –y

4.      远程客户端配置

好了,重点终于来了。毕竟对于大部分人来说,用中间件就是为了使用远程客户端,本地客户端只是玩玩而已嘛。远程客户端需要服务器端修改一些配置,远程客户端也要进行一些配置。

服务器端

要编译运行Simpapp例子,使其能够为本地客户端提供服务,需要六个步骤:1)设置环境变量;2)修改编译配置文件;3)编译源程序;4)启动服务;5)运行客户端;6)关闭服务。

要编译运行Simpapp例子,使其能够为远程客户端提供服务,需要六个步骤:1)设置环境变量;2)修改编译配置文件;3)编译远程客户端源程序;4)启动服务;5)运行远程客户端;6)关闭服务。

为了不让读者出错,我还是用最详细的方式把这些步骤都完成写一遍,当然,与上面不同的部分会用红色标注出来。

1)设置环境变量

再次修改seten.bat文件:

rem 设置TUXEDO目录

set TUXDIR=C:\bea\tuxedo8.1

rem 设置WSN地址和端口

set WSNADDR=\\192.168.222.1:8888

rem 设置TUXEDO应用程序目录

set APPDIR=C:\tuxedo_test\simpapp

rem 设置系统path

set PATH=%TUXDIR%\bin;%APPDIR%;%PATH%

rem 设置TUXEDO应用程序配置文件

set TUXCONFIG=%APPDIR%\tuxconfig

注意,其中加入了WSN地址和端口的配置,地址就是本服务器IP地址,端口可以随意指定,只要不冲突就好。

运行setenv

C:\tuxedo_test\simpapp>setenv

2)修改编译配置文件

再次修改ubbsimple

*RESOURCES

IPCKEY     123496        #这个数字可以自己定

 

DOMAINID   simpapp

MASTER     simple

MAXACCESSERS  10

MAXSERVERS 5

MAXSERVICES   10

MODEL   SHM

LDBAL   N

 

*MACHINES

DEFAULT:

     APPDIR="C:\tuxedo_test\simpapp"

     TUXCONFIG="C:\tuxedo_test\simpapp\tuxconfig"

     TUXDIR="C:\bea\tuxedo8.1"

 

"WXB" LMID=simple         #注意,把"WXB"改成自己的计算机名称

MAXWSCLIENTS=5    #指定的最大客户端连接数

 

*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 //192.168.222.1:8888  -m 2 -M 5 -x 10"   #WSL发布地址

 

*SERVICES

TOUPPER

仅仅增加了两行代码,即最大客户端连接数和WSL的发布地址。其具体意义可以看书,这个倒是很多书都说清楚了。

编译配置文件:

C:\tuxedo_test\simpapp>tmloadcf -y ubbsimple

3)编译远程客户端源程序

上面已经编译了服务端和本地客户端程序,远程客户端程序的编译下节再说。

4)启动服务

同上。不过这次会启动三个进程,其中一个是WSLLook

 

分享到:
评论
1 楼 sapphiredina 2010-11-12  
"Tuxedo是一个很好的交易中间件,包含消息中间件等功能,历史悠久,功能强大,是由BEA开发的,不过现在属于Oracle了"

Tuxedo不是BEA开发的,是BEA收购的来的产品,Tuxedo最早是AT&T研发出来的,随后卖给了Novell,然后BEA又从Novell买走了Tuxedo,最后...

相关推荐

Global site tag (gtag.js) - Google Analytics