tuxedo程序员指南

tuxedo程序员指南

ID:34229524

大小:487.00 KB

页数:91页

时间:2019-03-04

tuxedo程序员指南_第1页
tuxedo程序员指南_第2页
tuxedo程序员指南_第3页
tuxedo程序员指南_第4页
tuxedo程序员指南_第5页
资源描述:

《tuxedo程序员指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.序论BEATUXEDO系统开发环境这一章介绍BEATUXEDO系统开发环境。你要编写的应用软件,也就是在此环境下进行的。你除了用C程序来表述应用软件的逻辑性外,你将会用到“应用交易监控接口”(ATMI),它涉及到BEATUXEDO系统交易监控和应用软件间的界面。ATMI基本件是类UNIX系统调用的C语言函数;但它们,在BEATUXEDO系统交易监控的控制下,在应用模块间实现通讯(包括所有你需要的相关资源),有特殊的用途。BEATUXEDO系统着重于“客户—服务”这种体系结构。这本书的第2到第7章描述了ATMI是怎样用于编写、调试客户端和服务端的程序。本章只作简要介绍。客户进程一个客户

2、进程要求用户发送一个请求给服务进程,服务进程将返回一个响应。基本的客户端操作一个客户进程用一ATMI基本件介入一个应用系统,利用另一基本件进行信息缓存的分配。这些基本件的应用,持续到信息缓存被送往一个服务并且得到响应为止。下面是一个简单的描述:main(){allocateaTPINITbufferplaceinitialclientidentificationinbufferenrollasaclientoftheBEATUXEDOapplicationallocatebufferdowhiletrue{placeuserinputinbuffersendservicerequestr

3、eceivereplypassreplytotheuser}leaveapplication}-------------------------------------------------------------------------------上图大部分是由ATMI基本件来完成的。placeuserinputinbuffer和passreplytotheuser部分是由C语言来完成。当客户程序准备测试时,你要先用buildclient(1)命令来编译和链接它们。客户重复发送服务请求一个客户在离开应用程序之前,可以发送和接受很多个服务请求。这些将作为一系列的“请求/响应”调用而被发

4、送。如果有重要的信息需要从一个调用传到另一个调用,则会有一通向会话服务的连接被设立。客户程序里的逻辑也是如此,不过是不同的ATMI基本模块被使用而已。服务器进程和服务子程序服务器是提供一个或多个服务的进程。它们不停地检测服务请求的消息队列,并且为它们分配适当的服务子程序。基本的服务端操作应用软件通过将它们的服务子程序与BEATUXEDO提供的main()连接起来,达到建立服务进程的目的。本系统提供的main()是一套预定义的函数。它执行服务器的初始化和终止;为“接收和分派”引入的请求给服务程序,进行缓冲区的分配。所有这些处理相对于应用程序来说是透明的。服务器和服务子程序的交互作用,可以通

5、过下面的描述来概括(图Figure1-1):Figure1-1Pseudo-codeforaRequest/ResponseServerandaServiceSubroutine一个服务在初始化后分配缓冲器,一直等待到请求信息加入到消息队列、请求信息出列、分派它们给服务子程序处理。如果需要应答,还得考虑请求处理部分。会话范例稍微有些不同。假想的代码如下(Figure1-2)。Figure1-2Pseudo-codeforaConversationalServiceSubroutineBEATUXEDO系统提供的main()包含的内容有:使自己成为一个服务、公布服务、分配缓冲区、使请求信息

6、出列。ATMI基本件被应用于处理请求的服务子程序中。当服务子程序准备编译和测试时,它们将通过buildserver()命令连接到服务端的main(),形成可执行的服务模块。ATMI基本件“应用交易监控接口”(ATMI)是一套非常紧凑的基本件,这些基本件用于开关资源、开始和终止交易、分配和释放缓存、提供客户端和服务端的通信。下表是它们的简要描述:组名称操作应用接口tpinit()连接一个应用软件tpterm()离开一个应用软件缓存管理接口tpalloc()分配缓存tprealloc()重新计量缓存tpfree()释放缓存tptypes()取缓存类型请求/响应通信接口tpcall()发送请求

7、等待响应tpacall()异步方式发送请求tpgetrply()异步方式调用后接受回应tpcancel()取消通信处理特殊响应tpgprio()取最后请求的优先级tpsprio()取下一请求的优先级会话接口tpconnect()开始一个会话tpdiscon()结束一个会话tpsend()在会话中发送数据tprecv()在会话中接受数据主动告示接口tpnotify()通过客户id识别tpbroadcast()通过名称识别tpsetun

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。