Tuxedo

Tuxedo
Tuxedo

Tuxedo配置维护手册

Tuxedo作为系统的中间件,其配置主要包括:资源文件的配置和应用环境的配置;其管理和维护主要包括:系统的启动和关闭、日志的跟踪查看工作。

Tuxedo应用系统的配置

一、应用系统的资源配置,全都包含在两个资源配置文件中(ubbco nfig 和dmco nfig ),在这两个配置文件中包含了系统所有的应用资源(文件)。

1、对于ubbco nfig 文件,可以任意使用一个文件名(如:ubb.txt ),使用一种文本编辑工具,将应用系统的资源分类进行配置,相关进程启动数量等等都应该配置在其中,然后设置环境变量TUXCONFIG ,使用系统命令:tmloadcf来将文本文件ubb.txt ,转化生成环境变量TUXCONFIG 制定的二进制文件。在该文件中主要包含了几个参数的设置:系统所使用的共享内存的键值IP CKEY,针对workstation 客户端的监听进程的端口(WSL ),多台机器之间互连(登记中心与各网关)的网络地址和端口(NADDR , NLSADDR ),数据依赖路由的设定等等。

详细的内容参看《Ubbconfig 配置.doc》参看模版来实现移植或添加应用进程等等。

2、对于dmco nfig文件,可以任意使用一个文件名(如:dm.txt ),使用一种文本编辑工具,将应用系统的多域互联及互相调用的关系进行配置,包括多域之间互联的地址和端口,然后使用系统命令:dmloadcf来将文本文件dm.txt,转化成环境变量BDMCONFIG 所指定的二进制文件。在该文件中主要包含了在多个域互连时用到的一些设置,主要包括:各个域的定义,各个域通讯连接的地址和端口(NWADDR ),本地服务(DM_LOCAL_SERVICES )和远端服务(DM_REMOTE_S ERVICES)以及数据依赖路由等等。

详细的内容参看《dmconfig 配置.doc》参看模版来实现移植或添加应用远端或本地服务等等。

3、客户端代码:是指使用编译工具buildclie nt 编译生成的执行代码。在编译过程中,当使用编译参数:-w时,将连接库wsc等,生成的执行代码将调用远端的服务,即通过环境变量:WSNADDR 来查找相应的WSL的地址和端口;当编译没有使用参数:—时,生成的执行代码将调用本机的服务,通过环境变量:TUX CONFIG来实现调用相应的服务,如果要调用异域(如:代理集中点到登记中心)的服务,就需要在dmconfig文件中配置和公布服务。

4、服务进程:是指使用编译工具buildserver 编译生成的执行代码,不要出现ma in ()函数,启动和关闭要使用Tuxedo的工具:tmboot和tmshutdown

二、应用系统的环境配置,即系统运行时的环境变量的设置一般的这些环境变量都放在用户注册是的.p rofile文件中,也可以根据应用放置在专门的文件中,如:sete nv等等,环境的设置主要包括:TUXDIR :其值为TUXEDO 的安装目录。

例如:TUXDIR=/home/tuxedo 或TUXDIR=/home/bea

TUXCONFIG :其值为含有绝对路径二进制的资源配置文件的文件名,系统启动、监控、关闭等等都要用到此环境变量,当客户端的代码要调用应用系统的本机服务时也需要使用此变量。

例如:TUXCONFIG=/home/work/etc/tuxconfig

BDMCONFIG :其值为含有绝对路径二进制的多域配置文件的文件名,在使用多域间互联时要用到此环境变量。

例如:BDMCONFIG=/home/work/etc/dmcomfig

PRINTERDIR :传输文件的放置目录,主要是针对文件传输来使用的。

例如:PRINTERDIR=/home/work/print

FTP_BLOCK_SIZ :针对文件传输的,每次传输的快的大小,如果没有设置,则系统默认为1024。

例如:FTP_BLOCK_SIZE=10240 ; export FTP_BLOCK_SIZE

WSNADDR :客户端(workstation )设定的,指向服务器端WSL监听的地址和端口,当客户端的代码要调用系统的远端服务时需要此环境变量。

单机系统的启动(如:代理集中点的起动) 首先设置环境变量,然后使用命令tmboot

-A 在机器上启动核心的进程(BBL )。

-g grpname 启动 某一组 grpname 中 的全部 进程。

-s server 启 动某一个进程 server 。

二、系统的关闭:

1、多机系统的关闭(如:登记中心的关闭)

应该在主管理机上,使用命令tmshutdown

tmshutdow n 命令可以选择使用多个参数:

grpname 关闭 某一组grpname 中 的全部进程。

单机系统的关闭(如:代理集中点的关闭) 使用命令tmshutdown

-y 关闭机器上的全部进程。

-g grpname 关闭 某一组 grpname 中 的全部 进程。

-s server 关 闭某一个进程 server 。

三、系统的日志跟踪:

1、使用管理工具tmadmin

运行tmadmin 进入管理维护界面

2、查看系统日志ULOG.mmddyy

例如:WSNADDR=//192.168.42.210:7001

Tuxedo 的管理和维护

、系统的启动:

1、多机系统的启动(如:登记中心的启动) 首先设置环境变量,在各台机器上启动tiiste n 进程,一般设置在sete nv 中,然后在主管理机上,使用命令tmboot 启动应用系统 tmboot 命令可以选择使用多个参数: -A 在各台机器上启 动核心的进程(DBBL,BBL )。 -I imid 启动某一台机器imid 上的全部进程,机器名:Imid 是在文件ubb.txt 中配置的逻辑名。 -g grpname 启动 某一组 grpname 中 的全部 进程。

-s server 启 动某一个进程 server 。

-y 关闭各台机器上的全部进程。

-l lmid 关闭某一台机器lmid 上的全部进程。

-s server 关 闭某一个进程 server 。

-g

在系统设定的目录下查看日志文件:ULOG.mmddyy 和应用系统自己的日志。

代理集中点的安装和配置

、软件打包

将目前的代理集中点上的配置文件目录~/etc 和简单测试目录~/apps 打成 运行后就不再有什么作用了。

二、系统安装和配置

1、修改资源管理配置文件:ubb.txt

可以使用任意的文本编辑工具,如Vi 等等编辑工具,以下同。

修改其 中的:IPCKEY , TUXDIR , APPDIR , TUXCONFIG , ENVFILE , ULOGFPX 和主机名(通过 uname -n 看到的)

SL 的参数:CLO PT=“ -A -- -n 地址:端口 …”,使之与实际的环境一致,例如:CLO PT= “ -A -- -n 192.168.42.220:7410 2、修改域管理配置文

件:dm.txt

要注意在系统中的dm.txt 中的DOMAINID 要保持一致,即在不同的文件重要有

统一的命名。

3、修改环境变量设置文件:sete nv ,将如下环境变量的值进行修改,使之与

实际的配置想符合,以下是参考。

例如:

TUXDIR=/home/tuxedo; export TUXDIR

P ATH=$TUXDIR/bi n:$ PATH:$HOME/ru ntime:.; export P ATH

SHLIB_ PATH=$TUXDIR/lib:/usr/lib:/lib;ex port SHLIB_ PATH LIB PATH=$TUXDIR/lib:$LIB PATH; exp ort LIB PATH ( for AIX ) LD_LIBRARY_

