Tuxedo培训.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Tuxedo 培训
- 资源描述:
-
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/3/21,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/3/21,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/3/21,*,Tuxedo培训,Tuxedo培训Tuxedo培训中间件概述二层结构与三层结构,2021/3/212,书籍能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进,中间件概述,二层结构与三层结构,2021/3/21,2,中间件概述,中间件的定义,中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通讯。,实现应用之间的互连和互操作,不同的应用对中间件有不同的要求,中间件是在中间,处于应用软件和系统软件之间的一类软件,而非一种软件,或独立于硬件或数据库厂商(处于其产品的中间,实现其互连)的一类软件,或者是客户方与服务方之间的连接件,或者是需要进行二次开发的中间产品,中间件,=,平台通信,人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台,(,包括开发平台和运行平台,),,但在这组中间件中必需要有一个通信中间件,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来,中间件和平台可能会互相转化和互相渗透,2021/3/21,3,中间件概述,中间件的作用,1,、中间件屏蔽了底层操作系统的复杂性。,2,、减少了系统的维护、运行和管理的工作量。,3,、可以无缝地集成不同时期、不同操作系统上开发的应用软件,2021/3/21,4,中间件概述,中间件的分类,1,、消息中间件,将数据从一个应用程序发送到另一个应用程序,这就是消息中间件的主要功能。它要负责建立网络通信的通道,进行数据的可靠传送,保证数据不重发,不丢失。消息中间件的一个重要作用是可以实现跨平台的操作,为不同操作系统上的应用软件集成提供数据传送服务。主要代表是,IBM MQSeries,等,2,、交易中间件,交易中间件也和消息中间件一样具有跨平台、跨网络的能力,但它的主要功能是管理分布于不同计算机上的数据的一致性,协调数据库处理分布式事务,保障整个系统的性能和可靠性。交易中间件适用于联机交易处理系统。主要代表是,BEA Tuxedo,等。,3,、对象中间件,对象中间件也具有交易中间件的功能,它是按面向对象的模式来组织体系结构,通过对象请求代理来实现交易处理。对象请求代理体系结构主要有,3,种:,CORBA,、,EJB,和,COM+,。,4,、应用服务器,基于,WEB,应用,是企业实施电子商务的基础平台。它一般是,J2EE,体系结构的。,5,、企业应用集成,EAI,可用于大型企业内部众多的应用系统进行有效的整合,是他们之间能够互相访问,实现互操作。,6,、安全中间件,2021/3/21,5,Tuxedo,概述,BEA Tuxedo,支持,70,多个不同的硬件,/,操作系统平台,其中包括几乎所有的,UNIX,,,Windows NT,OS/400,VMS,OS/2,Windows95,等等。,BEA Tuxedo,支持几乎所有的关系数据库,并能通过,XA,协议和,Oracle,、,Informix,、,Sybase,等流行数据库接口以保证交易的一致性。支持所有流行的开发工具。,交易中间件的标准是由,X/OPEN,组织和,ISO,组织来制订的。,BEA TUXEDO,遵循 所有关键的应用接口标准和事务处理协议,如分布式 事务处理模型,DTP,,事务定界标准,TX,,应用程序事务处理接口标准,XATMI,,以与和资源管理器,(,数据库,),的接口标准,XA,,国际化标准,XPG,,中间件的互操作协议,OSI-TP,,网络协议支持,TCP/IP,、简单 网络管理协议,SNMP,等。,事实上,,BEA TUXEDO,不仅遵循标准,而且目前的标准,如,XA,,,XATMI,等大部分是基于,BEA TUXEDO,技术来制订的。在,BEA TUXEDO,的,30,多个支持应用 开发的函数调用中已有,30,个被,Open Group,组织接纳为,X/open,的标准,API,,同时,,BEA,是,COBRA,组织的核心会员,直接影响着面向对象技术的标准和发展方向。,作为全球专业从事中间件技术的唯一的大型计算机厂商,,BEA TUXEDO,对所有开放系统,(,包括硬件、操作系统和数据库等,),提供平等的支持,不对某一种系统存在特别的,“,偏爱,”,,在所有系统平台上有着功能和性能上的一致表现,这也是其他中间件厂商很难真正做到的。另外,从遵循标准到制定标准,这也说明了,BEA TUXEDO,在开放系统平台上事实上的领导地位。,2021/3/21,6,Tuxedo,基本概念,Tuxedo,应用系统,一个,Tuxedo,应用系统是由在一个,TUXCONFIG,文件中定义的资源与其客户端的总称,一个,Tuxedo,应用系统能够通过域网关与别的,Tuxedo,应用系统或其他的应用中间件系统实现互操作,域(,DOMAIN,),域是具有相同功能或结构的应用系统的集合。应用系统可以有多台服务器组成。,Tuxedo,的域特性把客户,/,服务器模型扩展到多个独立自治的应用系统。一个域既可以是一组,Tuxedo,的应用程序,也可以是一组运行在另一个非,Tuxedo,环境中的应用程序。,Tuxedo,的每个域独立完成域内的操作,域间操作由域网关完成。,2021/3/21,7,BEA Tuxedo,的功能,Tuxedo,具备了所有交易中间件产品所应具备的功能,作为构造三层结构应用系统的基础平台,,Tuxedo,的主要功能可概括为五大平台:,1,、应用开发平台:,提供,API,,供开发人员调用,用于开发整个应用系统;支持多种客户端开发工具和操作系统。,2,、应用部署平台:,通过配置文件,对应用系统进行部署,实现开发与部署分开;,3,、应用运行平台:,提供应用系统运行的环境;在运行时可根据系统的配置提供故障恢复、负载均衡、自动伸缩、安全认证和数据加密等功能,为,Tuxedo,应用系统提供一个可靠的运行环境。,4,、应用管理平台:,对整个应用系统进行管理和监控。,5,、应用互联平台:,Tuxedo,是一个高度开放的系统,能够很容易和其他应用系统互联,实现互操作。,2021/3/21,8,BEA Tuxedo,的环境变量,1,、,TUXDIR,定义了,TUXEDO,的安装目录,如:,TUXDIR=/home/tuxedo/tuxedo812,、,TUXCONFIG,定义了,TUXEDO,配置文件的路径,如:,TUXCONFIG=/home/ecif/zhangshaowei/etc/tuxedo.cfg,3,、,BDMCONFIG,Tuxedo,跨域访问配置文件的路径,编译之后生成的二进制配置文件,bdmconfig,,如:,TUXCONFIG=/home/ecif/zhangshaowei/etc/bdmconfig.cfg,4,、,WSNADDR,定义了服务器提供监听,tuxedo,应用请求的地址,一般是,server ip:port,,如:,WSNADDR=/128.64.96.14:13134,该变量定义的,IP,和端口应该与配置文件中,WSL,进程定义的一致,,TUXEDO,服务才能接收到客户端的请求,5,、,NLSPATH:,消息目录的全路径,6,、,LANG,7,、,LD_LIBRARY_PATH,(,SLIB_PATH,),2021/3/21,9,BEA Tuxedo,管理进程,_1,1,、,BBL(Bulletin Board Liaison),,主要对公告板等进行管理,包含了一个公告牌的本地拷贝和本地服务器上应用的状态。,Bulletin Board,(,BB,,公告板):,Tuxedo,把系统的配置信息保存在一个共享内存中,该共享内存称为公告板。,2,、,DBBL(Distinguished Bulletin Board Liaison),,,TUXEDO,用于多服务器配置各个服务器之间的协调工作,只有当,TUXEDO,配置为,MP,方式时才需要用到,DBBL,。,DBBL,与,BBL,协同,保证所有的公告牌内容的一致性。,3,、,WSL,:,WorkStation Listener,,,Tuxedo,系统自带的一个,Server,,它侦听一个指定的端口,,WSC,最初与该,Server,建立连接。,4,、,WSH,:,WorkStation Handler Server,,,Tuxedo,系统自带的一个,Server,,由它处理,WSC,与,Tuxedo Server,之间的通信。,5,、,BRIDGE,,不同的服务器之间通过,BRIDGE,进程进行通讯,该,BRIDGE,的侦听,IP,地址与端口 在,NADDR,中指定。如果是在,UNIX,下要指定该,BRIDGE,所用的网络设备,如果是在,NT,下则不要。,2021/3/21,10,BEA Tuxedo,管理进程,_2,6,、,DMADM,,域间通信的进程:管理域的,server,在运行时管理,BDMCONFIG,对已登记的,gateway group,提供支持,在,tuxedo,系统中,只能有一个,DMADM,进程,且不能对它采用,MSSQ,不能有,REPLYQ,7,、,GWADM,,管理,DOMAIN,的域网关进程(在,/DOMAIN,中是,GWTDOMAIN,)的,SERVER,,在运行时可以对某一组域网关(,Domain Gateway Group,)进行管理。主要从,DMADM,那里取得域的配置信息,并对域网管进程与跨越域的全局事务的,LOG,文件进行管理,8,、,GWTDOMAIN,,处理,DOMAIN,之间的互操作,使本地域和调用远程域可以互相调用彼此的,service,其中,GMADM,和,GWTDOMAIN,必须在一个组中,一个,tuxedo,应用 可以有多个,GWADM,GWTDOMAIN,对,一个组只能有一个,GMADM,GWTDOMAIN,对,但一个,tuxedo,应用只能有一个,DMADM,DMADM,可以在如何一个组中,一个本地域可以和多个远程域实现互操作。,9,、,tlisten,,是,TUXEDO,自带的管理程序,在,MP,模式下,完成主机之间的初始化通讯,如非,MASTER,机从,MASTER,机中下载,tuxconfig,配置文件。,tlisten,的启动办法,:tlisten,l/NLSADDR,2021/3/21,11,BEA Tuxedo,常用命令使用方法,tmloadcf,编译,TUXEDO UBB,信息,tmunloadcf,将,TUXCONFIG,转换成,ASCII,格式,tmboot,启动,TUXEDO,系统服务,tmshutdown,关闭所有或部分应用并释放,IPC,资源,tmadmin,TUXEDO,系统管理,buildclient,编译客户端程序,buildserver,编译服务端程序,2021/3/21,12,BEA Tuxedo,常用命令使用方法,tmloadcf,编译,TUXEDO UBB,信息,Usage:,tmloadcf,-ycnb,ubb,文件命令说明:,-c,计算运行应用需要的,IPC,资源,该信息将提供给管理员,用于在各机器上配置资源。,-n,进行语法检查并不生成,TUXCONFIG,。,-b,控制,TUXCONFIG,占用的物理页数。,-y,无条件覆盖,TUXCONFIG,环境变量,TUXCONFIG,必须设定指向二进制,TUXCONFIG,文件。在安全要求高的应用中,,tmloadcf,不能从标准输入接受,环境变量,APP_PW,必须包含应用密码。,tmunloadcf,将,TUXCONFIG,转换成,ASCII,格式,Usage:,tmunloadcf,tmunloadcf,将,TUXCONFIG,转换成,ASCII,格式用于检查。该工具读取环境变量,TUXCONFIG,指向的文件。输出包含所有的参数,包括,TUXEDO,设定的缺省值,是,UBBCONFIG,文件的一个超集。,2021/3/21,13,BEA Tuxedo,常用命令使用方法,tmboot,启动,TUXEDO,系统服务,Usage:tmboot-w(ait)-n(oexec)-q(uiet)-y-c(heck)-d1,-A|-B loc|-M-S|-l lmid|-s aout|,-g grpname|-i srvid|-g grpname-i srvid,-o sequence-#-T group-name-E envlabel-e errcmdtmboot,命令启动,TUXEDO,系统的应用,创建必要的,IPC,资源、启动相关机器的规定的系统和应用服务进程。大多数的,tmboot,的参数启动了部分系统进程。在以下说明和例子中,,lmid,grpname,和,srvid,是配置文件中指定的值。,-A,启动所有机器上的管理进程。,-M,启动主控机器上的管理进程。,-i srvid,启动服务,id,等于,srvid,的进程。,-g grpname,启动指定的一组服务(含,TMS,),-S,启动所有应用服务。,-s server-name,启动可执行文件名为,server-name,的服务。,-l lmid,启动,TMS,和指定机器上的应用服务。,-T grpname,启动指定组中所有,TMS,。,-B lmid,启动指定机器上的,BBL,。,-e command,指定启动进程失败后在主控机器上运行的命令名。,-c,打印本配置所需最少的,IPC,资源。,2021/3/21,14,BEA Tuxedo,常用命令使用方法,tmshutdown,关闭所有或部分应用并释放,IPC,资源,Usage:tmshutdown-wdelay|-k TERM|KILL-n(oexec),-q(uiet)-y-c(lt_ign)-A|-B loc|-M-S|-l lmid|-s aout|-g grpname|-i srvid|-g grpname-i srvid-o sequence-#-T group-name,-E envlabel-R(elocate)-H lmid-P lmid,本命令所用参数与,tmboot,类似(如:,-A,-g,-i,-s,-S,-l,-M,-B,),意义相同。,当有客户端正在连接时,,tmshutdown,不能关闭管理服务。参数,-c,则可以超越此规则。该参数仅用于管理员需要立即关机而又无法与时通知客户端时。,参数,-w delay,在,delay,秒后进行强制关闭。指定的服务当即被挂起,使之不能继续接受交易请求。,delay,的值则允许服务在一个合理的时间内完成已经接受的请求。在延迟的时间到达后,信号,SIGKILL(,或,SIGTERM),将发给指定的服务。该参数目的是使管理员能够关闭发生死循环或死锁的服务。,-A,在所有机器上启动,/,关闭管理的,Server,进程,-M,只在,MASTER,机器上启动,/,关闭管理的,Server,进程,-i srvid,启动,/,关闭某个,server id,指定的,Server,进程,-g grpname,启动,/,关闭某个,server group,名字指定的,Server Group,-S,启动,/,关闭所有应用服务器(,LMID,),-s server-name,启动,/,关闭某个,server,名字指定的,Server,进程,-l lmid option,在指定的机器上启动,/,关闭所有,TMS,进程和应用服务器(,LMID,),-T grpname,启动,/,关闭指定的,server group,中所有的,TMS,进程,-B lmid,在指定的机器上启动,/,关闭,BBL,进程,-e command,指定一个程序可以当在,MASTER,机器上启动任何一个进程失败时执行,2021/3/21,15,BEA Tuxedo,常用命令使用方法,tmadmin,TUXEDO,系统管理,Printserver(psr),服务信息,1.,服务的可执行文件名,2.,服务连接的队列名,3.,组名,4.,服务的数字,id,5.,服务已经处理的请求数,6.,服务处理的全部请求的参数和,7.,服务正在处理的交易,若为,IDLE,则服务当前是空闲,Printservice(psc),交易信息,1.,交易名,2.,交易函数名,3.,服务可执行文件名,4.,服务所在组名,5.,服务的数字,id,6.,提供交易的机器的,LMID,7.,交易已经执行的次数,8.,交易当前状态,2021/3/21,16,BEA Tuxedo,常用命令使用方法,tmadmin,TUXEDO,系统管理,Printqueue(pq),队列信息,1.,队列连接的服务的可执行文件名,2.,字符队列名,是,RQADDR,参数或一个随机值,3.,连接的服务数,4.,当前队列的所有请求的参数和,5.,实际请求数,6.,平均队列长度,7.,队列所在机器的,LMID,Printclient,(,pclt,)客户端信息,1.,已经登录的客户端机器的,LMID,2.,用户名,由,tpinit(),提供的,3.,客户端名,由,tpinit(),提供的,4.,客户端连接后经过的时间,5.,客户端状态,6.IDLE,表示客户端目前没有任何交易在工作,7.IDLET,表示客户端启动了一个交易,8.BUSY,表示客户端在工作中,9.BUSYT,表示客户端正在交易控制下工作,10.,启动,/,提交,/,中断的交易数,2021/3/21,17,BEA Tuxedo,常用命令使用方法,buildclient,编译客户端程序,Usage:buildclient-v,o executable,f first-file,-f first-file-l last-file-w,此处first-file表示的应该是编译器可以识别的文件。缺省的编译器是cc。一般是.c(c源程序),.C(C+源程序),.o(object)或.a(库)文件。,参数解释如下:,-o 生成的可执行文件名,-f 需要在连接TUXEDO库之前传给编译器的文件名。如有多于一个的文件名,名字应用空格分隔并用引号引起。也可以使用多个-f参数。,-l 需要在连接TUXEDO库之前传给编译器的文件名。语法同上。,-v 编译过程显示。,-w 采用WS方式编译,2021/3/21,18,BEA Tuxedo,常用命令使用方法,buildserver,编译服务端程序,Usage:buildserver-v,o executable,-s service2,service3:func,-f source/object-l object/library file,参数解释如下:,-o 生成的可执行文件名,-f 需要在连接TUXEDO库之前传给编译器的文件名。如有多于一个的文件名,名字应用空格分隔并用引号引起。也可以使用多个-f参数。,-l 需要在连接TUXEDO库之前传给编译器的文件名。语法同上。,-v 编译过程显示。,-b 指定SHM或MP模式。如无此项,两种模式都包括;使用此项可以使生成的可执行文件小一点,-r 连接此处指出的RM库。该RM的名字必须含在$TUXDIR/udataobj/RM文件中。,2021/3/21,19,BEA Tuxedo,的开发,1,、通讯缓冲区类型,2,、,Tuxedo,的服务端编程,3,、,Tuxedo,的客户端编程,4,、,BEA Tuxedo,通信方式,5,、,BEA Tuxedo,分布式事务的处理,2021/3/21,20,BEA Tuxedo,的开发,1,、通讯缓冲区类型,Tuxedo,的客户端与服务端之间的数据传送是通过数据库缓冲区来进行的。,Tuxedo,的数据缓冲区主要包括,STRING,、,CARRAY,、,VIEW/VIEW32,和,FML/FML32,。从,Tuxedo7.1,开始,还增加了,XML,数据缓冲区。,在,Tuxedo,中客户端与服务端之间进行数据交换的缓冲区,都要用,Tuxedo,自己提供的,API,进行操作,不能采用,C,函数(,malloc,、,free,)。在用,tpalloc(),分配一块缓冲区之后,在不再需要该缓冲区时用,tpfree(),释放掉。,STRING,STRING类型用于数据是字符数组,且以空字符结束。如果两台机器之间的编码不一样(如一台是ASCII,另一台是EBCDIC),Tuxedo将自动进行编码/解码工作。,STRING一般用于在客户端与服务器之间传送文本数据,。,【使用方法】:,用C语言的字符串处理方式进行处理。,【使用例】:,客户端:,if(sendbuf=tpalloc(STRING,NULL,sendlen)=NULL),fprintf(stderr,Error allocating send buffern);,tpterm();,exit(1);,2021/3/21,21,BEA Tuxedo,的开发,1,、通讯缓冲区类型,CARRAY,CARRAY类型用于处理二进制数据,其中可以包含空字符,因此在使用该类型进行传输时必须指定长度。如果两台机器之间的编码不一样,Tuxedo不进行编码/解码工作。如果在客户端与服务器之间传送二进制的文件,就要采用CARRAY类型的缓冲区。,【使用方法】:,用二进制数据处理方式进行处理。,【使用例】:,客户端:,if(sendbuf=tpalloc(CARRAY,NULL,sendlen)=NULL),fprintf(stderr,Error allocating send buffern);,tpterm();,exit(1);,2021/3/21,22,BEA Tuxedo,的开发,1,、通讯缓冲区类型,VIEW/VIEW32,VIEW类型是应用程序定义的C结构,必须有一个VIEW描述文件来说明该结构。VIEW类型必须有子类型,用来说明每个结构成员的类型。,VIEW32类型与VIEW相似,只是允许更大的字符域、更多的域,以与更全面的类型。,使用VIEW/VIEW32类型需指定以下环境变量:,VIEWDIR/VIEWDIR32:,VIEW结构定义文件的存放路径,用逗号隔开;,VIEWFILES/VIEW:,使用的VIEW结构定义文件名,用逗号隔开。,一般在本应用的setenv文件中指定以上环境变量的设置。,VIEW的使用过程:,(1)定义一个VIEW(VIEW32)的描述文件*.v,(2)用viewc(viewc32)命令进行编译,生成对应的*.h文件和*.V文件,(3)定义环境变量VIEWDIR(VIEWDIR32)和VIEWFILES(VIEW),VIEWDIR(VIEWDIR32)为*.V文件路径,VIEWFILES(VIEW)为*.V文件名,如果有多个,采用,号隔开,(4)在使用到该VIEW(VIEW32)的程序中用#include包含生成的*.h文件,(5)在程序中可以象使用C语言的结构体一样使用该VIEW(VIEW32),2021/3/21,23,BEA Tuxedo,的开发,1,、通讯缓冲区类型,FML/FML32,FML,类型是,Tuxedo,自定义的类型,它的每个数据域均有自己的标志符、发生频次和,长度指示器。,FML,(,FML32,)缓冲区类似于一个表,它一般用在与数据库有关的操作中,如把查,询结果通过,FML,(,FML32,)缓冲区发送到客户端,它有自己的一套函数对其进行操,作。,FML(FML32),的使用类似于,VIEW(VIEW32),。,FML,与,FML32,相类似,区别在于:,(,1,),FML32,中使用,32,位的数表示字段的,ID,和该字段的长度,,FML,中使用的是,16,位的数,所以,FML32,能表示更大的缓冲区(,2,)对,FML32,的操作函数都以,32,结尾,环境变量也以,32,结尾,2021/3/21,24,BEA Tuxedo,的开发,1,、通讯缓冲区类型,XML,从,Tuxedo7.1,开始,,Tuxedo,支持,XML,缓冲区,并可根据,XML,中某个,ELEMENT,(元素)的值、,ELEMENT,的类型或,ATTRIBUTE,(属性)的值实现数据依赖路由。同,CARRAY,一样,在对,XML,缓冲区进行操作时要指定缓冲区的长度。,在,Tuxedo7.1,中内置了,XML PARSER,,它主要完成以下工作:,(,1,)自动检测,XML,缓冲区所采用的字符集,(,2,)如果,XML,缓冲区所采用的字符集不是,ASCII,或,EBCDIC,字符集,把,ELEMENT,和,ATTRIBUTE,的名字转换为,ASCII,或,EBCDIC,(,3,)检查缓冲区中,ELEMENT,的内容和,ATTRIBUTE,的值,(,4,)数据类型转换。在数据依赖路由中,如果是采用,XML,类型,要指定所采用的路由字段的数据类型,,XML,只支持字符型的数据。如果路由字段是数字型的,将自动进行类型转换,XML,使用数据依赖路由需要在,UBBCONFIG,中,ROUTING,小节中指定,2021/3/21,25,BEA Tuxedo,的开发,2,、,Tuxedo,的服务端编程,服务程序的入口参数,TPSVCINFO,/*interface to service routines*/,struct tpsvcinfo,#define XATMI_SERVICE_NAME_LENGTH 32,char,nameXATMI_SERVICE_NAME_LENGTH;/*service name invoked*/,long,flags;/*describes service attributes*/,char,*data;/*pointer to data*/,long,len;/*request data length*/,int,cd;/*reserved for future use*/,long,appkey;/*application authentication client key*/,CLIENTID cltid;/*client identifier for originating client*/,;,typedef struct tpsvcinfo TPSVCINFO;,char,nameXATMI_SERVICE_NAME_LENGTH,该,Service,的名字,long,flags;,CLIENT,端在,tpcall,、,tpacall,等的,FLAGS,中设置的值,char,*data;,指向客户端发送过来的缓冲区的首地址,long,len;,data,缓冲区的长度,int,cd;,当采用,CONVERSATION,通信方式时,对应的,CD,值。,long,appkey;,当采用安全认证时,该客户端所对应的,KEY,。,CLIENTID cltid;,用于识别该客户端的,ID,。,2021/3/21,26,BEA Tuxedo,的开发,2,、,Tuxedo,的服务端编程,tpreturn,服务程序返回结果,【,函数原型,】,void tpreturn(int rval,long rcode,char*data,long len,long flags),【,功能说明,】,tpreturn,函数标志服务处理结束,并将返回信息发送给请求者。,【,参数说明,】,rval,:,TPSUCCESS,服务处理成功;,TPFAIL,服务处理失败;,rcode,:通过该参数返回调用者一个应用自定义的值,客户端可以查询全局变量,tpurcode,访问,rcode,值;,data,:返回包数据指针;,len,:返回包长度;,flags,:,未使用,置为,0,【,返回值,】,无,【,使用例,】,:,tpreturn(TPSUCCESS,0,rqst-data,0L,0);,2021/3/21,27,BEA Tuxedo,的开发,2,、,Tuxedo,的服务端编程,tpsvrinit-,服务初始化,【,函数原型,】,int tpsvrinit(int agrc,char*argv),【,功能说明,】,在,Server,启动时,它将自动调用函数,tpsvrinit(int argc,char*argv),。,如果该,Server,所在的,GROUP,配置了连接数据库的接口,那么在默认情况下,该,Service,将自动调用,TPOPEN,(),建立与数据库的连接。,【,参数说明,】,int argc,char*argv,参数的含义与,main,()函数的参数含义一样。,【,返回值,】,执行成功返回,0,,失败返回,-1,2021/3/21,28,BEA Tuxedo,的开发,2,、,Tuxedo,的服务端编程,tpsvrdone-,服务清理函数,【,函数原型,】int tpsvrdone(),【,功能说明,】,在,Server,终止时,,tpsvrdone,做一些清除工作,如断开与数据库的连接、从系统的,BB,中清除与该,Server,对应的登记项。,【,参数说明,】,无,【,返回值,】,无,2021/3/21,29,BEA Tuxedo,的开发,3,、,Tuxedo,的客户端,Tuxedo有两种客户端:本地客户端和远程客户端,Native Client(本地客户端):是指与Tuxedo服务器在同一台机器上,不用通过网络就可以访问到Tuxedo服务器的客户端。,Workstation Client(远程客户端):是指要通过网络才可以访问到Tuxedo服务器的客户端。,本地客户端与远程客户端的主要区别,(,1,)本地客户端只能用,C,或,COBAL,语言编写,远程客户端可以用几乎所有的编程语言编写(,2,)在远程客户端所在的机器上要安装,Tuxedo,的客户端软件,并且要设置相应的环境变量。在本地客户端上则不用。(,3,)用,buildclient,编译远程客户端程序时要加,“,W,”,,编译本地客户端则不用,远程客户端与,Tuxedo,服务器建立连接的过程,(,1,),WSC,调用,tpinit,()或,tpchkauth,()(,2,),WSC,采用在,WSNADDR,中指定的,IP,地址与服务端的,WSL,建立连接(,3,),WSL,为该,WSC,指定一个,WSH,,并把该,WSH,的侦听端口返回给,WSC,(,4,),WSC,采用返回的端口与指定的,WSH,建立连接,并与,WSL,断开连接,这之后,WSC,与,Tuxedo Server,之间的通信通过,WSH,进行处理,与,WSL,无关。(,5,),tpinit,()或,tpchkauth,()调用返回,2021/3/21,30,BEA Tuxedo,的开发,2,、,Tuxedo,的客户端,与远程客户端有关的配置,(,1,)在,MACHINES,中配置,MAXWSCLIENTS,,即同时连接到该服务器上最多可以有多少个远程客户端(,2,)在,SERVERS,中要配置,WSL Server,WSL,SRVGRP=GROUP1 SRVID=1000,CLOPT=-A-n/128.64.196.14:13134-m 2-M 5-x 6“,CLOPT,中可带的参数为:,-n netaddr,:,WSL,的侦听端口,远程客户端通过该端口与服务器建立连接,-m minh,:最少启动多少个,WSH,进程,-M maxh,:最多启动多少个,WSH,进程,默认值为,MAXWSCLIENTS/x,-x mpx_factor,:每个,WSH,进程可以同时与多少个远程客户端建立连接,-c compression_threshold,:如果在远程客户端与服务器之间传送的数据包大小(单位为字节)超过,“,-c,”,指定的参数,就自动进行数据压缩。,-T Client_timeout,:指定一个远程客户端的空闲时间。单位为分钟,如果没有指定,,WSH,永远不会自动断开远程客户端的连接。,-t timeout_factor,:指定远程客户端与,WSH,建立连接的时间。在指定时间内无法建立连接,那么连接将失败,-p minwshport-Pmaxwshport,:指定,WSH,可以使用的端口范围,2021/3/21,31,BEA Tuxedo,的开发,2,、,Tuxedo,的客户端,在远程客户端的机器上要设置的环境变量,TUXDIR,:,Tuxedo,客户端的安装目录,WSNADDR,:远程客户端通过该,IP,地址与服务器建立连接,该变量必须。,WSTYPE,:客户端类型,该变量可选。,客户端与服务端之间的通信方式,(,1,)同步调用,(,2,)异步调用,(,3,)管道,(,4,)会话方式,(,5,)广播、通知,(,6,),/Q,队列,(,7,)发布,/,订阅,2021/3/21,32,BEA Tuxedo,的开发,3,、,Tuxedo,的客户端编程,为了与,Tuxedo,服务器端建立连接,,Tuxedo Client,要调用,tpchkauth(),检查该,Tuxedo,服务端所采用的安全方式,并根据得到的值做相应的处理,然后调用,tpinit(),建立与,Tuxedo,的连接,在,Tuxedo,服务器端的结果返回之后,调用,tpterm(),断开与,Tuxedo Server,的连接。,2021/3/21,33,BEA Tuxedo,的开发,3,、,Tuxedo,的客户端编程,tpchkauth,安全认证,【,函数原型,】,int tpchkauth(),【,功能说明,】,检查该,Tuxedo Server,所采用的安全方式,【,参数说明,】,无,【,返回值,】,TPNOAUTH,:不需要认证,TPSYSAUTH,:需要口令认证,TPAPPSUTH,:需要口令认证,并且还需要应用级的认证或授权,1,:调用失败,错误号保证在全局变量,tperrno,中,2021/3/21,34,BEA Tuxedo,的开发,3,、,Tuxedo,的客户端编程,tpinit,建立连接,【,函数原型,】,int tpinit(),【,功能说明,】,与,Tuxedo,服务器端建立连接,【,参数说明,】,无,【,返回值,】,1,:调用失败,错误号保证在全局变量,tperrno,中,2021/3/21,35,BEA Tuxedo,的开发,3,、,Tuxedo,的客户端编程,tpterm,断开连接,【,函数原型,】,int tpterm(),【,功能说明,】,与,Tuxedo,服务器端断开连接,【,参数说明,】,无,【,返回值,】,1,:调用失败,错误号保证在全局变量,tperrno,中,2021/3/21,36,BEA Tuxedo,的开发,4,、,BEA Tuxedo通信方式,(,1,)同步调用,(,2,)异步调用,(,3,)管道,(,4,)会话方式,(,5,)广播、通知,(,6,),/Q,队列,(,7,)发布,/,订阅,2021/3/21,37,BEA Tuxedo,的开发,4,、,BEA Tuxedo通信方式,(,1,)同步调用,tpcall,C,S,2021/3/21,38,BEA Tuxedo,的开发,tpcall,同步调用,【函数原型】,int tpcall(char*svc,char*idata,long ilen,char*odata,long*olen,long flags),【功能说明】,客户端同步调用服务端名为svc的Service,【参数说明】,*svc:Service的名称,char*idata:输入缓冲区的地址,客户端传给服务端的参数放在该缓冲区内,long ilen:输入缓冲区的长度,char*odata:输出缓冲区的地址,服务端传给客展开阅读全文

咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。
咨信网小贴示:
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】


Tuxedo培训.ppt
















自信AI助手














微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/14588303.html