tuxedo速成培训教材

上传人:油条 文档编号:26822537 上传时间:2018-01-02 格式:PPT 页数:54 大小:374KB
返回 下载 相关 举报
tuxedo速成培训教材_第1页
第1页 / 共54页
tuxedo速成培训教材_第2页
第2页 / 共54页
tuxedo速成培训教材_第3页
第3页 / 共54页
tuxedo速成培训教材_第4页
第4页 / 共54页
tuxedo速成培训教材_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《tuxedo速成培训教材》由会员分享,可在线阅读,更多相关《tuxedo速成培训教材(54页珍藏版)》请在金锄头文库上搜索。

1、Tuxedo速成培训,Copy Right 2004-2007,Shanghai Baosight Software Co.,Ltd.The document is created and modified by Baosight, All rights reserved by Baosight.,Tuxedo速成培训,Tuxedo及C/S结构介绍Tuxedo应用的一个简单例子客户端开发服务端开发应用配置Tuxedo管理命令,TUXEDO是什么,BEA TUXEDO是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。它具备分布式事务

2、处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。BEA TUXEDO是企业、 Internet 分布式应用中的基础主干平台。它提供了一个开放的环境,支持各种各样的客 户、数据库、网络、遗留系统和通讯方式。,分布式系统的层次结构,分布式系统的主要层次: 用户界面:被分成表示管理和表示逻辑。代表有主机框架的仿真终端;UNIX系统的X终端等;还包括Web浏览器界面。商业逻辑:包含应用逻辑和应用规则。数据管理:分为数据访问逻辑(SQL)和数据库管理。,基本的C/S模式,客户端模块(可能包含逻辑处理),

3、服务端模块(在数据库中包含逻辑处理),基本的C/S模式,C/S系统是一种分布式系统,其特点是:客户端提供用户界面、请求交易服务端按交易组织,将结果返回客户端交易是分散的、按需求的操作,可管理多层C/S模式,TUXEDO的C/S方案,Tuxedo速成培训,Tuxedo及C/S结构介绍Tuxedo应用的一个简单例子客户端开发服务端开发应用配置Tuxedo管理命令,客户端:提交交易请求服务端:响应请求交易的服务配置文件:描述机器信息、服务信息等,TUXEDO 应用的三个基本部分,一个例子 (图示),#include atmi.h/* TUXEDO Header File */main(int arg

4、c, char *argv)char *buf ;long sendlen, rcvlen;int ret;if (tpinit(TPINIT *) NULL) = -1) (void) fprintf(stderr, Tpinit failedn);exit(1);sendlen = strlen(argv1);if(buf = (char *) tpalloc(STRING, NULL, sendlen+1) = NULL) (void) fprintf(stderr,Error allocating send buffern);tpterm();exit(1);(void) strcpy