PATH=/usr/tuxedo/lib: /usr/i nformix/lib/esql NLS PATH=$TUXDIR/locale;ex port NLS PATH

LANG=C;ex port LANG

TUXCONFIG=/home/ebistest/c on fig/tuxco nfig;ex port TUXCONFIG

BDMCONFIG=/home/ebistest/co nfig/bdmco nfig;ex port BDMCONFIG

FIELDTBLS32=ft pflds;ex port FIELDTBLS32

FLDTBLDIR32=$TUXDIR/a pi105;ex port FLDTBLDIR32

针对文件传输的,如果文件较大,可以将环境变量FTP_BLOCK_SIZE 的值设置的大一点,如果没有设置该环境变量,

FTP _BLOCK_SIZE=10240 ; exp ort FTP _BLOCK_SIZE

4、系统启动

首先设置环境变量,可以放在.p rofile 中,也可以执行文件../sete nv ,并创建日志存放目录~/log 。

然后执行tmboot 即可 三、故障排除 修改:NWADDR 的地址:端口,例如: NWADDR="〃192.168.42.231:7310"

在SCO 、HP 、IBM 系统上的函数库环境设置有个不相同的环境变量(如:SHLIB_ PATH 、LIB PATH )

, 需要注意。 个包。在目录~/apps 下的内容多适用于测试环境配置结束后是否正常,在系统正常启动

等 的值,使之与实际环境相一致。修改W O (for HPUX )

(for SCO )

则系统默认为1024 。例如:

查看系统日志ULOG.mmddyy 在系统设定的目录下查看日志文件:ULOG.mmddyy 和应用系统自己的日志。

登记中心的安装和配置

、软件打包 将目前的登记中心及其网关机上的配置文件目录Tetc 和简单测试目录Tapps ,及网关机上的~/cjhb 打成一个包。在目录~/cjhb 下的内容是用于完成成交回报交易 的。

二、系统安装和配置

1、修改资源管理配置文件:ubb.txt

可以使用任意的文本编辑工具,如Vi 等等编辑工具,以下同。

修改其中的:IP CKEY , TUXDIR , APP DIR , TUXCONFIG , ENVFILE , ULOGFPX 和主机名(通过un ame -n 看到的)等的值,使 之与实际环境相一致。修改 W

SL 的参数:CLO PT=“ -A -- -n 地址:端口 …”,使之与实际的环境一致,例如:CLO PT= “ -A -- -n 192.168.42.220:7410

2、修改域管理配置文件:dm.txt ,此文件可以放在登记中心机器上,也可以放在网关机器上的响应目录下。 要注意在系统中的dm.txt 中的DOMAINID 要保持一致,即在不同的文件重要有统一的命名。

3、修改环境变量设置文件:sete nv ,将如下环境变量的值进行修改,使之与实际的配置想符合。

例如:

TUXDIR=/home/tuxedo; export TUXDIR

P ATH=$TUXDIR/bi n:$ PATH:$HOME/ru ntime:.; export P ATH SHLIB_ PATH=$TUXDIR/lib:/usr/lib:/lib;ex port SHLIB_ PATH

LIB PATH=$TUXDIR/lib:$LIB PATH; exp ort LIB PATH ( for AIX ) LD_LIBRARY_

PATH=/usr/tuxedo/lib: /usr/i nformix/lib/esql

NLS PATH=$TUXDIR/locale;ex port NLS PATH

LANG=C;ex port LANG

TUXCONFIG=/home/ebistest/c on fig/tuxco nfig;ex port TUXCONFIG BDMCONFIG=/home/ebistest/co nfig/bdmco nfig;ex port BDMCONFIG FIELDTBLS32=ft pflds;ex port FIELDTBLS32

FLDTBLDIR32=$TUXDIR/a pi105;ex port FLDTBLDIR32 针对文件传输的,如果文件较大,可以将环境变量FTP_BLOCK_SIZE 的值设置的大一点,如果没有设置该环境变量,则系统默认为1024。例如:

FTP _BL0CK_SIZE=10240 ; exp ort FTP _BLOCK_SIZE

4、修改在网关机上的环境设置文件envfile 和setenv ,将如下的环境变量进行修改,使之与实际的配置想符合。

除了上面列出的还有如下几个变量:

修改:NWADDR 的地址:端口,例如:

NWADDR="〃192.168.42.231:7310"

(for HPUX )

(for SCO )

MCHSNDFILE=/t mp/beta/matchse nd.txt;ex port MCHSNDFILE

FSNDLOG=/tm p/beta/Fs nd.log;ex port FSNDLOG

P RINTERDIR=/t mp/beta; export P RINTERDIR

主要是用于成交回报交易的。

5、系统启动

首先设置环境变量,可以放在.p rofile 中,也可以执行命令../sete nv

然后再登记中心机器上(MASTER )执行tmboot 即可,可以选择分步来启动应用系统,使用:tmboot -A 和tmboot -来逐个启动系统。

网点的安装和配置 一、软件打包

1、网点的中间件软件(tuxedo ),只是需要一些客户端的库函数等等,在选择workstation 模式安装后,将tuxedo 的所有文件达成一个包即可。

2、需要在网点编译时,要注意配置环境变量,参看下面的系统配置。

二、系统的配置

1、配置环境变量

修改环境变量设置文件(tux.e nv 或sete nv ),将如下环境变量的值进行修改,使之与实际的配置想符合。

例如:

TUXDIR=/home/tuxedo; export TUXDIR

P ATH=$TUXDIR/bi n:$ PATH:$HOME/ru ntime:.; export P ATH

SHLIB_ PATH=$TUXDIR/lib:/usr/lib:/lib;ex port SHLIB_ PATH LIB PATH=$TUXDIR/lib:$LIB PATH; exp ort LIB PATH ( for AIX )

LD_LIBRARY_ PATH=/usr/tuxedo/lib: /usr/i nformix/lib/esql

NLS PATH=$TUXDIR/locale;ex port NLS PATH

LANG=C;ex port LANG 2、配置与代理集中点相连接的环境变量

各个网点的应用代码都是通过工作站(workstation )方式与代理集中点连结的。因此要配置连结代理集中点的tcp/ip 地址和端口。

例如:

WSNADDR=//192.168.42.220:7520; export WSNADDR

也可以主机名加端口,例如:

WSNADDR=//h p01:7520; export WSNADDR

常见的问题及解决方法 以下常见的都是在使用中间过程中遇到的问题:

一、与数据库的连接问题 在测试中看到,应用代码都是自己去联的数据库,为了保证效率,都是在进程启动的时候预先建立起连接,这样保证了交易进行时的效率;但当数据库出现宕机 时,连接也将随之丢失了,这时的应用程序就不能再访问数据库了,在目前的应用中都没有对访问数据库的返回码进行判断,如果是连接失败的可以选择重新连 接数据库,而不是退出交易,这样交易又可以正常运行了。 (for HPUX )

(for SCO )

目前,这样的情况出现后,就需要将应用系统重新启动,使应用程序同数据库进行重新连接。

