Tuxedo是一个很好的交易中间件,包含消息中间件等功能,历史悠久,功能强大,是由BEA开发的,不过现在属于Oracle了。网上的Tuxedo入门教程千千万万,几乎没有一个可用的。尤其是在licsence和远程客户端配置这两个问题上,都没有交代清楚。很符合中国的IT教程特色:“懂得人看得懂,但是并没有更懂;不懂的人更加不懂了!”。
本文集中讨论了四个问题:
l Tuxedo的安装;
l SDK和RTC的License;
l Simpapp例子
l 远程客户端配置
好了,开始吧,我的开发环境如下,如果开发环境不同,也许本教程不适合你:
l Tuxedo8.1
l VC6
l 服务器:windows XP
l 客户端:Windows XP(VMWARE上)
本文的源代码在这里,你也许要根据下面的教程修改后才能成功运行:
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
下载完成后直接双击就可以安装了,可以选择安装服务器或者客户端。安装的时候需要选择bea的home目录和Tuxedo的目录,都可以采用默认配置。服务端还需要指定tlisten密码。其他都暂时不需要配置,包括license都可以留到后面配置。
2. License Tuxedo的license分为SDK和RTC两种,SDK即开发版,RTC即发布版。我刚开始就是得到了一个RTC,兴高采烈的run例子的时候编译不过,告诉我“你没有一个合法的SDK license”。其实bea已经公布了所有的license,直接去官方网站下载就可以了,不要到处找所谓的无限制xx license,Tuxedo8.1的SDK license地址如下:
http://licensecodes.oracle.com/downloads/LIC-TUX81-SDK-56B.zip
下载后解压,将文件名改为lic.txt,然后拷贝到TUXEDO_HOME\udataobj目录下面就可以了。我的TUXEDO_HOME是C:\bea\tuxedo8.1。
拷贝完成后license马上生效。
3. Simpapp例子 Simpapp是Tuxedo自带的一个简单例子,只有服务器版本带有例子程序。我的例子在C:\bea\tuxedo8.1\samples\atmi\simpapp。将该例子拷贝到另外一个目录,例如:C:\tuxedo_test\simpapp。
例子中有如下几个文件:
l README和README.NT,是说明文件,但是我认为说得不详细,起码license和远程客户端配置就没说清楚;
l setenv.cmd,设置环境变量的批处理文件;
l ubbsimple,Tuxedo的应用程序配置文件,它会被编译为二进制的配置文件,所有服务端程序都需要该配置文件;
l simpapp.nt,makefile文件,用来编译服务器和客户端程序;
l simpcl.c,客户端源程序;
l simpserv.c,服务端源程序;
要编译运行Simpapp例子,需要六个步骤:1)设置环境变量;2)修改编译配置文件;3)编译源程序;4)启动服务;5)运行客户端;6)关闭服务。
注意:这是本地客户端的步骤,若是远程客户端,还有一些变动。
设置环境变量 首先,把本文的系统相关变量列举如下,大家要根据自己的情况在下面的各种配置文件中更改:
Tuxedo目录:C:\bea\tuxedo8.1
Tuxedo应用程序目录:C:\tuxedo_test\simpapp
服务器IP:192.168.222.1
客户端IP:192.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相关目录已经正确在windows的path变量中设置。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.exe和simpserv.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)启动服务
同上。不过这次会启动三个进程,其中一个是WSL。Look:
C:\tuxedo_test\simpapp>tmboot -y
Booting all admin and server processes in C:\tuxedo_test\simpapp\tuxconfig
INFO: BEA Tuxedo, Version 8.1
INFO: Serial #: 454493271161-2671077484631, Expiration NONE, Maxusers 1000000
INFO: Licensed to: Customer
Booting admin processes ...
exec BBL -A :
process id=2556 ... Started.
Booting server processes ...
exec simpserv -A :
process id=3564 ... Started.
exec WSL -A -t -- -n //192.168.222.1:8888 -m 2 -M 5 -x 10 :
process id=760 ... Started.
3 processes started.
(6)运行远程客户端
下面详细交代。
(7)关闭服务
同上。
远程客户端 运行远程客户端需要三个步骤:1)设置环境;2)修改编译远程客户端程序;3)运行。
首先,将如下文件拷贝到远程客户端计算机:
l Setenv.bat
l Simplecl.c
l Simpapp.nt
(1)设置环境
根据远程客户端的系统相关配置修改setenv.bat,注意WSNADDR要和服务器的一致:
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%
然后执行setenv:
C:\tuxedo_test\simpapp>setenv
(2)修改编译远程客户端程序
为了实现远程初始化,需要在客户端程序的tpinit函数前中加入一行代码:
tuxputenv("WSNADDR=//192.168.222.1:8888");
当然,为了使得程序可移植性更强,可以从系统变量中读取这个字符串。
然后,用makefile生成远程客户端程序:
C:\tuxedo_test\simpapp>nmake -f simpapp.nt wsimpcl.exe
不懂nmake的可以执行如下命令:
buildclient -w -o wsimpcl -f simpcl.c
成功后得到远程客户端执行程序wsimpcl.exe。
(3)运行
C:\tuxedo_test\simpapp>wsimpcl "hello,remote wenwen"
Returned string is: HELLO,REMOTE WENWEN
为什么是”hello,remote wenwen”呢?因为此时雯雯已经和妈妈在卧室睡着了。
5. 总结 但愿此文能够使大家熟悉Tuxedo的时间缩短一点,不要像我一样用了两天时间到处找资料。其中,SDK和RTC license的问题就花了我一个下午;配置远程客户端花了我一天的时间。其实有好的资料的话,所有的安装配置运行估计一个上午就全部搞定了。
愿中国和所有懂中文的Tuxedo初学者省下一天半的时间陪老婆孩子吧!我花了周末的半天时间来写这篇文档,我真的是个好人!
|
相关推荐
本文总结了Tuxedo的安装、license、例子运行和远程客户端配置四个主要问题,给出了一篇真正可用的Tuxedo入门教程。这个是该文章的例子,文章地址在:http://blog.csdn.net/wxb_nudt
Tuxedo配置参数详解及远程客户端配置 Tuxedo是一种应用系统,通过配置参数来控制系统的行为。在Tuxedo系统中,所有资源都在一个文本文件中定义,该文件称为UBBCONFIG。在配置完成后,UBBCONFIG被编译成一个二进制的...
在本文中,我们将讨论Tuxedo在Windows环境下的本地和远程客户端安装与配置。具体来说,我们将关注以下几个知识点: 1. **Tuxedo的安装**: - 安装文件:`tuxedo11gR1_32_win_2k8_x86_VS2008.exe` - 安装路径:`D:...
然而,为了实现远程访问,远程客户端所在机器需安装TUXEDO的客户端软件并设置相应的环境变量。编译远程客户端程序时,还需使用特定的编译选项`-W`,而本地客户端则无此需求。 #### 四、远程客户端连接流程 远程...
tuxedo license (9.0/9.1/10.0)
《TUXEDO安装配置规范》是一份详细指导如何在特定环境下正确安装和配置Bea Tuxedo 8.1的文档。TUXEDO,全称Transaction Processing Facility for UNIX,是一款由BEA Systems(现已被Oracle收购)开发的企业级分布式...
10. **后续配置**:安装完成后,还需要进行服务端配置,包括定义服务、设置通信端口、配置日志记录、初始化数据库连接等,这通常涉及到修改`tuxedo`的配置文件和启动脚本。 总之,安装和配置Tuxedo是一个涉及多步骤...
在Tuxedo客户端(IP:192.168.1.61)上只需安装Tuxedo客户端,Tuxedo服务器(IP:192.168.1.66)则需安装Tuxedo Server及Oracle Client 11gR2,而Oracle数据库服务器(IP:192.168.1.81)仅安装Oracle 11gR2。...
理解并熟练掌握Tuxedo的安装与配置是部署和维护高效、稳定的企业级应用的基础。在实际操作中,还需要根据具体的应用场景和需求进行适当的调整。同时,Tuxedo的高级特性,如事务管理、并发控制、安全性等,也需要深入...
6. **启动和配置TUXEDO**:安装完成后,配置TUXEDO的服务器和客户端设置,包括服务端口、日志文件位置等。 7. **运行示例**:通过调试和运行 simpapp,确保TUXEDO安装成功,并理解其基本操作流程。 8. **故障排查*...
《TUXEDO安装手册》是一份详细的指南,旨在帮助用户成功地在不同的操作系统上安装和配置BEA TUXEDO。TUXEDO是一款强大的分布式应用服务器,它支持高可用性和高性能的企业级应用程序。本手册面向的是计划或正在安装...
Linux系统Tuxedo安装指导借鉴 Tuxedo是一种企业级的 middleware 产品,用于构建高性能、可扩展的分布式应用系统。下面是 Linux 系统下 Tuxedo 安装指导借鉴的知识点总结: 一、安装准备 * 在 Linux 环境中新建一...
综上所述,Tuxedo的安装主要包括确认安装介质、创建用户和用户组、静默安装、配置环境变量、License配置以及版本检查等步骤。每一步都需要仔细操作以确保安装成功。此外,还需要注意安全问题,比如保护好包含敏感...
总之,BEA TUXEDO 在 LINUX6.2 上的安装和配置是一个涉及多步骤的过程,需要精确地设置环境变量,正确执行安装脚本,并对服务端进行详尽的配置。只有这样,才能确保 TUXEDO 能够在 Linux 系统中稳定高效地运行,为...
挂载完成后,将安装文件`tuxedo82.bin`复制到`/home/tuxedo`目录,并修改文件的所有者和组为`tuxedo`用户和`db2grp1`组。 安装Tuxedo时,切换到`tuxedo`用户并执行安装脚本`tuxedo82.bin`,按照提示进行交互式安装...
以下是对标题“Tuxedo 8.1 License”和描述“Tuxedo 8.1 SDK license”的详细解析。 ### Tuxedo 8.1 SDK License 的基本结构 在软件行业中,许可证是非常重要的组成部分,它定义了用户如何能够合法地使用软件产品...
- **客户端软件安装**:远程客户端需要安装TUXEDO客户端软件并配置环境变量,而本地客户端则不需要。 4. **远程客户端配置要点**: - 在`MACHINES`文件中配置`MAXWSCLIENTS`,设定最大并发远程客户端数量。 - ...
通过以上步骤,您应该能够成功安装并配置Tuxedo。在整个过程中,务必留意每个步骤的提示,确保每个环节都正确无误,以确保Tuxedo能顺利集成到您的系统中。对于Java开发者来说,学习和掌握Tuxedo将有助于提升在分布式...