5、(buf, argv1);ret = tpcall(”TOUPPER, (char *) buf, 0, (char *),一个例子(客户端),一个例子(客户端),应用程序包含TUXEDO系统的头文件”atmi.h”,以便引用TUXEDO的函数和变量定义。客户端调用tpinit()连接应用用tpalloc()分配一个STRING类型数据缓冲将数据拷贝进缓冲用tpcall()包含数据缓冲,向交易“TOUPPER”发一个同步请求调用tpterm()切断与应用的连接,#include #include #include “atmi.h”void TOUPPER (TPSVCINFO *rqst)in

6、t i;for ( i=0;ilen-1;i+)rqst-datai = toupper(rqst-datai);tpreturn(TPSUCCESS,0,rqst-data,0L,0);,一个例子(服务端),一个例子(服务端),服务端:包含TUXEDO系统头文件”atmi.h”象所有的TUXEDO交易函数一样,TOUPPER不用直接返回任何值,所以返回类型为void从客户端收到的数据放在TPSVCINFO结构中,是唯一的入参交易处理用tpreturn()将数据缓冲返回客户端,一个例子(配置文件),有关应用的信息,如可用交易,交易位置,应用范围等,有必要集中管理于单一资源。事实上,这些信息被集

7、中于文件UBBCONFIG。该文件分7节,主要部分内容描述如下:*RESOURCES节包含全局信息,如:标识公告牌位置的唯一键值(IPCKEY),主控节点的名字(MASTER),应用类型(MODEL),SHM表示是一个单节点应用。*MACHINES节包含节点信息,如:机器物理名,TUXEDO系统位置(TUXDIR),服务程序位置(APPDIR),以及本文件的二进制码文件名(TUXCONFIG)。*GROUPS节包含一些管理用信息,如设定服务或交易的分布式事务处理。*SERVERS节包含需要启动的交易和其组信息等其他信息。*SERVICES节包含影响应用操作方式的的必要信息。本节列出的交易都是需

8、要特别配置的,如有特别的优先级,装入参数,数据依赖路由等。,一个例子(建立应用),建立一个TUXEDO应用,有以下关键步骤: 确保环境变量设置正确TUXCONFIG, PATH, TUXDIR, SHLIB_PATH, APPDIR, others.编写client端和server端的代码,编译buildclient, buildserverbuildclient f client.c o client -wbuildserver f simpserv.c o simpserv s TOUPPER定义配置文件ubbconfig ubbconfig, tmloadcf启动Tuxedotmboot

9、执行程序,Tuxedo速成培训,Tuxedo及C/S结构介绍Tuxedo应用的一个简单例子客户端开发服务端开发应用配置Tuxedo管理命令,客户端在C/S模式中的作用,为了更好的了解客户端的所有任务以编写客户端应用,有必要重新认识客户端在C/S模式中扮演的角色。首先,客户端是用户界面。当用户在系统上用程序进行一次操作的整个过程就是一个客户端过程。前端过程是对客户端的另一个描述。客户端的首要任务就是获得执行操作应该得到的数据。一旦客户端得到了应有的信息,应该将数据按服务能够识别并适合传输的格式打包。然后,向服务端发送请求并等待回应。收到回应数据后,将其按一定格式展现给终端用户。,客户端开发过程,

10、客户端程序的设计和实现可以被分成2部分考虑:用户处理过程TUXEDO功能部分TUXEDO功能部分 ,利用TUXEDO的ATMI API调用实现:基本的TUXEDO调试技巧(tperrno,tpstrerror,userlog)TUXEDO进程管理(tpinit,tpterm)基本数据缓冲管理(tpalloc,tprealloc,tpfree)基本通讯(tpcall,tpacall,tpgetrply),调试和错误处理,当调用ATMI出错时,返回值为-1,全局变量tperrno被设值,该变量提供系统定义的出错原因。函数tpstrerror()以此变量为参数,返回错误的字符说明信息。完整的错误号和

11、文本错误信息存在于文件$TUXDIR/include/atmi.h。函数userlog()重定向输出文件为ULOG.mmddyy。使用方法同printf()。该函数每次输出都写硬盘,这样在系统失败时也能保留调试信息。,进程管理,为了使客户端能够访问TUXEDO交易,客户端程序必须连接TUXEDO应用并进行登记。这种管理性步骤在切断连接时也要类似执行一次。API如下:int tpinit(TPINIT *tpinfo)客户端通过调用tpinit()与应用连接,进行交互,有以下事件发生:调用安全接口检查客户端是否需要认证连接BB,使进一步的ATMI函数得到信息使BBL了解BB中已经存在请求建立客户

12、端消息队列使服务可以发回返回信息,系统可以送出广播通知等int tpterm()客户端调用tpterm()切断与应用的连接,结束了客户端的TUXEDO进程,该过程发生以下事件:BB入口删除,使BBL知道客户端已经离开客户端离开BB,客户端的信号量被移除,数据缓冲管理,ATMI提供函数分配(tpalloc(),tprealloc())、释放(tpfree())TUXEDO数据缓冲。应用负责将应用数据填入缓冲。应用的数据类型和组织决定应该选择何种数据缓冲。函数type()可以返回正在使用的数据缓冲类型。以下是TUXEDO基本的数据缓冲类型:STRING以空值结尾的单域字符数据。CARRAY 有长度

13、定义的单域二进制数据,不进行编、解码。使BBL了解BB中已经存在请求VIEW类似C的结构多域组织FML无固定结构的自定义缓冲,使用类型缓冲区,在Tuxedo系统中的所有通信过程都是通过类型缓冲区来完成的,Tuxedo系统提供了大量的类型缓冲区来供开发者使用。所有类型缓冲区都必须通过Tuxedo的tpalloc(), tprealloc(), tpfree()这些ATMI来分配回收。统一定义的类型缓冲区可以使它们在跨越不同网络、不同协议、不同CPU构架以及不同操作系统之间得到统一的处理,这就使得开发者在分布式计算环境中有效地避开了异构网络和异构计算机系统带来的差异,把精力集中在商业逻辑的开发上。

14、,同步通讯,客户端与服务端之间的同步通讯通过tpcall()这一ATMI函数调用完成。函数tpcall()有6个参数:交易名请求数据缓冲请求数据缓冲的长度(仅缓冲类型为CARRY时需要)返回数据缓冲的地址。缓冲大小可以根据收到数据而改变。返回数据缓冲大小的地址标志量标志量可以是以下值:TPNOTRAN如有交易不调用TPNOBLOCK如有阻塞不等待TPNOTIME愿意等待直到超时TPSIGRSTRT系统中断信号在TUXEDO完成后再发布出错返回-1,错误原因如下:TPEINVAL参数错误TPETRAN交易相关错误TPETIME超时,异步通讯,ATMI提供2个异步通讯函数:tpacall()、tp

15、getrply()tpacall()有4个参数:交易名请求数据缓冲请求数据缓冲的长度(仅缓冲类型为CARRY时需要)标志量(同tpcall())返回值是一个非负描述符(句柄),用于其后的tpgetrply()调用。如果tpacall()调用失败,句柄是-1,错误原因设置在tperrno,可能是以下值:TPELIMIT过多未处理的tpacall()TPETIME超时tpacall()后总跟随一个tpgetrply(),有4个参数:变量地址,可以传入tpacall()所得句柄,或另设一个返回数据缓冲的地址,缓冲大小可以根据收到数据而改变。返回数据缓冲大小的地址标志量,Tuxedo系统提供的通信模式,Tuxedo系统提供多种通信模式:同步Request/Response模式;异步Request/Response模式;嵌套调用;调用转发;会话通信;主动消息通告;基于事件的通信;基于队列的通信;使用事务。,同步Request/Response模式,Tuxedo客户程序使用ATMI函数tpcall()把一个请求送到服务程序,客户程序要等到服务程序作出响应后才处理后面的工作,在收到服务程序的响应之前一直处于阻塞状态。,异步Request/Response模式,客户程序需调用两个ATMI函数:tpacall()函数,用于请求一个服务;tpgetrply()函数,用于取得服务程序的响应。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号