二、代理集中点上常见的一个问题 在代理集中点上常看到两条队列,键值是32和3e8,这两条队列在写满时,因为监控进程没有及时读队列,常常会影响与之有关的几个进程,只 需要将这两条队 列清空就可以了。

三、系统启动不正常 常见的原因有如下几个:

环境变量没有设好,如上面的所说的各个环境变量。可以到~/etc 目录下使用命令:../sete nv 来设置一下。

据库连接失败,这样会导致连接数据库的应用进程不能启动。检查数据库确保能够正常连接后,再重新启动这些进程。

单个进程的问题,比如执行权限等等,参看日志文件来找出原因。

4、在登记中心使用的是多机互连方式,主管机器负责启动所用的进程,在所有的机器上都要有相应的监听进程:tlisten ,对于网关机上的服务,如果网关机宕机 或被重新启动时,要将监听进程启动起来,在~/etc 目录下,使用命令:../sete nv 即可,然后先在主管机器上运行tmadmi n ,进入后并执行pci gwn ame 命令来清 理掉网关机得响应信息,再退出并重新启动网关机上的应用系统:tmboot - gw name 。

注:gwname 时网关机的逻辑名,在ubb.txt(Ubbconfig) 中定义的,不同的网关机有不同的逻辑名。

注:tlisten 进程可以多次启动,当该进程已经正常运行时,再次启动会报出错误信息:CMDTUX_CAT:1319: 也有相应的记录,这说明该进程已经启动了。

5、如果有某些进程始终在内存中,导致系统不能启动时,可以将这些进程杀掉,并将与之相关的队列和内存也都清掉,然后重新启动系统。

四、系统关闭不正常

1、客户端与系统在发生交易或连接,如:tmadm in 等等或客户端的某些服务等正在运行,这些都会导致系统的主进程不能正常关闭。

2、登记中心使用的是多机互连方式,主管机器负责启动和关闭所用的进程,在所有的机器上都要有相应的监听进程:tliste n ,对于网关机上的服务,如果网关机 宕机或被重新启动时,要将监听进程启动起来,在~/etc 目录下,使用命令:../setenv 即可,然后先在主管机器上运行tmadmin 命令,然后执行pci gwname 命令 来清理掉网关机得响应信息,再退出并重新关闭网关机上的应用系统:tmshutdow n - gw name 。

注:gwname 时网关机的逻辑名,在ubb.txt(Ubbconfig) 中定义的,不同的网关机有不同的逻辑名。

注:tlisten 进程可以多次启动,当该进程已经正常运行时,再次启动会报出错误信息:CMDTUX_CAT:1319: 也有相应的记录,这说明该进程已经启动了。

3、如果有某些进程始终在内存中,导致系统不能正常关闭时,可以将这些进程杀掉,并将与之相关的队列和内存也都清掉;这些进程往往都是由于运行中出现的 异常导致僵死在内存里了,需要手工干预的。

4、有时候,有几个操作人员在同时启动系统,会导致系统的某些进程与主进程失去联系,这样就很难关闭了,只好手工来杀掉(kill),并将与之相关的队列、信 号灯和共享内存也都清掉(ipcrm)。

五、交易连接失败

1、环境变量设置有误,特别是使用客户端代码,直接连接远端服务的;需要重新设定环境变量,如:WSNADDR ,TUXCONFIG 等等,环境变量设置正确后,再 进行交易就可以了。 INFO: Term in ati ng tliste n p rocess ,在日志文件中 INFO: Term in ati ng tliste n p rocess ,在日志文件中

2、对方交易没有启动,这是的出错代码在日志文件中tperrno=6 ,是很典型的,找不到相应的服务;检查服务是否存在,重新启动服务即可。

3、在代理集中点上常常因为某条队列(32或3e8)阻塞,影响几个进程的访问,如操作员注册等会因为超时而失败;只需要将这两条队列清空就可以了。

六、成交回报的交易出错

1、进程(gwreadfs )启动时有错误;检查网关机上环境设置是否正确,查看文件~/etc/e nvfile 中的内容,并根据其中的环境变量MCHSNDFILE 和FSNDLOG 所指定的文件,如:~/data/matchse nd.txt

和~/data/Fs nd.log ,看看这两个文件是否存在,否则,启动时会指出文件打不开而出错的。

~/data/matchse nd.txt

2、成交回报的内容没有正确的传到代理集中点上,要检查文件:se nderr.log 看其中的代理集中点号是否正确,主要是位置是否正确,并且看看在路由表中是否有配置,这类问题在测试初期曾出现过多次。

3、交易过程中,文件如果被删除掉了,(特别是目前放在临时目录下的这种情况),就需要在启动进程前,手工创建一个同名的空文件matchse nd.txt ;如果进程已经启动,则需要重新启动该进程。

编辑于联动北方技术论坛

tuxedo基本操作atmi介绍

系统自带authsvr服务进程,和两个子例程,tpsvrinit(),tpsvrdone。 authsvr:客户端调用tpinit进行认证时,由交易TPAPPAUTH回应。 服务端自动调用tpsvrinit,可以在函数中进行数据库连接和处理命令行参数。 结束时tpsvrdone也被自动调用,可以在函数中断开数据库连接。 这两个例程分别在进程开始时和进程将要结束时,被自动调用。 服务端编程指导: 交易内一次只能接收一个请求,发送一个响应。 交易必须以tpretrurn, tpforward结束。 或交易内使用了tpacall,在返回或转发前,要么等待回应,要么使用tpcancel。 tpreturn一旦被调用,控制权就转移到main函数,未进行显示收取的响应会被丢弃,此时客户端会收到错误。 客户端调用tpcall后,若服务端此时对应的tpreturn成功返回,客户端tpcall才能返回。 客户端调用tpacall后,若服务端此时对应的tpreturn成功返回,客户端tpgetrply才能返回。返回的数据,可由客户端从指针*data处取得。 tpforward调用时,程序逻辑应保证之前的处理都正确,响应被收到。被调用后,交易不再等待响应。main函数取得控制权。被请求的另一个交易负责响应原来的请求。不能将请求转发到自身。 tpreturn 的参数: rval: 表明交易是否成功执行。 rcode:是应用自定义的返回值。客户端可通过tpurcode获得tpreturn的rcode值,而不论交易是否成功。 data: 该缓冲区由客户端传递,服务端可以将回应数据写至此地址。也可以进行tprealloc.而不能tpfree. 服务端也可以自行tpalloc一个缓冲区,并返回给缓冲区,但需要自行若管理。如果发送的数据长度大于已分配的,tuxedo会自动扩大缓冲。 len: 用来指示响应缓冲的长。客户端可据此得知数据是否有变化。 如果客户端需要收到一个响应,而tpreturn自身处理时出错,这时tpcall或tpgetrply会失败,客户端应检查tperrno. 此时客户端的data缓冲区没有变化。若交易返回的消息不符客户端要求,则无法判断应用状态,此时原来的缓冲区保持不变。如果交易超时,响应数据不会被发送。 发布与取消交易名: 当一个服务进程被启动后,它会根据配置文件来向公告板上广告自己有交易名。这通常由buildserver命令执行时完成。 tpcall:

TUXEDO配置参数详解

