tuxedo教程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

第一章开发BEA Tuxedo应用程序 (4)

§1.1 开发前的思考 (4)

§1.2 创建BEA Tuxedo的客户程序 (4)

客户程序的任务 (4)

§1.3 创建的服务程序 (5)

服务程序的任务 (5)

§1.4 在应用程序中使用类型缓冲区 (5)

§1.5 在BEA Tuxedo应用程序中使用消息范例 (6)

1.BEA Tuxedo系统提供多种通信模式 (6)

2. 同步的Request/Response模式 (6)

3.异步Request/Response模式 (7)

4.使用嵌套调用 (7)

5.使用调用转发 (8)

6.会话通信 (8)

7.主动消息通告 (9)

8.基于事件的通信 (10)

9.基于队列的通信 (11)

10.使用事务 (12)

第二章一个简单的Tuxedo应用程序simpapp (13)

准备simpapp的文件和资源 (13)

1.复制simpapp例子的相关文件 (13)

2.检查并编译客户程序 (14)

3.检查并编译服务程序 (16)

4.编辑并加配置文件 (17)

5.启动应用程序 (18)

6.如何执行运行时应用程序 (18)

7.如何监视运行时应用程序 (19)

8.如何关闭应用程序 (19)

第三章一个完整的Tuxedo应用程序bankapp (21)

§3.1 熟悉bankapp的文件 (21)

§3.2 检查bankapp的客户程序 (22)

1.bankclt.c文件 (22)

2.bankapp中怎样使用ud(1) (24)

3.一个请求/响应客户:audio.c (24)

4.一个会话客户:auditcon.c (26)

5.一个监视事件的客户bankmgr.c (26)

§3.3 检查bankapp的服务器和服务 (26)

1.bankapp的请求/响应服务器 (26)

2.bankapp的会话服务器 (27)

3.bankapp的服务 (27)

4.集成到服务器中的应用 (31)

5.服务编码的可选方法 (31)

6.准备bankapp的文件和资源 (31)

7.运行bankapp (39)

第一章开发BEA Tuxedo应用程序

§1.1 开发前的思考

在开发BEA Tuxedo应用程序之前,你需要先搞清楚一系列和设计开发相关的概念,如识别什么是客户机,有哪些方法可以从外界收集数据并提交服务器进行业务处理;识别什么是服务器,哪些程序包容了可以处理客户机输入的商业逻辑;识别什么是类型缓冲区,客户程序在向其这程序发送数据前如何分配内存区域;什么是BEA Tuxedo的消息范例等。最后你还要弄明白客户程序是通过调用ATMI库来访问BEA Tuxedo系统的。

§1.2 创建BEA Tuxedo的客户程序

创建BEA Tuxedo的客户程序与在C和C++编程语言中创建其它应用程序一样,BEA Tuxedo提供了一个其于C语言的编程接口,即应用程序事务监控接口ATMI,这套接口很容易使用,以便用于开发客户程序和服务程序。除了C语言接口外,BEA Tuxedo还提供了COBOL接口。

客户程序的任务

客户程序一般执行如下任务:

⑪.调用tpchkauth()决定加入一个应用程序所需的安全级别。可能出现的响应包括:没有安全级别,应用程序口令,应用程序授权,访问控制列表,连接级加密,公

钥加密,审计。这些可以根据你的需求进行选择;

⑫.调用tpinit()来连接到一个BEA Tuxedo应用程序,所需的安全信息作为tpinit()的参数传给了应用程序;

⑬.执行服务请求;

⑭.调用tpterm()来断开和BEA Tuxedo应用程序的连接。

§1.3 创建的服务程序

尽管开发者使用ATMI编程接口来创建BEA Tuxedo客户程序和服务程序,但服务程序不全部由开发者来编写,开发者只需写一些称为服务的商业函数,然后和BEA Tuxedo 的一些二进制程序联编成一个可执行的服务程序。BEA Tuxedo服务程序启动后,它总是保持运行状态,只到接收到一个shutdown消息为止。一个典型的BEA Tuxedo服务程序在shutdown或reboot之前都在执行着数千个服务。

服务程序的任务

⑪.在BEA Tuxedo服务程序启动时,执行tpsvrinit()函数,可以在里面打开一些如数据库之类的资源供以后使用;

⑫.在BEA Tuxedo服务程序关闭时,执行tpsvrdown()函数,可以在里面关闭tpsvrinit()中打开的资料;

⑬.BEA Tuxedo服务程序以服务的形式来响应客户程序的请求,客户程序不是通过名字来调用服务程序的,而是调用服务,客户程序不知道处理它请求的服务程序

的位置;

⑭.服务程序调用tpreturn()函数来结束服务请求,并返回一个缓冲区,必要时,将它传给客户程序;

§1.4 在应用程序中使用类型缓冲区

在Bea Tuxedo系统中的所有通信过程都是通过类型缓冲区来完成的,Bea Tuxedo系

统提供了大量的类型缓冲区来供开发者使用。所有类型缓冲区都必须通过Bea Tuxedo的tpalloc(), tprealloc(), tpfree()这些ATMI来分配回收,它们都有特定的头部。

统一定义的类型缓冲区可以使它们在跨越不同网络、不同协议、不同CPU构架以及不同操作系统之间得到统一的处理,这就使得开发者在分布式计算环境中有效地避开了异构网络和异构计算机系统带来的差异,把精力集中在商业逻辑的开发上。

§1.5 在BEA Tuxedo应用程序中使用消息范例1.BEA Tuxedo系统提供多种通信模式

⑪.同步Request/Response模式;

⑫.异步Request/Response模式;

⑬.嵌套调用;

⑭.调用转发;

⑮.会话通信;

⑯.主动消息通告;

⑰.基于事件的通信;

⑱.基于队列的通信;

⑲.使用事务。

2. 同步的Request/Response模式

要进行同步调用,Bea Tuxedo客户程序使用ATMI函数tpcall()把一个请求送到服务程序,它不是通过名字来调用服务程序的,而是通过特定的服务来完成。客户程序要等到服务程序作出响应后才处理后面的工作,也就是说,它在收到服务程序的响应之前一直处于阻塞状态。

相关文档
最新文档