- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Tuxedo应用指南(二)
Tuxedo应用指南 应用程序开发 Tuxedo应用编程 ATMI及编程模型 编程涉及到的环境 类型缓冲区 编写客户机程序 编写服务器程序 编写请求/响应程序 编写会话程序 编写带全局事务的服务器 使用TMIB维护和监控系统 一、ATMI接口 ATMI(Application to Transation Monitor Interface 应用到事务监视器接口) 是Tuxedo为客户实施分布式应用提供一套C函数。 基本通信模式(一) 请求/响应模型 最基本的通信方式,客户机发起请求,服务器进程处理完请求后将响应返回客户机。此时,该交互即完成。其中异步是基本的方式: tpcall = tpacall + tpgetrply 请求/响应模式下的转发与嵌套调用 基本通信模式(二) 会话模型 先建立起连接(即客户进程与服务进程建立起协作关系),然后在该连接上进行多次交互。该模式是有状态的,因为服务进程的上下文在会话结束之前一直保持。 基本通信方式(三) 消息通知 前面的方式中,服务器是被动的(处理过程需要由客户机发起)。如果服务器要主动给客户发消息,就要用到消息通知。 基本通信方式(四) 事件代理 Tuxedo有一个事件代理服务器,客户机和服务器可以通过它订阅或发布事件。 服务的协作方式(一) 大型应用的一次交易处理一般会涉及与多个服务器交互(多层结构),服务器的协作方式主要有三种: 嵌套调用 在服务内部调用另一个交易。除非必须使用,不建议采用此方式。该模式形成一个服务器调用链,所有链上的服务器在交易结束之前不能再处理其它请求。 转发推送 tpcall(client)? tpforward(1..N)? tpreturn(last) 异步推送 tpacall_no_reply(client) ?tpacall_no_reply(1..N)? end 服务器协作方式(二) 推送与嵌套调用 推送是无状态的,效率高,重入时要设法恢复它的运行上下文。 嵌套会占用更多的进程,并发性会降低,但调用者的上下文不会丢失。 异步推送-回调 得到API出错信息 如果有执行状态返回,-1表示失败。 查看出错信息 在调用API时都有类似如下的出错检测代码: if (tpacall(TUX_SVC, send_buf, (long)send_len, TPNOREPLY) == -1) { userlog(tpacall失败: errno=[%d], msg=[%s], tperrno, tpstrerror(tperrno)); tpfree(text); return -1; } 编程环境(一) 编程相关的UBB参数 编写会话服务器,要在Servers节中指示是个会话服务器(CONV=Y) 使用工作站客户端要在Machines节中指定MAXWSCLINETS的数量 存在着大量与编程密切相关的UBB参数(参见《用C写ATMI应用》第二章),系统配置与编程在此产生了较强的耦合。 特定用途的环境变量 使用VIEW32视图:VIEWDIR32、VIEWFILES32 使用FML32视图:FLDTBLDIR32、FIELDTBLS32 编程环境(二) 编译器 应采用与操作系统渊源最深的编译系统,因为buildserver对编译器是由针对性的。 AIX 使用XLC C/C++ Windows使用Visual C++ Linux使用gcc HP-UX 使用aCC/aC++ 头文件 atmi 重要的头文件,含ATMI接口定义,声明公开的函数与常量宏 fml.h/fml32.h 定义了操作FML的函数与常量 tpadmin.h 定义TMIB接口的函数 userlog.h 用户日志接口(用于生成ULOG日志文件) 编程环境(三) Tuxedo程序库 Tuxedo程序库信息由buildserver/buildclient自动附加到编译命令行上,用户一般不用关心。所有库都在$TUXDIR/lib目录下。 libtmib.a TMIB库,使用tpadmcall时要包含此库 libtux.a Tuxedo主函数库,大部分函数都在此库中 libfml.a/libfml32.a 操作FML/FML32的函数库 lengine.a 平台上的一些公共例程,如安全、线程管理、消息转换等 注:不知道函数在什么库中时,可用nm命令去寻找。 二、类型缓冲区 缓冲区的种类 分配缓冲区 释放缓冲区 改变缓冲区的大小 数据操作(各类型缓冲区有自己的操作方法) VIEW/VIEW32 FML/FML32 XML 为什么使用类型缓冲区 类型缓冲区是带类型说明的内存块,它的引入给开发者增加一些额外的负担,但这是值得的: 类型缓冲区为异质系统建立了一个
您可能关注的文档
- TKA假体选择 吴海山.ppt
- 2016莽山·瑶溪谷项目品牌策略探讨67p概要.ppt
- Tolerance and fit公差配合.ppt
- 2016高中政治1.1揭开货币的神秘面纱课件新人教版必修1概要.ppt
- 2016高三历史一轮复习_甲午中日战争和八国联军侵华概要.ppt
- Tooling各种浇口介绍 (chinese).ppt
- TJ01(L)-C-05:SMZ150型自升式门架升降机安拆.doc
- 2016高中语文人教版选修中国古代诗歌散文欣赏课件:4.2庖丁解牛(共40张)概要.ppt
- 2016高中语文第一单元《5山水田园诗四首》课件1粤教版选修《唐诗宋词元散曲选读》概要.ppt
- Tmax 技术介绍(recoverd).ppt
最近下载
- 征信报告模板-带水印版.docx VIP
- 双眼视异常分析案例分析2020.pptx VIP
- zippo年册日版图鉴大全1.pdf VIP
- 电力行业系统 解决方案 【智慧】火电厂综合安防 解决方案.pdf VIP
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
- 临床化学检验血液标本采集与处理知识测试题.docx
- 培训课件:社交媒体营销的实战技巧.pptx VIP
- 湖南省长郡教育集团2023-2024九年级上学期期中英语试卷(含答案).docx VIP
- 2021年湖南省长沙市雅礼教育集团九年级中考一模联考英语试卷(word版,含答案).docx VIP
- 2022年湖南省长沙市雅礼集团联考九年级上学期期末化学试卷(含答案).docx VIP
原创力文档


文档评论(0)