TUXEDO配置参数详解 2007-07-10 09:39:47 大中小 TUXEDO应用系统的配置 3.1 TUXEDO应用系统的常见配置 配置文件UBBCONFIG介绍 一个TUXEDO应用系统的所有资源都在一个文本文件中进行定义,该文件称为UBBCONFIG,在配置完成后,UBBCONFIG被编译成一个二进制的文件TUXCONFIG.在TUXEDO系统启动时,从该文件中读取系统的配置信息。UBBCONFIG文件类似WINDOWS下的*.INI文件。它包括以下9大部分, 我们称之为节,RESOURCES,MACHIENS,GROUPS 这三个节必须的,其他的节是可选的。 RESOURCES(必需): 与整个系统有关的配置信息 MACHINES(必需): 一个TUXEDO应用系统可以跨越多台服务器,在该节中配置与每台服务 器有关的信息 GROUPS(必需): TUXEDO中的服务可被分为多个组,在该节中配置与组有关的信息SERVERS(可选): 与SERVER有关的信息在该节配置 SERVICES(可选): 与SERVICES有关的信息在该节配置 NETWORK(可选):与网络有关的信息在该节配置 ROUTING(可选) :路由规则在该节配置 NETGROUPS(可选):与网络分组有关的信息在该节配置 名称解释: TUXEDO应用系统 一个TUXEDO应用系统包括服务端,客户端,服务端安装在服务器上,客户端一般安装在PC 机上,从开发角度看,一个TUXEDO应用系统包括服务端程序,客户端程序,一个配置文件。此外,一个TUXEDO应用系统可以部署在一台服务器上,也可以部署在多台服务器上。SERVER: 服务端程序用C或COBAL编写,每一个程序文件编译成一个相应可执行文件,该可执行文件在运行时称为SERVER,它实际上就是一个进程。每个SERVER都有一个名字,也就是该进程的名字。为与TUXEDO应用系统的服务端区分,我们在本书中,我们用SERVER表示该进程,用服务端表示TUXEDO应用系统的服务端。 SERVICE: 在每个服务端程序中,主要是一个个的函数,在TUXEDO中称这些函数为SERVICE,一般 也称之为服务。在该SERVICE中实现业务逻辑,在客户端中调用这些SERVICE来实现各 种操作,如在前面的例子simpapp中,服务端程序为simpserv.c,它编译成可执行文件simperv, simpserv就是一个SERVER,该SERVER包括SERVICE:TOUPPER。 下面我们给出一个配置文件的例子: *RESOURCES IPCKEY 123456 MASTER simple UID 0 GID 0 PERM 0666

tuxedo文件传输

TUXEDO在文件传输中的应用 发布于:软件开发网来源:Internet 作者:网络收集时间:2008-12-18 点击: 1 引言 近几年来,以交易中间件为框架基础的三层客户机/服务器模式已被广泛证实为建立开放式关键业务应用系统的最佳环境。 TUXEDO是美国BEA公司的一种交易中间件产品,它在银行、电信、邮政、金融证券等大规模关键事务处理领域中有着广泛的应用。它能够在C/S环境下整合各种异构平台,通过联机事务处理机制,保证交易的完整性和数据的一致性。BEA TUXEDO是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。 BEA TUXEDO 采用三层结构的客户机/服务器模式组件软件模型,该结构利用交易中间件将应用的业务逻辑、表示逻辑和数据分为三个不同的处理层:客户为第一表示逻辑层,实现用户交互和数据表示,第二层的逻辑业务层为应用的主体,负责业务的逻辑处理,第三层数据层负责对数据库的检索、读取和更新等操作。交易中间件作为构造三层结构应用系统的基础平台,提供了两个主要功能:负责客户机和服务器间的联接和通讯;提供一个三层结构应用开发和运行的平台。由此可见,交易中间件提供了一个基础的框架去帮助你建立、运行和管理一个三层客户机/服务器模式的应用,使你不需要从零做起,大大缩短了应用开发的时间,提高了应用开发的成功率。 本文以应用TUXEDO的同步调用tpcall方式和FML编程方式为例,介绍了在Windows客户端和Unix服务器之间完成文件传输的方法。客户端调用VC 制作的传输文件的tuxedo动态链接库,实现Windows客户端与Unix服务器端传输文件(包括上传和下载文件两种方式)的实现方法。 2 客户端应用TUXEDO实现文件传输方法 在客户端,首先设置客户端与服务器端在文件传输中文件块的大小、文件的块标识等基本信息,将字节数比较大的文件分为很多小块,利用TUXEDO的同步调用tpcall方式循环调用后台的文件处理服务,将字节数较大的文件按着块的大小分多次传输到UNIX后台。下面以下载文件为例讲解使用tuxedo同步调用tpcall方式完成文件传输的例子。 首先利用TUXEDO的tpalloc申请需要使用的发送和接收缓存,使用Fchg32函数在缓存中放入服务器端需要的域值:文件块的大小、文件的标识等基本信息。 SndBuf = (FBFR32 *)tpalloc("FML32", NULL, 1024); /* 申请发送的缓存 */

TUXEDO中间件介绍及应用

TUXEDO中间件介绍及应用 一、前言 首先介绍一下什么是中间件?中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。 世界著名的咨询机构Standish Group在一份研究报告中归纳了中间件的十大优越性: ●缩短应用的开发周期 ●节约应用的开发成本 ●减少系统初期的建设成本●降低应用开发的失败率●保护已有的投资●简化应用集成 ●减少维护费用 ●提高应用的开发质量●保证技术进步的连续性●增强应用的生命力 Tuxedo是第一个严格意义上的中间件产品。Tuxedo是1984年在当时属于A T&T的贝尔实验室开发完成的,但Tuxedo在很长一段时期里只是实验室产品。直到BEA公司1995年收购Tuxedo后,使Tuxedo现已经发展成为交易中间件领域事实上的标准。 TUXEDO是在企业、Internet 这样的分布式运算环境中,开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。 二、TUXEDO的组件软件模型 TUXEDO采用三层结构的组件软件模型。 图1 BEA TUXEDO 的组件软件模型概要

Tuxedo的工作原理及Toupper功能讲解

BEA Tuxedo中间件应用初探 本文以一个经典的例子(大写字母转换),主要介绍Tuxedo的工作原理及开发方法,以及Tuxedo应用程序的管理方法。 随着中间件在大型应用系统中的日益普及,目前各类中间件充斥着市场,它们在银行、电信、金融等大规模关键事务领域中的整合各种异构平台、保证交易完整性等方面表现出了超强的能力。BEA Tuxedo就是其中一款著名的交易中间件,本文以一个经典的例子(大写字母转换),主要介绍Tuxedo的工作原理及开发方法,以及Tuxedo应用程序的管理方法。 工作原理 Tuxedo是BEA公司的交易中间件产品,1984年由贝尔实验室开发成功,1992年易主Novell公司,1996年由BEA公司收购,经过十多年的不断更新和完善,Tuxedo已经发展成为交易中间件领域事实上的标准。 Tuxedo可以有效地整合企业异构C/S系统,实现大规模的关键业务处理和分布式事务管理,从而为企业提供一个可靠的、高性能的、易维护的三层分布式计算机环境。图1展示了一个基本Tuxedo系统的组成和工作原理。 图一 ①Client向System/T发出查询请求,以找到Server消息队列的地址; ②Client根据找到的入口地址将请求发送到Server的消息队列中; ③Server处理请求,并将结果返回给Client的消息队列。 System/T是Tuxedo系统的核心,它实现了Tuxedo的所有功能和特征,如C/S 数据流管理、服务请求的负载均衡、全局事务管理以保证交易的完整性、同步/异步服务请求、两阶段提交以确保消息的发送等。System/T提供了一个类似公

