tuxedo培训-第四天

tuxedo培训-第四天

ID:11477951

大小:1.02 MB

页数:31页

时间:2018-07-12

tuxedo培训-第四天_第1页
tuxedo培训-第四天_第2页
tuxedo培训-第四天_第3页
tuxedo培训-第四天_第4页
tuxedo培训-第四天_第5页
资源描述:

《tuxedo培训-第四天》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、高伟达软件公司王鹏BeaTuxedo培训教程第四天课程编写整理:王鹏2005-7-22第31页共31页高伟达软件公司王鹏第五章开发与应用在开发BEATuxedo应用程序之前,你需要先搞清楚一系列和设计开发相关的概念,如识别什么是客户机,有哪些方法可以从外界收集数据并提交服务器进行业务处理;识别什么是服务器,哪些程序包容了可以处理客户机输入的商业逻辑;识别什么是类型缓冲区,客户程序在向其这程序发送数据前如何分配内存区域;什么是BEATuxedo的消息范例等。最后你还要弄明白客户程序是通过调用ATMI库来

2、访问BEATuxedo系统的。创建BEATuxedo的客户程序与在C和C++编程语言中创建其它应用程序一样,BEATuxedo提供了一个其于C语言的编程接口,即应用程序事务监控接口ATMI,这套接口很容易使用,以便用于开发客户程序和服务程序。除了C语言接口外,BEATuxedo还提供了COBOL接口。第31页共31页高伟达软件公司王鹏Tuxedo应用程序的开发流程Tuxedo客户端的处理流程第31页共31页高伟达软件公司王鹏Tuxedo服务进程的处理流程第31页共31页高伟达软件公司王鹏5.1创建服务

3、程序5.1.1概述尽管开发者使用ATMI编程接口来创建BEATuxedo客户程序和服务程序,但服务程序不全部由开发者来编写,开发者只需写一些称为服务的商业函数,封装业务逻辑,然后和BEATuxedo的一些二进制程序联编成一个可执行的服务程序。BEATuxedo服务程序启动后,它总是保持运行状态,只到接收到一个shutdown消息为止。一个典型的BEATuxedo服务程序在shutdown或reboot之前都在执行着数千个服务。5.1.2服务的运行流程为了更好的了解服务端的所有任务以编写服务端应用,有必

4、要重新认识服务端在C/S模式中扮演的角色。首先,服务是系统资源的联系点。例如,一个数据库服务联系实际数据库并对其进行查询和修改。为有效进行,应建立一个数据库连接。其次,服务必须发布系统内可以访问的交易,保证客户端可以知道把请求发往何处。以上两步结束后,服务进入一个循环——第31页共31页高伟达软件公司王鹏接收请求、处理请求并返回结果。接收请求包括进入消息队列,得到交易请求。处理请求包括检查请求数据缓冲,运行商业规则和逻辑,可能还包括访问数据库和返回结果数据缓冲。当系统管理员需要关闭系统,可以通过系统管

5、理工具将关闭系统的消息发给服务。服务完成所有交易,取消交易发布,关闭资源连接然后结束。5.1.3服务程序的任务(1)在BEATuxedo服务程序启动时,执行tpsvrinit()函数,可以在里面打开一些如数据库之类的资源供以后使用;(2)在BEATuxedo服务程序关闭时,执行tpsvrdown()函数,可以在里面关闭tpsvrinit()中打开的资源;(3)BEATuxedo服务程序以服务的形式来响应客户程序的请求,客户程序不是通过名字来调用服务程序的,而是调用服务,客户程序不知道处理它请求的服务程

6、序的位置;(4)服务程序调用tpreturn()函数来结束服务请求,并返回一个缓冲区,必要时,将它传给客户程序;注:如果是在tpsvrinit()中连接数据库,为了保证数据库的正常连接,在执行服务的时候,最好能够判断数据库是否断开连接,如果断开连接,则重新连接数据库。这样可以从根本上保证系统能够持续稳定的长期运行,基本上不需要人工干预。也就不再会出现“数据库重启了,中间件必须重启”的情况。第31页共31页高伟达软件公司王鹏5.1.4返回控制在一般的C程序中,函数通过调用return()将控制返回,函数

7、调用堆栈清空,控制返回调用点。TUXEDO系统的交易函数必须结束于将回应返回给客户端或前转到另一交易。函数tpreturn()用来结束交易将回应数据缓冲发给客户端。函数tpforward()将交易前转给另一个交易,由其负责回应原来的客户端。下图是tpreturn()的示意图。第31页共31页高伟达软件公司王鹏tpreturn()设计来代替常规的return(),结束绝大多数函数。它将回应数据缓冲返回请求的客户端,控制权返回给服务程序的标准main()(由TUXEDO提供)。tpreturn()使用下列

8、参数:第一个值表示交易是否成功,有3种可能:²TPSUCCESS交易完全成功,如果是一个会话,TPEV_SVCSUCC被生成²TPFAIL交易失败,tperrno将被设成TPESVCFAIL。如果是事务模式,事务被标志成abort-only,如果是会话,TPEV_SVCFAIL被生成。²TPEXIT与TPFAIL类似,但服务会中断,如果服务设成可以重启动,则可以由TUXEDO系统将其重启动。第31页共31页高伟达软件公司王鹏第二个值是应用定义返回码,此处

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

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

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