ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:78.56KB ,
资源ID:8878500      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8878500.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(TUXEDO服务端开发介绍.docx)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

TUXEDO服务端开发介绍.docx

1、TUXEDO服务端开发介绍 中海集团资金结算管理系统采用了三层体系结构,具有良好的稳定性、安全性。系统数据集中管理,易于维护。柜面应用程序采用C/S结构,前台界面采用Delphi开发工具,界面具有易于操作,方便快速录入等特点。交易中间件采用tuxedo,保证了前后台数据的交互、队列管理、事务处理。业务逻辑采用C语言开发。 这里,我向大家介绍一下TUXEDO服务器端开发: 一、服务的运行流程 为了更好的了解服务端的所有任务以编写服务端应用,有必要重新认识服务端在C/S模式中扮演的角色。 首先,服务是系统资源的联系点。例如,一个数据库服务联系实际数据库并对其进行查询和修改。为有效

2、进行,应建立一个数据库连接。 其次,服务必须发布系统内可以访问的交易,保证客户端可以知道把请求发往何处。 以上两步结束后,服务进入一个循环——接收请求、处理请求并返回结果。接收请求包括进入消息队列,得到交易请求。处理请求包括检查请求数据缓冲,运行商业规则和逻辑,可能还包括访问数据库和返回结果数据缓冲。 当系统管理员需要关闭系统,可以通过系统管理工具将关闭系统的消息发给服务。服务完成所有交易,取消交易发布,关闭资源连接然后结束。 二、返回控制 接下来,我们说说返回控制。 在一般的C程序中,函数通过调用return()将控制返回,函数调用堆栈清空,控制返回调用点。 TUXE

3、DO系统的交易函数必须结束于将回应返回给客户端或前转到另一交易。函数tpreturn()用来结束交易将回应数据缓冲发给客户端。函数tpforward()将交易前转给另一个交易,由其负责回应原来的客户端。 tpreturn()设计来代替常规的return(),结束绝大多数函数。它将回应数据缓冲返回请求的客户端,控制权返回给服务程序的标准main()(由TUXEDO提供)。 tpreturn()使用下列参数: 第一个值表示交易是否成功,有3种可能: TPSUCCESS 交易完全成功,如果是一个会话,TPEV_SVCSUCC被生成 TPFAIL 交易失败,tperrno将被设成TPESV

4、CFAIL。如果是事务模式,事务被标志成abort-only,如果是会话,TPEV_SVCFAIL被生成。 TPEXIT 与TPFAIL类似,但服务会中断,如果服务设成可以重启动,则可以由TUXEDO系统将其重启动。 第二个值是应用定义返回码,此处使交易可以发送一个整形代码到客户端,给出交易处理结果的详细信息。该值与/T系统无关,通过全程变量tpurcode送到客户端程序。 第三个值是回应数据缓冲的的指针 第四个值是回应数据缓冲的长度(仅缓冲类型为CARRY时需要) 第五个值是标志位,通常不用 下图是tpreturn()的示意图。 三、初始化和结束服务 tpsvrini

5、t()和tpsvrdone()分别用来启动和关闭服务。如果应用不提供这两个函数,可以使用替代函数。tpsvrinit()用tpopen()缺省打开RM连接。tpsvrdone()用tpclose()关闭RM连接。 tpsrvinit()象标准C语言的main()一样使用参数argc,argv。服务的命令行参数可以传入该函数,被getopt()解析。该部分的用法参见应用配置部分。本函数出错时返回-1,成功返回0。 tpsvrdone()无参数,无返回值。 四、创建服务 当C语言的交易程序编码完后,需要连接正确的库并编译。使用buildserver可以使该过程容易一点。该命令引用了C语言编

6、译器并按正确的次序连接TUXEDO系统的库,连接TUXEDO生成的main()等。buildserver还用-s参数产生合适的交易名/函数名映射表。要使用buildserver,必须先正确设定环境变量TUXDIR,PATH,LD_LIBRARY_PATH。命令语法如下: buildserver [-v] [–o executable] [-s service2,service3:func] [-f source/object] [-l object/library file] 参数解释如下: -o 生成的可执行文件名 -f 需要在连接TUXEDO库之前传给编译器的文件名。如有多于一个

