BEATuxedo应用程序开发指南.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:38 大小:15.2MB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

BEATuxedo应用程序开发指南.doc

BEATuxedo应用程序开发指南.doc

预览

免费试读已结束,剩余 28 页请下载文档后查看

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

应用程序开发指南作者:经乾邮件:jq75@sina.com第页共NUMPAGES38页第一章开发BEATuxedo应用程序§1.1开发前的思考在开发BEATuxedo应用程序之前,你需要先搞清楚一系列和设计开发相关的概念,如识别什么是客户机,有哪些方法可以从外界收集数据并提交服务器进行业务处理;识别什么是服务器,哪些程序包容了可以处理客户机输入的商业逻辑;识别什么是类型缓冲区,客户程序在向其这程序发送数据前如何分配内存区域;什么是BEATuxedo的消息范例等。最后你还要弄明白客户程序是通过调用ATMI库来访问BEATuxedo系统的。§1.2创建BEATuxedo的客户程序创建BEATuxedo的客户程序与在C和C++编程语言中创建其它应用程序一样,BEATuxedo提供了一个其于C语言的编程接口,即应用程序事务监控接口ATMI,这套接口很容易使用,以便用于开发客户程序和服务程序。除了C语言接口外,BEATuxedo还提供了COBOL接口。客户程序的任务客户程序一般执行如下任务:调用tpchkauth()决定加入一个应用程序所需的安全级别。可能出现的响应包括:没有安全级别,应用程序口令,应用程序授权,访问控制列表,连接级加密,公钥加密,审计。这些可以根据你的需求进行选择;调用tpinit()来连接到一个BEATuxedo应用程序,所需的安全信息作为tpinit()的参数传给了应用程序;执行服务请求;调用tpterm()来断开和BEATuxedo应用程序的连接。§1.3创建的服务程序尽管开发者使用ATMI编程接口来创建BEATuxedo客户程序和服务程序,但服务程序不全部由开发者来编写,开发者只需写一些称为服务的商业函数,然后和BEATuxedo的一些二进制程序联编成一个可执行的服务程序。BEATuxedo服务程序启动后,它总是保持运行状态,只到接收到一个shutdown消息为止。一个典型的BEATuxedo服务程序在shutdown或reboot之前都在执行着数千个服务。服务程序的任务在BEATuxedo服务程序启动时,执行tpsvrinit()函数,可以在里面打开一些如数据库之类的资源供以后使用;在BEATuxedo服务程序关闭时,执行tpsvrdown()函数,可以在里面关闭tpsvrinit()中打开的资料;BEATuxedo服务程序以服务的形式来响应客户程序的请求,客户程序不是通过名字来调用服务程序的,而是调用服务,客户程序不知道处理它请求的服务程序的位置;服务程序调用tpreturn()函数来结束服务请求,并返回一个缓冲区,必要时,将它传给客户程序;§1.4在应用程序中使用类型缓冲区在BeaTuxedo系统中的所有通信过程都是通过类型缓冲区来完成的,BeaTuxedo系统提供了大量的类型缓冲区来供开发者使用。所有类型缓冲区都必须通过BeaTuxedo的tpalloc(),tprealloc(),tpfree()这些ATMI来分配回收,它们都有特定的头部。统一定义的类型缓冲区可以使它们在跨越不同网络、不同协议、不同CPU构架以及不同操作系统之间得到统一的处理,这就使得开发者在分布式计算环境中有效地避开了异构网络和异构计算机系统带来的差异,把精力集中在商业逻辑的开发上。§1.5在BEATuxedo应用程序中使用消息范例1.BEATuxedo系统提供多种通信模式同步Request/Response模式;异步Request/Response模式;嵌套调用;调用转发;会话通信;主动消息通告;基于事件的通信;基于队列的通信;使用事务。同步的Request/Response模式要进行同步调用,BeaTuxedo客户程序使用ATMI函数tpcall()把一个请求送到服务程序,它不是通过名字来调用服务程序的,而是通过特定的服务来完成。客户程序要等到服务程序作出响应后才处理后面的工作,也就是说,它在收到服务程序的响应之前一直处于阻塞状态。3.异步Request/Response模式要进行异步调用,客户程序必须调用两个ATMI函数:tpacall(3c)函数,用于请求一个服务;tpgetrply(3c)函数,用于取得服务程序的响应。客户程序在请求和响应之间要完成特定任务时,可以采用这种模式。4.使用嵌套调用一个服务可以充当BEATuxedo客户程序,去调用其它BEATuxedo服务,换句话说,你请求的服务需要调用其它服务才能处理请求。BEATuxedo客户程序调用了服务X,等待它的响应,服务X调用服务Y后也处于等待状态,当服务X得到响应后,再给客户程序一个响应,这种机制的特点是效率高。5.使用调用转发在嵌套服务中,最里层嵌