告栏的服务,用以发布C/S计算机环境中所有服务器、服务和客户机的信息,供其它分布式计算的参与者使用。下面笔者将通过一个大写字母转换的简单例子,讲述Tuxedo应用程序工作的基本原理和开发方法。 应用介绍 Simpapp是Tuxedo系统自带的一个例子,它由服务器和客户端程序两部分组成。服务器simpserv实现了一个TOUPPER服务,它从客户程序接收一个字符串,将它转换成大写后,传回客户端。整个工作流程可以用图2表示。 图二 客户机首先收集要转换成大写的字符串,然后连接到System/T并将字符串放入缓冲区,接着调用服务器上的TOUPPER服务,最后从服务器响应缓冲区中取出数据并退出System/T。 下面是服务程序simpserv.c的源代码: 可能你已经注意到了,该程序没有提供main方法。事实上,Tuxedo不要求程序员编写main方法,以便让他们把精力集中在业务逻辑的编写上,在编译时,Tuxedo系统会为它自动创建。 TPSVCINFO是Tuxedo记录服务调用信息的一个结构体,data域是保存请求数据的缓冲区,len域记录了data域的长度。 客户程序Simpcl.c是服务调用的发起者,它从命令行接收参数,通过tpinit()调用连接到System/T,通过tpalloc()调用分配一个字符串类型的缓冲区,通过

Tuxedo完全操作手册

一、tuxedo的配置 1、展开tuxedo包,例如:/home/tuxedo 2、配置ubbconfig文件 在江苏建行是jsccb.ubb *RESOURCES *RESOURCES节包含整个应用范围的信息。本节必须在配置文件第一节,不可缺少。 参数意义 *RESOURCES *RESOURCES节 IPCKEY 共享内存id UID TUXEDO管理员用户id GID TUXEDO管理员用户id PERM TUXEDO管理员组用户的权限 MAXACCESSERS 服务端和客户端的最大进程数 MAXSERVERS 限制可以启动服务总数 MAXSERVICES 限制可以发布交易总数 MASTER 指出主控节点的逻辑名,第二个是备份节点 MODEL 应用构架,MP表示多机 OPTIONS LAN,MIGRA TE表示是一个网络应用,服务可以移植到替代处理器上 SECURITY 安全级别(5个) AUTHSVC 客户端可以通过交易“AUTHSVC”获得认证 NOTIFY DIPIN,客户端通过dip-in收到广播通知 SYSTEM_ACCESS PROTECTED,NO_OVERRIDE,应用代码不得干扰共享内存LDBAL 设Y则进行负载平衡 MAXBUF[S]TYPE 数据缓冲类型及子类的最大数 SCANUNIT 内部时间间隔单位,单位是秒 SANITYSCAN 检索公告牌的内部时间间隔,单位是SCANUNIT BLOCKTIME 交易超时时间,单位是SCANUNIT BBLQUERY DBBL查询所有BLL的时间间隔 DBBLWAIT DBBL等待BBL回应的超时时间 MAXCONV 同时最大会话数 jsccb.ubb的实例

tuxedo教程

目录 第一章开发BEA Tuxedo应用程序 (4) §1.1 开发前的思考 (4) §1.2 创建BEA Tuxedo的客户程序 (4) 客户程序的任务 (4) §1.3 创建的服务程序 (5) 服务程序的任务 (5) §1.4 在应用程序中使用类型缓冲区 (5) §1.5 在BEA Tuxedo应用程序中使用消息范例 (6) 1.BEA Tuxedo系统提供多种通信模式 (6) 2. 同步的Request/Response模式 (6) 3.异步Request/Response模式 (7) 4.使用嵌套调用 (7) 5.使用调用转发 (8) 6.会话通信 (8) 7.主动消息通告 (9) 8.基于事件的通信 (10) 9.基于队列的通信 (11) 10.使用事务 (12) 第二章一个简单的Tuxedo应用程序simpapp (13) 准备simpapp的文件和资源 (13) 1.复制simpapp例子的相关文件 (13) 2.检查并编译客户程序 (14) 3.检查并编译服务程序 (16) 4.编辑并加配置文件 (17) 5.启动应用程序 (18) 6.如何执行运行时应用程序 (18) 7.如何监视运行时应用程序 (19) 8.如何关闭应用程序 (19) 第三章一个完整的Tuxedo应用程序bankapp (21) §3.1 熟悉bankapp的文件 (21) §3.2 检查bankapp的客户程序 (22) 1.bankclt.c文件 (22) 2.bankapp中怎样使用ud(1) (24) 3.一个请求/响应客户:audio.c (24) 4.一个会话客户:auditcon.c (26) 5.一个监视事件的客户bankmgr.c (26) §3.3 检查bankapp的服务器和服务 (26) 1.bankapp的请求/响应服务器 (26) 2.bankapp的会话服务器 (27)

Tuxedo