7、的文件名,名字应用空格分隔并用引号引起。也可以使用多个-f参数。 -l 需要在连接TUXEDO库之前传给编译器的文件名。语法同上。 -v 编译过程显示。 -b 指定SHM或MP模式。如无此项,两种模式都包括;使用此项可以使生成的可执行文件小一点 -r 连接此处指出的RM库。该RM的名字必须含在$TUXDIR/udataobj/RM文件中。 五、规划服务的考虑 在TUXEDO应用中,必要时服务可以仿客户端方式工作。例如:一个服务可能需要其他服务提供的交易,而建立一个副本并不太合理;当然,有时这样做会高效些。这种特性使程序员在多机配置应用逻辑可以改善编码和执行效率。 一般是出于以下考

8、虑,使用此种方式: 最好不要使用收到的数据缓冲向其他服务请求,因为该缓冲可能被改变引起错误 服务中的交易不应调用本服务中的交易,因为容易产生死锁(仅当设置TPNOREPLY时可以) 一个MSSQ集中的服务需要返回时,应有自己的返回队列;否则会与本集中其他服务冲突。 A.数据缓冲管理 数据缓冲管理大部分内容与客户端相同 与请求数据缓冲不同,传给交易的数据缓冲可能已经被tpalloc(),tprealloc(),tpfree()函数处理过。 因为传给交易的请求数据缓冲已经被tpalloc()分配,所以可以tprealloc()。 所有在服务中分配的数据缓冲,在程序结束时必须全部释放

9、唯一例外是用在tpreturn()中的返回数据缓冲。 如有剩余数据缓冲没有释放,会在每次交易调用时都生成一些,最终耗尽服务器内存。这可以很容易通过监视进程大小发现,它会随时间增长而加大。 B.仿客户端的方式 下图展示的流程控制表示一个服务仿客户端方式工作。服务接收客户端请求,进一步向另一个交易进行请求。后者处理后返回前者,前者继续进行处理,准备回应数据缓冲,发回客户端。 此结构不能超过2级! C.转发的方式 下图展示的流程控制表示交易请求从客户端来到一个服务,转发到另一个服务,然后返回客户端。 D.多个交易 一个商业应用处理可能会需要来自不同数据源的

10、相似信息或功能。 例如下图,TUXEDO有多种方式实现: 各交易功能分隔在独立的可执行服务中 因为功能分布在不同的可执行服务中,编译如下: buildserver –f read70.c –o read70 –s READ70 buildserver –f read80.c –o read80 –s READ80 buildserver –f read90.c –o read90 –s READ90 将不同功能组织在一个可执行服务中,分隔成不同交易 服务程序包含3个交易函数,编译如下: buildserver –f read.c –o read –s READ70 –s R

11、EAD80 –s READ90 合并各功能成一个交易,使用别名调用 使用TUXEDO的别名功能,使交易以不同名字发布,如: buildserver –f read.c –o read –s READ70,READ80,READ90:READ READ是真正的交易函数,但服务可以接受对READ70,READ80和READ90的请求 六、动态发布 当交易运行时,交易可以用tmadmin在启动时发布,也可以通过调用ATMI动态发布。交易例程可以通过调用服务发布或取消发布。 tpadvertise()可以被一个服务调用,发布一个交易 tpunadvertise()可以被一个服务调用,取消发布一个交易 tpadvertise() 该函数允许服务为自己动态发布一个交易,参数如下: 被发布的交易名 交易请求处理函数地址 返回值-1表示失败。 如果交易已经被同一函数发布,tpadvertise()立即返回成功。 如果tpadvertise()被一个MSSQ集中的服务调用,交易被发布到该集所有服务上。 出错原因包括: TPEMATCH 交易已经被其他函数发布 TPELIMIT 可发布交易最大数已经达到,该限制在配置文件中的MAXSERVICES规定 TPEINVAL 有参数为NULL TPEPROTO 协议错误(如被客户端调用)

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服