欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Tuxedo开发介绍.ppt

    • 资源ID:5451283       资源大小:255.49KB        全文页数:50页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Tuxedo开发介绍.ppt

    Tuxedo 开发介绍,东南融通:杨久明,Tuxedo 开发介绍,概述安装说明配置文件说明API函数简单说明编程实例相关站点,概 述,BEA 公司的产品国外的应用实例较多该公司在中间件产品上提供了三种方法:Message:内部的通信机制解决了C/S的通信问题Tuxedo:交易管理的中间件,解决了对事务的管理OOP:提供面向对象的设计版本已经升到了7.1版,可以支持LINUX,面向电子商务等应用领域,概 述(一),是三层结构中的中间件(middleware)适合用于大型应用可以解决大量的并发操作,减轻server端的压力通过XA的数据库低端调用,支持X/OPEN一般应用在OLTP可以应用与各种平台,概 述(二),共享内存方式(BB:Bulletin Board)所有的管理在同一台机器上做有容错机制并提供自动重启服务提供超时管理提供若干安全性管理和控制No AuthenticationApplication PasswordEnd-user AuthenticationOptional Access control(OAC)Mandatory Access Control(MAC),概 述(三),开发和管理完全分开API只有10几个参数可配置把功能细化,每个服务的功能单一比较好Service的功能简单对保证一致性比较好Client端只需调用名字,不用传输SQL语句,概 述(四),对事务处理可能存在的:数据库种类不同同一类库中多个库实例分布式数据库或分布的数据存取支持X/OPEN标准,提供两阶段提交方式,保证一致性可以预先定义好Service操作的优先级,而且可以有效防止饿死进程,概 述(五),一个Service相当与一个进程的概念一般来说,Service里只有一个函数定义Tuxedo提供专门的编译函数来编译CLIENT端和SERVER端的Service分别是Buildclient 和BuildServer当Tuxedo正常启动时,所有的服务都被启动,在管理机上可以看到所有服务的进程在跑Tuxedo的服务和引擎将会占用大量的共享内存对机器的配置要求比较高日志不太直观,日志文件名为ULOG.ddmmyy,概 述(六),Server 相当与一个应用Service相当与一个函数或功能模块提供均衡负载对分布式运用提供数据依赖路由(象路由一样可以预设数据流向)C/S模式中的会话方式是虚拟的长连接(4种)Request/Response(同步、异步、流水线)IPC队列ConverstionalEvent(Broadcast(无请求传送)、Subscribe/Publish(发布/订阅方式)Queue(Disk Based)基于磁盘空间的队列,概 述(七),CLIENT发起交易时,会注册到BB中的CLIENT段中,即可以启动一个服务LISCNCE是指系统允许的并发数的多少,即指CLIENT段在BB中的多少多台主机间应建立Master结点,Ubb要放在Master主机上TLISTEN要手工启或KILL掉,TUXEDO结构框架,Service,Servers,Group,Machine,1:n,1:n,1:n,Domain,Local client,Workstation client,WSL-WSH,TUXEDO启动过程,Tlisten,NodeI,BBL,DBBL,tmboot,BBL,BBL,NodeJ,APP,SYS,APP,SYS,Tuxconfig,BBL,Read,TUXEDO启动过程,启动服务的时候,若有用到队列,则队列服务进程要检查队列空间。检查的时间与队列所占的空间有关,安装说明,建立Tuxedo用户mount 上光盘执行 sh INSTALL.SH按照提示1、2、3.安装用到tlisten时,需要一个TUXEDO的管理员口令注意:LISCNCE文件lic.txt这个文件定义了用户数及运行版本配置UBB文件、文件名可以任意可以参照安装目录下的程序例子,配置文件说明(一),RESOURCESMACHINES:GROUPSSERVERSSERVICESNETWORKINGROUTING,配置文件说明(二),RESOURCES:资源定义,可以定义安全性IPCKEY 35533 32768&262143 MASTER ydjfxt 主机名MODEL SHM/MP 单机或多机MAXACCESSERS 100MAXSERVERS 150MAXSERVICES 200SCANUNIT10BBLQUERY20DBBLWAIT3O。注:只要IPCKEY不一样,就是起不同的系统,配置文件说明(三),MACHINES:主机或结点机定义xmydjf LMID=ydjfxt 与上面MASTER对应TUXCONFIG=“/zero/Lapps/tuxconfig”由BBL调用的二进制文件TUXDIR=“/aixtux”安装目录APPDIR=“/zero/Lapps”应用的目录ULOGPFX=“/usr/tmp/log/tuxlog/ULOG”ULOG目录TLOGDEVICE=/jfapp/TUXFSTLOGNAME=TLOGTLOGSIZE=1000,配置文件说明(四),GROUPS:组段,一般按对数据库操作来分 JFGRPLMID=ydjfxt GRPNO=1 TMSNAME=TMSTMSCOUNT=2 JFORALMID=ydjfxt GRPNO=2TMSNAME=TMS_ORA TMSCOUNT=2 OPENINFO=Oracle_XA:Oracle_XA+Acc=P/system/manager+SesTm=20+LogDir=/tmp”JFQUELMID=ydjfxtGRPNO=3TMSNAME=TMS_QMTMSCOUNT=2OPENINFO=TUXEDO/QM:/jfapp/QUEFS:TSPACE”OPENINFO:用于连接数据库时的参数指出存放QUEUE的位置及QUEUE名,配置文件说明(五),SERVERSDEFAULT:CLOPT=-A-e/usr/tmp/log/stderr-o/usr/tmp/log/stdout GRACE=0 RESTART=Y CONV=N MAXGEN=200TMQUEUESRVGRP=JFQUE SRVID=70 MIN=2CLOPT=-A-s TSPACE:TMQUEUE-”LdecdoSRVGRP=JFORA SRVID=130MIN=10Tprtreceipt SRVGRP=ZWGRP SRVID=660 MIN=2 MAX=9RQADDR=Tprtreceipt_2CLOPT=-A-p 10:5,20:3REPLYQ=Y,配置文件说明(五),TMQFORWARDSRVGRP=JFQUE SRVID=80GRACE=0 RESTART=Y CONV=N MAXGEN=100MIN=4 MAX=10CLOPT=-A-t 120-i 2-q LDEC,LUIDDO在本系统中有二个队列,LDEC队列用于扣费交易排队LUIDDO队列用于改号和撤号交易排队-i参数表示当队列空时,TMQFORWARD去取队列的空闲时间-t 参数表示队列SERVER的超时时间。TMQFORWARD启动时至少启动4个相同的SERVER,一个服务于LUIDDO另外三个服务于LDECLDECSRVGRP=JFORA SRVID=136GRACE=0 RESTART=Y CONV=N MAXGEN=100MIN=3 MAX=9扣费交易队列的服务SERVER。此SERVER由TMQFORWARD调用。LDEC SERVER启动时至少启动三个,即能同时有三个扣费交易发往金卡。若需要增加或减少与金卡的交易并发数,改变MIN值即可,配置文件说明(六),SERVICESTprtreceiptTrubprintLDECTcashTcashrubTbanknotice TdecupdateTdecq,配置文件说明(七),NETWORKydjfxtNADDR=/134.134.22.15:31000用于BBL间通讯用的地址及PORT号NLSADDR=/134.134.22.15:30010”用于Tuxedo起动时tlisten通讯用的地址及PORT号ydzwxtNADDR=/134.134.22.5:32000 NLSADDR=/134.134.22.5:30020,配置的补充说明,若要用到XA时,必须先配置好OPENINFO要手工建立TLOG文件,crlog-m LMID,写交易日志在UBB中要加入TLOGDEVICE和TLOGNAME若要使用队列,需用crdl创建队列空间crdl-Z$DIR/TLOGDEV 用buildtms-o TMS_NAME-r ORACLE_XA,常用的API函数(CLIENT),初始化参数int tpinit(TPINIT*tpinfo)return:-1 KO0 OKtpinit(TPINIT*null);,常用的API函数(CLIENT),Buffer的种类STRINGCARRAY(binary format transferred)FML(Field Manipulation language)VIEW(Structure)BUFFER的函数与C语言类似,但应有加上头信息tpalloc(type,subtype,size)tprealloc()tpfree()在view类型中函数的子类型必须是view的名字,其它的皆为null,常用的API函数(CLIENT),举例tmprec=(struct transrec*)tpalloc(VIEW,transrec,sizeof(struct transrec)char*bitmap;bitmap=tpalloc(“CARRAY”,null,1024);用view的时候,要在环境变量上加上VIEWFILES和VIEWDIR用VIEWC生成.h和.V的文件用FML时,要加上FIELDTBLS,FLDTBLDIRmkfldhdr 生成相应的.h文件并要放在include下,常用的API函数(CLIENT),FML的Buffer可以和VIEW中的互换FVFTOSFVSTOFCARRAY为二进制,在两种机器编码不同时,可以用来传输,常用的API函数(CLIENT),中断调用和错误信息及返回的错误代码常量long tperrno(char*)tpstrerror(tperrno)(void)tpterm(),常用的API函数(CLIENT),同步调用tpcall(char*svcname,char*sendbuf,long len,char*rubfpp,long*rlength,long flags)flags:TPNOTRAN 不在事务中TPNOCHANGE 对RECVBUF强制检查TPNOBLOCK 阻塞超时TPNOTIME 无超时TPSIGRSTRT 再次重发可以在RESOURCES段上设BLOCK 30,常用的API函数(CLIENT),示例:调用SNAME变量代表的的SERVICEtpcall(SName,(char*)tmprec,sizeof(struct transrec),(char*)&tmprec,(long*)&treclen,(long)0);其中:tmprec为sendbuf,transrec为tmprec的结构名,常用的API函数(CLIENT),异步调用tpacall(char*svrname,char*sendbuf,long len,long flags)tpgetrply(int*handle,char*recvbuf,char*len,long flags),常用的API函数(CLIENT),举例说明 ret=tpacall(“svc1”,sendbuf,0,0)if(ret=-1)printf(“err is%s”,tpsterror(tperrno);tpterm();exit(-1)tpcall(“svc2”,)ret1=tpgetrply(if(ret1=-1),常用的API函数(SERVER),Services的初始化和结束tpsvrinit(int argc,char*argv)open database tpsvrdone()database closetpreturn()tpreturn(TPSUCCESS,0L,(char*)transv,long len,long flags);但一般可不用前面两个,如果在UBB中定义了XA,TUXEDO会自动执行这两个缺省函数tpreturn可以返回一些整形值给CLIENT段的 TPCALL/TPACALL,常用的API函数(SERVER),与UBB配置文件中SERVICES段中同名函数的定义如 前面的LDEC()等ServiceName(TPSVCINFO*rqst)char*buf1;buf1=rqst-data;EXEC SQL INSERT INTO tpreturn();,常用的API函数(实例及用法),ServiceName(TPSVCINFO*svcinfo)sendbuf=svcinfo-data;tpcall(svc,sendbuf,0,int rcode,char*data,long len,long flags)val:TPSUCCESSTPFAILTPEXIT,其他部分API,Tpconnect()tpsendonly()tprecvonly()tpsend()tpdiscon,ATMI原语调用,Tpbegin(long timeout,long flags)timeout=0(unlimited),flags=0(for future use)tpcommit(long flags)flags同上tpabort(long flags)flags同上tpsuspend()事务挂起tpresume()事务重新开始tpgetlev();判断是否在事务中tpopen();tpclose();,VIEW结构实例(VIEW.v),VIEW transrec$/*View structure for Transmition information*/#typecnamefbnamecountflagsizenulllongSerialnumSERIALNUM1-1stringMessageidMESSAGEID1-50000”stringAccountnumACCOUNTNUM1-22”stringProcesscodePROCESSCODE1-7000000”floatAmountAMOUNT1-0.00stringTransmissionTRANSMISSION1-11”stringStracenumSTRACENUM1-7000000”stringLTransetimeLTRANSETIME1-7END,VIEW结构实例(transflds),#Copyright(c)1990 Unix System Laboratories,Inc.#All rights reserved#ident(#)transflds$Revision:1.1$”#Fields for database bankdb#name number type flags commentsSERIALNUM101long-MESSAGEID102char-ACCOUNTNUM103char-PROCESSCODE104char-AMOUNT105float-TRANSMISSION106char-STRACENUM107char-LTRANSETIME108char-126string-.,VIEW结构实例(.h文件),通过VIEWC(32)编译生成的文件.V 和.h文件struct transrec/*View structure for Transmition information*/longSerialnum;/*null=1*/charMessageid5;/*null=0000*/charAccountnum22;/*null=0*/charProcesscode7;/*null=000000*/floatAmount;/*null=0.000000*/charTransmission11;/*null=0*/charStracenum7;/*null=000000*/charLTransetime7;/*null=0*/charLTransedate7;/*null=0*/charSettledate5;/*null=0*/。,常用命令,Buildclient=CC-W workstation 方的clientbuildserver=CC-O-S Service 的名字tmloadcf-y myubb 把UBB的配置文件变成二进制的形式tmboot-y 启动所有的BBL-BB、Applicationtmshutdown-y,常用命令,tmboot-y 所有tmboot-m Master结点tmboot-g grpnameGROUPS段tmboot-s svrnameServer段tmboot-I svrid某一个SERVICEtmboot-c 申请IPC资源,可以修改系统参数,常用命令,tmshutdown-A 所有SERVERtmshutdown-s svrname本服务tmshutdown-isvrid本id所对应的servicetmshutdown-g grpname本组,常用的管理命令,Tmadmin 命令脚本模式的管理psr:server event printpsc:service event printpclt:client event printqinfo:qlist:crdlqspacecreateqopenqcreate也提供GUI的管理工具(没见过),AIX上TUXEDO的用户的环境变量,TUXDIR=/tuxedo;export TUXDIRAPPDIR=/longtop/ser_bin;export APPDIRTUXCONFIG=$APPDIR/tuxconfig;export TUXCONFIGPATH=$TUXDIR/bin:$PATH;export PATHVIEWDIR=$APPDIR;export VIEWDIRVIEWFILES=transrec.V;export VIEWFILESFLDTBLDIR=$VIEWDIR;export FLDTBLDIRFIELDTBLS=transflds;export FIELDTBLSQMCONFIG=$APPDIR/QUEFS;export QMCONFIGLD_LIBRARY_PATH=/usr/lib:$TUXDIR/lib:$LD_LIBRARY_PATH;export LD_LIBRARY_PATHLIBPATH=/usr/ccx/lib:$TUXDIR/lib:$LIBPATH;export LIBPATH,MAKEFILE文件设置,TUXEDIR=/tuxedoLIBDIR=/tuxedo/libXCBINDIR=$(TUXDIR)/binRM=TUXEDO/SQLDSUF=.aAPPDIR=$(HOME)/$(SRC)/VIEWDIR=$(APPDIR)INCDIR=$(TUXDIR)/includeCFLAGS=$(HOST)-DNOWHAT=1-I$(INCDIR)$(CGFLAG)$(DFML32)LIBTUXEDO=$(LIBDIR)/libtux$(DSUF)$(LIBDIR)/libtux2$(DSUF)$(LIBDIR)/libbuft$(DSUF)$(LIBDIR)/libgp$(DSUF)$(LIBDIR)/libfml$(DSUF)FIELDTBLS=transfldsFLDTBLDIR=$(TUXDIR)/udataobj:$(VIEWDIR)VIEWFILES=transrec.VENVFILE=$(VIEWDIR)/ENVFILE,Ltransmit:$(OBJ1)$(ALLLIB)CFLAGS=$(CFLAGS)TUXDIR=$(TUXDIR)$(XCBINDIR)/buildclient-o$(EXE1)-f Ltransmit.c-f Lwork.c-f$(ALLLIB)strip$(EXE1)mv*.c$(TMP)Tprtreceipt:$(OBJ3)CFLAGS=$(CFLAGS)TUXDIR=$(TUXDIR)$(XCBINDIR)/buildserver-r Oracle_XA-s Tprtreceipt-o$(EXE3)-f Tprtreceipt.c-f$(LIBTELE)strip$(EXE3)mv*.c$(TMP),MAKEFILE文件设置,编程实例,相关站点,http:/,

    注意事项

    本文(Tuxedo开发介绍.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开