chapter2_中间件
一个服务可以充当BEA Tuxedo客户程序,去调用其它BEA Tuxedo服务,换句话说,你请求的服务需要调用其它服务才能处理请求。BEA Tuxedo客户程序调用了服务X,等待它的响应,服务X调用服务Y后也处于等待状态,当服务X得到响应后,再给客户程序一个响应,这种机制的特点是效率高。 在嵌套服务中,最里层嵌套服务可以直接给客户程序一个响应,没有必要按照调用栈逐级返回,这就使其它嵌套服务可以处理其它请求,当第一个服务是一个分发代理时,这种模式是非常有用的。在嵌套调用中,被客户调用的服务X使用tpforward(…)函数把请求传给服务Y,服务X没有tpreturn(…)函数。客户程序不用管请求是由谁来完成的,因此,转发调用对客户程序是透明的。 会话通信适合于有多个缓冲区需要以有状态的方式在BEA Tuxedo客户程序和服务之间传递的场合。恰当地使用BEA Tuxedo的会话,因为参与会话的服务器在会话结束之前是不可用的。要完成会话通信,你的代码需要遵循如下步骤: ⑴.客户程序使用tpconnect()启动会话; ⑵.客户程序和服务使用tpsend()和tprecv()函数进行数据交换,一个特殊的标记指示着当前由哪一方来控制着会话; (3). 当服务程序调用tpreturn()或tpdiscon()函数时,会话正常终止 要处理服务器的消息通知,客户程序必须使用tpsetunsol()函数来创建一个主动消息处理器,要发送主动消息,BEA Tuxedo客户程序或服务程序可以调用tpnotify()来把消息传递给单个客户程序,也可以通过tpbroadcast()函数来把消息同时广播给多个客户程序。当客户程序收到主动消息后,BEA Tuxedo系统调用客户程序的主动消息处理器来处理。 在一个基于信号系统中,客户程序没有必要处理所有的主动消息,然而,在一个非信号系统中,客户程序必须使用tpchkunsol()函数来检查主动消息。当客户程序调用一个服务请求时,tpchkunsol()被隐含地调用。在调用tpnotify()时,如果你设置了tpack标记位,你将会收到一个请求通知。 在基于事件的通信中,事件可以被发送到应用程序队列、LOG文件和系统命令。当BEA Tuxedo服务或客户程序调用tppost()函数时,任何一个Tuxedo客户程序都可以使用tpsubscribe()函数订阅用户自定义事件;当一个服务器死了,.SysServerDied事件就会被发布,它由Tuxedo系统自动完成,不需要应用服务器干预。 两个ATMI函数:tpenqueue()把消息放入队列空间,tpdequeue()把消息从队列空间中取走。 图中演示了点对点异步消息机制。客户程序使用tpenqueue()函数将消息传给服务,响应队列和失败队列的名字可以作为参数包含在tpenqueue()调用中,由于在队列中的数据是持续的,因此,所有和排队消息相关的响应消息和失败消息都可以从相应的响应队列和失败队列中取得。 客户程序可以使用缺省的排队规则,即先进先出;也可以改变排队规则,如把一个消息放在队列开始,或放到另一个队列前面。在消息出队时,要出队消息的事务必须成功地提交。 要使用事务,应用程序开发者需要使用如下ATMI函数: ⑴.tpbegin(),开始一个事务; ⑵.tpcommit(),开始一个二阶段提交处理; ⑶.tpabort(),立即终止事务。 客户程序一般执行如下任务: ⑴.调用tpchkauth()决定加入一个应用程序所需的安全级别。可能出现的响应包括:没有安全级别,应用程序口令,应用程序授权,访问控制列表,连接级加密,公钥加密,审计。这些可以根据你的需求进行选择; ⑵.调用tpinit()来连接到一个BEA Tuxedo应用程序,所需的安全信息作为tpinit()的参数传给了应用程序; ⑶. 执行服务请求; ⑷. 调用tpterm()来断开和BEA Tuxedo应用程序的连接。 在Tuxedo系统中,客户程序对数据库的访问只能通过服务调用来完成,服务对数据库的操作由System/T进行管理和监控。System/T对数据库的操作以事务为单位,在图中,客户程序为了达到将一条通讯录从JQDB1移动到JQDB2的目的,依次调用了GET、DEL、ADD三个服务,这三个服务调用构成了一个事务。只有所有操作都执行成功,事务才能提交,否则必须回滚。 客户程序执行tpinit()调用加入System/T,执行tpbegin()调用通知System/T开始一个事务。若三个服务调用都成功,客户程序执行tpcommit()调用通知System/T可以
您可能关注的文档
最近下载
- 求职简历模板免费下载-简历模板免费下载-word.docx VIP
- 2024年医院行风建设总结.pdf VIP
- FR 6011 说明书.pdf VIP
- 2025年中考物理总复习:压强(讲义)解析版.pdf VIP
- 酸碱盐-初升高化学知识复习讲义(人教版).pdf VIP
- 农业开发生态养鸡项目实施方案(有全套附表附图).doc VIP
- 劳动合同范本(2026年通用版,带试用期条款).docx VIP
- 医疗器械软件注册审查指导原则(2022年修订版)20220309.pdf VIP
- 老电影收藏1(1949—1966).doc VIP
- 西南18J517_厨房_卫生间_浴室设施_标准图集.pdf VIP
原创力文档

文档评论(0)