Tuxedo配置维护手册 Tuxedo作为系统的中间件,其配置主要包括:资源文件的配置和应用环境的配置;其管理和维护主要包括:系统的启动和关闭、日志的跟踪查看工作。 Tuxedo应用系统的配置 一、应用系统的资源配置,全都包含在两个资源配置文件中(ubbco nfig 和dmco nfig ),在这两个配置文件中包含了系统所有的应用资源(文件)。 1、对于ubbco nfig 文件,可以任意使用一个文件名(如:ubb.txt ),使用一种文本编辑工具,将应用系统的资源分类进行配置,相关进程启动数量等等都应该配置在其中,然后设置环境变量TUXCONFIG ,使用系统命令:tmloadcf来将文本文件ubb.txt ,转化生成环境变量TUXCONFIG 制定的二进制文件。在该文件中主要包含了几个参数的设置:系统所使用的共享内存的键值IP CKEY,针对workstation 客户端的监听进程的端口(WSL ),多台机器之间互连(登记中心与各网关)的网络地址和端口(NADDR , NLSADDR ),数据依赖路由的设定等等。 详细的内容参看《Ubbconfig 配置.doc》参看模版来实现移植或添加应用进程等等。 2、对于dmco nfig文件,可以任意使用一个文件名(如:dm.txt ),使用一种文本编辑工具,将应用系统的多域互联及互相调用的关系进行配置,包括多域之间互联的地址和端口,然后使用系统命令:dmloadcf来将文本文件dm.txt,转化成环境变量BDMCONFIG 所指定的二进制文件。在该文件中主要包含了在多个域互连时用到的一些设置,主要包括:各个域的定义,各个域通讯连接的地址和端口(NWADDR ),本地服务(DM_LOCAL_SERVICES )和远端服务(DM_REMOTE_S ERVICES)以及数据依赖路由等等。 详细的内容参看《dmconfig 配置.doc》参看模版来实现移植或添加应用远端或本地服务等等。 3、客户端代码:是指使用编译工具buildclie nt 编译生成的执行代码。在编译过程中,当使用编译参数:-w时,将连接库wsc等,生成的执行代码将调用远端的服务,即通过环境变量:WSNADDR 来查找相应的WSL的地址和端口;当编译没有使用参数:—时,生成的执行代码将调用本机的服务,通过环境变量:TUX CONFIG来实现调用相应的服务,如果要调用异域(如:代理集中点到登记中心)的服务,就需要在dmconfig文件中配置和公布服务。 4、服务进程:是指使用编译工具buildserver 编译生成的执行代码,不要出现ma in ()函数,启动和关闭要使用Tuxedo的工具:tmboot和tmshutdown 二、应用系统的环境配置,即系统运行时的环境变量的设置一般的这些环境变量都放在用户注册是的.p rofile文件中,也可以根据应用放置在专门的文件中,如:sete nv等等,环境的设置主要包括:TUXDIR :其值为TUXEDO 的安装目录。 例如:TUXDIR=/home/tuxedo 或TUXDIR=/home/bea TUXCONFIG :其值为含有绝对路径二进制的资源配置文件的文件名,系统启动、监控、关闭等等都要用到此环境变量,当客户端的代码要调用应用系统的本机服务时也需要使用此变量。 例如:TUXCONFIG=/home/work/etc/tuxconfig BDMCONFIG :其值为含有绝对路径二进制的多域配置文件的文件名,在使用多域间互联时要用到此环境变量。 例如:BDMCONFIG=/home/work/etc/dmcomfig PRINTERDIR :传输文件的放置目录,主要是针对文件传输来使用的。 例如:PRINTERDIR=/home/work/print FTP_BLOCK_SIZ :针对文件传输的,每次传输的快的大小,如果没有设置,则系统默认为1024。 例如:FTP_BLOCK_SIZE=10240 ; export FTP_BLOCK_SIZE WSNADDR :客户端(workstation )设定的,指向服务器端WSL监听的地址和端口,当客户端的代码要调用系统的远端服务时需要此环境变量。

tuxedo基本命令详细说明

1 tmloadcf 检查UBBCONFIG文件的内容及格式 将文本格式的UBBCONFIG文件编译生成二进制文件 必须在主机上运行 格式 tmloadcf [-n] [-y] [-c] [-b blocks] {UBBCONFIG_file | -} 参数 -c 计算最小的IPC需求 -n 仅仅进行UBBCONFIG文件的内容检查,不生成二进制文件 -y 覆盖已有的二进制文件之前不提示 -b blocks 如果环境变量TUXCONFIG所指的文件存放在一个裸设备上,建议使用该参数;如果该文件存放在文件系统上,则不需要 2 tmunloadcf 将二进制TUXCONFIG文件反编译为文本格式 3 tmipcrm 清除本机上的IPC资源 自动根据TUXCONFIG_file参数查找相应的IPC资源 一般在Tuxedo非正常停止的情况下用来清理残留IPC资源 格式 tmipcrm [-y] [-n] [TUXCONFIG_file] 参数 -y 对命令运行过程中的询问回答y -n 不清除IPC资源,只是列出IPC资源 TUXCONFIG_file Tuxedo的配置文件。如果不指定,则使用环境变量TUXCONFIG 4 tmboot 启动Tuxedo 格式 tmboot [-l lmid] [-g grpname] [-i srvid] [-s aout] [-o sequence] [-S] [-A] [-b] [-B lmid] [-T grpname] [-e command] [-w] [-y] [-g] [-n] [-c] [-M] [-d1] 参数 -l lmid 启动所有绑定到这个逻辑主机的服务,包括应用Server、TMS、Gateway等等 -g grpname 启动grpname包含的所有服务,包括应用Server、TMS等 -i srvid 启动所有SRVID为srvid的服务 -s aout 启动Server名字为aout的服务,也可以用来启动TMS、Gateway等服务。通常和-g选项联合使用 -o sequence 启动SERVERS段中SEQUENCE参数为sequence的服务 -S 启动SERVERS段中的所有Server -A 启动管理Server,例如DBBL、BBL、BRIDGE等 -b 从BACKUP主机上启动服务 -B lmid 启动逻辑主机lmid上的BBL服务

tuxedo命令和配置的详细解释及应用实例

tuxedo命令和配置的详细解释及应用实例 域的组成 BDMCONFIG:二进制配置文件 DMADM:域管理服务器,管理多个 GWADMGWADM:运行时网关管理服务器,从DMADM服务器上获取域信息GWTDOMAIN:是一个网关进程,在域之间转发消息 tmshutdown/tmboot -s 服务名按服务名停/启单个服务tmshutdown/tmboot -S (大写的S)停/启所有服务tmshutdown/tmboot -i 进程号按进程号停/启单个服务tmshutdown/tmboot -g 组名字按组停/启服务 tmshutdown/tmboot -y -w1 按用户停/启服务 tmloadcf -n 文件名只做语法检查不编译 tmloadcf -y 文件名编译二进制文件 tmloadcf -c 文件名测试IPC资源最小需求 tmadmin -v 版本 tmadmin>bbp 查BB的参数 bbs BB统计信息 pclt 连接客户端信息 psr server信息 psc service信息 pt 当前事物信息 pq 队列信息 echo psr|tmadmin|grep -v IDLE echo psr|tmadmin|sort +4 echo psc|tmadmin|sort +6 echo pq|tmadmin|sort +4 echo pclt|tmadmin|grep -v WSH|grep -v tmadmin

以下是tmadmin命令的printserver(简写为psr)的简单输出。 列号描述 1. 服务的可执行文件名 2. 服务连接的队列名 3. 组名 4. 服务的数字id 5. 服务已经处理的请求数 6. 服务处理的全部请求的参数和 7. 服务正在处理的交易,若为IDLE则服务当前是空闲 ccsmis:/home2/ccsmis>tmadmin tmadmin - Copyright (c) 1996 BEA Systems, Inc. Portions * Copyright 1986-1997 RSA Data Security, Inc. All Rights Reserved. Distributed under license by BEA Systems, Inc. Tuxedo is a registered trademark. > printserver Prog Name Queue Name Grp Name ID RqDone Load Done Current Service --------- ---------- -------- -- ------ --------- --------------- rz_Ecsb 00004.04000 APGP2 4000 0 0 ( IDLE ) BBL 70020 simple 0 1 50 ( IDLE ) IFMTMS APGP2_TMS APGP2 30001 1 50 ( IDLE ) 交易信息 来自GAI的信息本处略去。 以下是tmadmin命令的printservice(简写为psc)的简单输出。 列号描述 1. 交易名 2. 交易函数名

tuxedo常见问题

