Tuxedo小试


   这几天一直在帮一个朋友搞电信的一个项目,因为事先有比较成熟的东东,用C++做的,只是电信暴露的接口与以前的不同,电信那边通过Tuxedo(BEA的发家产品,现在BEA已被Orocle收购;我们以前根本没听说过,孤陋寡闻了。)暴露的的服务;所以认为改下接口就可以上了,但是我们都是Java出身,C++不熟,所以想用JAVA重写服务,用Jolt访问电信。

  一切都按计划进行。 下载Tuxedo8.1,安装,配置:下载License,安装Visual C++,配置环境变量;启动经典的SimpleApp服务;写Jolt连接服务,重写了些业务实现;一切都比较顺利,虽然经过了对Tuxedo的陌生、愤怒、喜悦。终于我们的Jolt服务可以连上Tuxedo暴露的服务了!
到了去电信测试的日子,什么都变了,人家根本不跟你暴露Jolt服务,晕倒。。。。

没有办法,我朋友只好找了个搞C的朋友,用C实现连接Tuexdo服务接口;拿到电信去测试,根本就连不上。电信的人说,他们没有问题;没办法,只好先从自身先找原因吧,只有证明自己没有问题,才能说是对方的问题,是吧,谁叫你是客户呢,呵呵。
用经典的Simple App 做暴露的服务,让远程客户端访问,不成功。呵呵,好像我们用C写的接口有问题啊。原来用buildclient编译C源程序需要加-w才是远程客户端的,再编译,再连接,还是不行。看文档发现Sipmle App 的ubb根本就不暴露远程服务,也就是说只有本地客户端才能访问。查资料,好不容易配置成功。一切OK。远程客户端可以访问到Tuxedo暴露的服务。看来客户端程序是没有问题了。问题应该是:电信没有成功暴露远程服务。

闲话少说,现在把安装配置Tuxedo和配置启动Tuxedo的经典服务Simple App的步骤写出,和大家共享,以免有些朋友少走弯路。以下都是在Windows环境下:
一, 安装配置Tuxedo8.1
1. 下载Tuexdo8.1,默认安装即可,注意最好在盘符的根目录下直接建一个安装目录,目录名字间不要有空格;否则设置环境变量时会有麻烦;
2. 下载对应版本的License,解压后把名字改为LIC.txt,然后拷贝到%tuxedo home%/uxedo8.1/udataobj目录下即可;
3. 配置环境变量:
TUXDIR=Tuexdo的安装路径
LIB=% TUXDIR %\LIB
INCLUDE=% TUXDIR %\INCLUCE
PATH=%PATH%;% TUXDIR %\BIN
4. 如果没有安装C编译器,可以安装Visual C++;然后设置环境变量
INCLUDE=%INCLUDE%;%VisualC++Home%\VC98\ATL\Include
LIB =%LIB%\%VisualC++Home%\VC98\MFC\Lib
二, 启动simpapp服务
1. 从“Tuxedo Home \samples\atmi 目录下将整个simpapp文件夹拷贝到,合适位置,例如D:\tuxedo\目录下;
2. 配置环境变量
APPDIR=D:\tuxedo\simpapp  应用所在路径
WSNADDR=//127.0.0.1:8888  让本机既做为服务器又作为客户机,如果只作服务器,则不必设置;
TUXCONFIG= D:\tuxedo\simpapp \tuxconfig  服务配置文件,有命令生成,现在先指定好;
3. 编辑ubbsimple文件,这是很重要的,这是我最后编辑好的,供大家参考:
# (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 150
MAXSERVERS 100
MAXSERVICES 200
MODEL SHM
#LDBAL N

*MACHINES
DEFAULT:
APPDIR="D:/tuxedo/simpapp"
TUXCONFIG="D:/tuxedo/simpapp/tuxconfig"
TUXDIR="D:/tuexedo/tuxedo8.1"
### MAXWSCLIENTS表示允许同时访问的最多客户机数目,如果不设置则默认为0,
##此时客户端将无法访问服务
MAXWSCLIENTS=5
###注意SIMPLE是你计算机的名字,即使的计算机名是小写,在这里也要全部变成大#写的,否则客户端无法访问服务;前一个SIMPLE是Master机,因为Tuxedo服务可##以部署到多台机器上,Master就是主控机,LIMID表示服务所在的机器;我的机器##既是Master,又是当前服务所部署的地方,所以都是SIMPLE;
SIMPLE LMID=SIMPLE


*GROUPS
GROUP1
LMID=SIMPLE GRPNO=1 OPENINFO=NONE

*SERVERS
DEFAULT:
CLOPT="-A"

simpserv SRVGRP=GROUP1 SRVID=1
#暴露的服务
WSL         SRVGRP=GROUP1 SRVID=1116  CLOPT="-A -- -n //192.168.1.100:8888 -m 2 -M 5 -x 6"


*SERVICES
##服务名字
TOUPPER

4. 运行CMD,到simpapp目录下,运行tmloadcf ubbsimple 命令,就会在目录下生成tuxconfig文件;
5. 运行buildclient –w -o simpcl -f simpcl.c  和buildserver -o simpserv -f simpserv.c -s TOUPPER  分别生成客户端和服务器端程序;
6. 启动服务:
tmboot –y  启动Tuxedo服务;


     
7. 测试服务
运行客户端程序,直接将simpcl.exe拖到CMD中,然后输入参数 test,服务则返回TEST




8. 关闭服务,调用tmshutdown





至此,配置和启动Tuxedo自带的Simpl  App介绍完毕了。

你可能感兴趣的:(C++,c,应用服务器,C#,电信)