TUXEDO精华贴总结 总结人:彭建新 (DEV2DEV ID:SYLPJX) 序言 原以为很容易就可以把这些帖子总结一下,没有想到,主题虽然不多,精华区的回帖却是不少,要仔细的看完这些帖子,区分开来原来竟然也不是一件容易的事,还好断断续续的坚持了下来,精华贴中的大部分信息变成了下面的形式。 由于里面的信息是我认为比较有用的,又没有和别人商量,难免有失偏颇,大家在看这个总结的时候,只选择其中有用的去看就可以。 为了保证回复的帖子的原貌,我基本没有改动大家回帖时的言语,这样做,我是想,保留大家为论坛所作的贡献,而使大家更清晰的认识到我只是一个总结者,而不是在盗用大家的东西。 做了这个总结,主要的目的使大家不再问许多重复的问题,这样就可以节省回复者的体力,更加使论坛中没有解决的问题凸现出来。 在总结的时候,分类是一个麻烦的问题,有的帖子,可能可以放到好几个类别里,而我只是把他归入了其中的一个类别中,甚至把类别归错,请大家批评。 总结时,在程序示例类别中,有3个程序,我在TUXEDO65和WEINDOWS2000 SERVER下调试通过,并把源程序附上。这3个程序是wsywin 版主在论坛上提供的,其中FML和VIEW由于论坛的原因程序甚至没能全部贴出,其中的UBB文件也没有贴出,这次在wsywin版主的大力帮助下,把源程序及配置文件一并提供。衷心对wsywin版主表示感谢。 希望这个总结对大家有所帮助,同时祝大家工作顺利!

目录 1 环境变量设置 (7) 1.1 怎么样在程序中设置环境变量,用哪个函数? (7) 1.2 如何在程序中动态变换WSNADDR? (7) 1.3 在AIX下,Client需要对应多个Server,WSNADDR如何配置?tuxputenv如 何使用?在程序调用时怎样切换? (8) 1.4 bea的文档里就有一个客户端连接不通服务端的例子(html帮助文档)。 (9) 1.5 系统环境变量的设置 (9) 1.6 TMS起来后,但运行客户端取不到数据,是什么原因? (9) 1.7 在Redhat8.0 下怎么安装Tuxedo8.1? (10) 1.8 环境变量设置需要在几个地方? (10) 1.9 UNIX库文件环境变量如何设置? (10) 1.10 Delphi开发客户端的环境变量设置? (10) 2 UBB配置 (10) 2.1 机器名怎么找? (10) 2.2 TUXEDO版本6.5和8.0可以混用吗? (11) 2.3 TUXEDO与ORACLE不采用XA方式连接,怎么在UBB文件中写? (11) 2.4 Tmloadcf can not run on a Non-Master Node? (12) 2.5 MSSQ配置问题? (12) 2.6 Tuxedo MP方式的切换说明 (13) 2.7 如何在不同的机器上实现simpapp?以及探讨一下c/s and B/s的各自有缺点。 14

tuxedo日常维护手册

tuxedo日常维护手册

变更记录

目录 变更记录 (2) 第一章安装步骤 (5) 1.1安装前的准备工作 (5) 1.1.1创建tuxedo软件对应用户 (5) 1.1.2上传安装介质包 (5) 1.2 软件安装 (5) 1.2.1 tuxedo软件安装 (5) 1.2.2 配置环境变量 (9) 1.2.3 测试 (9) 第二章系统检查 (11) 2.1 tuxedo 日志检查 (11) 2.2 查看tuxedo版本 (12) 2.3 tuxedo正常启动和停止 (12) 2.4 控制台进入和退出 (13) 2.5 通过控制台查看系统状态 (13) 2.5.1 查看服务运行情况 (13) 2.5.2 查看交易运行情况 (14) 2.5.3 查看队列信息 (14) 2.5.4 查看客户端信息 (15) 2.5.5 sh命令直接执行控制台命令 (15) 2.6 查看服务器运行情况 (15) 2.7 日常其他命令 (16) 2.7.1 域控制台的进入和退出 (16) 2.7.2 手动连接域 (16) 2.7.3 查看域网关的连接情况 (16) 2.7.4 对ubb和dm文件做语法检查 (16) 2.7.5 反编译tuxconfig和dmxconfig 文件 (17) 第三章tuxedo故障处理 (17) 6.1 Can’t attach BBL (17)

6.2 针对日志报错信息处理 (17)

第一章安装步骤 1.1安装前的准备工作 1.1.1创建tuxedo软件对应用户 如已创建了单独的用户,则不需再另建用户,一般新建的用户的主目录在/opt(空闲空间较多)下。建议在用户下单独安装,不与其他用户共享。 useradd -d 目录-m 用户名 passwd 用户名 注:1、设置密码位数不少于8位,2、密码中必须包含字母(大小写)、数字和特殊字符中的两种。 chown –R 用户名目录 su –用户名 1.1.2上传安装介质包 1.2 软件安装 1.2.1 tuxedo软件安装 1)修改安装介质执行权限 2)运行安装命令 运行./tuxedo111120_64_Linux_01_x86.bin -i console命令开始安装,其中那个-mode=console代表选择字符模式安装

TUXEDO函数说明

TUXEDO 函数说明(中文) 作者:来自:阅读次数:3 [大中小] -------------------------------------------------------------------------------- TUXEDO函数说明 -收集整理 1与缓冲区使用有关的A TMI 2 1.1 tpalloc. 2 1.2 tprealloc. 2 1.3 tpfree. 2 1.4 tptypes. 2 2常用的FML(FML32)操作函数 (3) 2.1 Falloc. 3 2.2 Finit 3 2.3 Fadd. 3 2. 4Fchg. 3 2.5 Fget 4 2.5 Fprint 4 2.6 Ferror 4 3连接的建立与断开有关的A TMI 5 3.1 tpchkauth. 5 3.2 tpinit 5 3.3 tpterm.. 6 4与请求TUXEDO SERVER 有关的ATMI 6 4.1 tpcall 6 4.2 tpacall 7 4.3 tpgetrply. 7 4.4 tpcancel 7 4.5 tpgprio. 8 4.6 tpsprio. 8 5与请求错误处理有关的A TMI 8 5.1 tpstrerror 8 5.2 tperrordetail 9 5.3 tpstrerrordetail 9 1与缓冲区使用有关的A TMI 1.1 tpalloc char * tpalloc(char *type, char *subtype, long size) 描述:分配缓冲区 参数:type:缓冲区的类型 subtype:缓冲区的子类型,只有VIEW有子类型,其他的缓冲区该参数要设为NULL long:缓冲区的大小 返回值: 成功返回一个指向所分配空间首地址的CHAR *形指针,失败返回NULL。1.2 tprealloc char * tprealloc(char *ptr, long size)

tuxedo tmadmin 命令解释

tuxedo tmadmin 命令解释- - tmadmin 中的pq psr pclt等命令的中文解释。 主要有以下两个管理工具:  使用图形界面的图形管理接口(Graphical Administration Interface―GAI) tmadmin 通常管理工作有以下3类:  监视运行系统 一般监视以下信息:应用、服务、客户端、交易、队列、组、会话、网络等。  动态修改服务或交易参数 使用GAI 或tmadmin可以动态进行以下调整: ――交易可以挂起、恢复、发布和取消 ――交易参数可以修改,如:LOAD和PRIORITY ――指定交易的超时时间 ――交易口令  进行启动,关闭,移动服务等管理员的任务 服务信息 来自GAI的信息本处略去。 以下是tmadmin命令的printserver(简写为psr)的简单输出。 列号描述 1. 服务的可执行文件名 2. 服务连接的队列名 3. 组名 4. 服务的数字id 5. 服务已经处理的请求数 6. 服务处理的全部请求的参数和 服务正在处理的交易,若为IDLE则服务当前是空闲 ccsmis:/home2/ccsmis>tmadmin tmadmin - Copyright (c) 1996 BEA Systems, Inc. Portions * Copyright 1986-1997 RSA Data Security, Inc. All Rights Reserved. Distributed under license by BEA Systems, Inc. Tuxedo is a registered trademark. > printserver Prog Name Queue Name Grp Name ID RqDone Load Done Current Service --------- ---------- -------- -- ------ --------- --------------- rz_Ecsb 00004.04000 APGP2 4000 0 0 ( IDLE ) BBL 70020 simple 0 1 50 ( IDLE ) IFMTMS APGP2_TMS APGP2 30001 1 50 ( IDLE ) ftpserv32 00002.00001 FTPGP 1 60 3000 ( IDLE ) WSL 00001.00001 SYSGP 1 0 0 ( IDLE ) IFMTMS APGP2_TMS APGP2 30002 12 600 ( IDLE )

TUXEDO函数说明

1与缓冲区使用有关的ATMI 1.1tpalloc char * tpalloc(char *type, char *subtype, long size) 描述:分配缓冲区 参数:type:缓冲区的类型 subtype:缓冲区的子类型,只有VIEW有子类型,其他的缓冲区该参数要设为NULL long:缓冲区的大小 返回值: 成功返回一个指向所分配空间首地址的CHAR *形指针,失败返回NULL。 1.2tprealloc char * tprealloc(char *ptr, long size) 描述:重新分配缓冲区 参数:ptr:指向原缓冲区首地址的指针 size:新缓冲区的大小 返回值: 成功返回一个指向新分配空间首地址的CHAR *形指针,失败返回NULL。 1.3tpfree void tpfree(char *bufptr) 描述:释放由TPALLOC()或TPREALLOC()分配的缓冲区 参数:bufptr:指向要释放的缓冲区首地址的指针 返回值:无

注意: 用TPALLOC(),TPREALLOC()分配的内存只能有TPFREE()释放掉,不能用FREE() 1.4tptypes long tptypes(char *ptr, char *type, char *subtype) 描述:返回有ptr所指向的缓冲区的类型及子类型 参数: ptr:指向要进行类型识别的缓冲区首地址的指针 type:类型名 subtype:子类型名(只对VIEW类型有效) 返回值:0成功,-1失败, 错误号保存在全局变量tperrno中。 2常用的FML(FML32)操作函数 2.1Falloc FBFR* Falloc (FLDOCC F, FLDLEN V) 描述:分配一块FML缓冲区 参数: FLDOCC: 该FML缓冲区的字段个数, FLDLEN: 该FML缓冲区的长度 返回值:成功返回一个指向该FML缓冲区首地址的指针,失败返回NULL,错误号保存在全局 变量Ferror中 注意: 该FML缓冲区不能用于TPCALL(),TPACALL(),TPRETURN()等中,在这些函数中用到 的FML缓冲区只能用TPALLOC()分配。

tuxedo概念理解

有这么几个概念以及它们之间的关系: GROUP:一个组中可以有多个server SERVER:一个server中可以有多个service 从上向下看:可以理解成tuxedo通过对组的部署,管理所有的server及service 从资源管理(RM)的角度看:GROUP中的信息(如:要连接的数据库信息)被组中的所有server共享。 从管理维护的角度看:server与service的关系。一个service对应一个server 是最简单的方式,但这会增加server的数量,也就是进程数,使tuxedo系统对系统的IPC资源要求增大,导致系统性能下降;或超过系统限制 (UNIX:maxfiles,maxfiles_lim),导致tuxedo系统无法启动成功。所以需要把多个service放到一个server中,以降低tuxedo对系统IPC资源的要求。当把一些service放到一起时,有这么几个原则: 1.有相互调用的service不要放到一个server中,以免引起死锁现象。 2.执行时间相近的service可以放到一个server中。 3.同一个server中的service最好有相同的服务优先级。如果不同,优先级最低的请求可能要很长时间才得到处理。 4.一个server中不要有太多的service。 5.把资源要求相近的service放到同一个server中。 6.可根据业务规则把service放到同一个server中。 7.把一些使用率较高的service应单独放在一个server中,并采用MSSQ方式。 tuxedo中关于超时的参数较多,现收集整理了下相关文档与大家分享SCANUNIT BBL 系统进程对Bulletin Board的管理和监控是基于时间片的轮询方式,时间片的大小就是SCANUNIT的值,SCANUNIT是Tuxedo对系统进行管理的最基本时间单位,其他许多时间方面的参数均是SCANUNIT的倍数。每隔SCANUNIT,BBL对Bulletin Board进行一次检查,看看有无超时的事务或服务请求。SCANUNIT必须是大于0的5的倍数,最大是60,缺省10,单位为秒。 BLOCKTIME 服务请求的超时值,BBL发现有超时的Request时,会给相应的Client端发信息,Client端如果在调用时未加TPNOTIME标记,会报错返回,tperrno值为13。由于BLOCKTIME是以SCANUNIT为单位的,所以时间的绝对值为(BLOCKTIME * SCANUNIT),BLOCKTIME缺省为(60/SCANUNIT)。

Tuxedo总体介绍

Tuxedo总体介绍 1.1 中间件介绍 介于客户机与服务器之间的夹层,它突破了二层C/S结构的局限性,为构建大规 模、高性能、分布式C/S应用程序提供了通信、事务、安全、容错等基础服务,它屏蔽了底层技术细节,使应用程序开发不必再从底层做起,以自身的复杂性换来了应用程序开发的简单。 最早具有中间件技术思想及功能的软件是IBM的CICS,但由于CICS不是分布式环境的产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件产品。Tuxedo是1984年在当时属于AT&&T的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购,在经过Novell并不成功的商业推广之后,1995年被现在的BEA公司收购。尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近10年之中。BEA公司1995年成立后收购Tuxedo才成为一个真正的中间件厂商,IBM的中间件MQSeries也是90年代的产品,其它许多中间件产品也都是最近几年才成熟起来。 简单提一下东方通TongLINK,TONGEASY. TUXEDO为交易中间件。 1.2 TUXEDO是什么 TUXEDO名字的由来: Transaction for UNIX has been Extended for Distributed Operation,即被分布式操作扩展之后的UNIX事务系统 。 BEA TUXEDO是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的客 户/服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。 在当今系统整合、全球应用、永远可用的业务环境中,企业要求分布式事务处理(TP)的基础结构,不仅能够充分发挥现有技能和应用资产的作用,而且还要具备基于标准的互操作性以简化集成。 BEA Tuxedo 是当今 C、 C++ 和 COBOL 解决方案的首选平台。它运行着一些最大型的关键任务事务处理系统,如有线传输、ATM和电信。它是许多世界领先公司的支柱。 只有 BEA Tuxedo 才能提供这样强大的平台,满足在分布式异构计算环境下运行如此大量应用的需求;它能够使事务在全球范围内跨任何系统,从面向客户的关键任务应用延伸到后台处理。

相关主题
相关文档
最新文档