9512.net
甜梦文库
当前位置:首页 >> IT/计算机 >>

Tuxedo的工作原理及Toupper功能讲解



BEA Tuxedo 中间件应用初探 本文以一个经典的例子(大写字母转换),主要介绍 Tuxedo 的工作原理及 开发方法,以及 Tuxedo 应用程序的管理方法。 随着中间件在大型应用系统中的日益普及,目前各类中间件充斥着市场,它 们在银行、电信、金融等大规模关键事务领域中的整合各种异构平台、保证交易 完整性等方面表现出了超强的能力。BEA Tuxedo 就是其中一款著名的交易中间 件,本文以一个经典的例子(大写字母转换),主要介绍 Tuxedo 的工作原理及 开发方法,以及 Tuxedo 应用程序的管理方法。 工作原理 Tuxedo 是 BEA 公司的交易中间件产品,1984 年由贝尔实验室开发成功,1992 年 易主 Novell 公司,1996 年由 BEA 公司收购,经过十多年的不断更新和完善, Tuxedo 已经发展成为交易中间件领域事实上的标准。 Tuxedo 可以有效地整合企业异构 C/S 系统,实现大规模的关键业务处理和分布 式事务管理,从而为企业提供一个可靠的、高性能的、易维护的三层分布式计算 机环境。图 1 展示了一个基本 Tuxedo 系统的组成和工作原理。

图一 ① ② ③ Client 向 System/T 发出查询请求,以找到 Server 消息队列的地址; Client 根据找到的入口地址将请求发送到 Server 的消息队列中; Server 处理请求,并将结果返回给 Client 的消息队列。

System/T 是 Tuxedo 系统的核心,它实现了 Tuxedo 的所有功能和特征,如 C/S 数据流管理、服务请求的负载均衡、全局事务管理以保证交易的完整性、同步/ 异步服务请求、两阶段提交以确保消息的发送等。System/T 提供了一个类似公

告栏的服务,用以发布 C/S 计算机环境中所有服务器、服务和客户机的信息,供 其它分布式计算的参与者使用。下面笔者将通过一个大写字母转换的简单例子, 讲述 Tuxedo 应用程序工作的基本原理和开发方法。 应用介绍 Simpapp 是 Tuxedo 系统自带的一个例子,它由服务器和客户端程序两部分组成。 服务器 simpserv 实现了一个 TOUPPER 服务,它从客户程序接收一个字符串,将 它转换成大写后,传回客户端。整个工作流程可以用图 2 表示。

图二 客户机首先收集要转换成大写的字符串,然后连接到 System/T 并将字符串放入 缓冲区,接着调用服务器上的 TOUPPER 服务,最后从服务器响应缓冲区中取出数 据并退出 System/T。 1.Simpapp 的服务程序 下面是服务程序 simpserv.c 的源代码: #include <stdio.h> #include "atmi.h" / Tuxedo ATMI 函数库的头文件 / TOUPPER(TPSVCINFO rqst){ int i; for(i=0;i<rqst->len-1;i++) rqst->data[i]=toupper(rqst->data[i]); / 将 rqst->data 缓冲区内容转换成 大写 / tpreturn(TPSUCCESS,0,rqst->data,0L,0); / 将 rqst->data 作为响应缓冲区返 回 / } 可能你已经注意到了,该程序没有提供 main 方法。事实上,Tuxedo 不要求程序 员编写 main 方法,以便让他们把精力集中在业务逻辑的编写上,在编译时, Tuxedo 系统会为它自动创建。 TPSVCINFO 是 Tuxedo 记录服务调用信息的一个结构体,data 域是保存请求数据 的缓冲区,len 域记录了 data 域的长度。 2.Simpapp 的客户程序 客户程序 Simpcl.c 是服务调用的发起者,它从命令行接收参数,通过 tpinit() 调用连接到 System/T,通过 tpalloc()调用分配一个字符串类型的缓冲区,通过

tpcall()调用请求 TOUPPER 服务,最后通过 tpterm()调用退出 System/T,下面 是它的源代码: #include <stdio.h> #include "atmi.h" int main(int argc, char argv[]){ char buf; long len; if(argc != 2) { (void) fprintf(stderr, "Usage: simpcl string\n"); exit(1); } if (tpinit((TPINIT ) NULL) == -1) { (void) fprintf(stderr, "Tpinit failed\n"); exit(1); } len = strlen(argv[1]); if((buf = (char ) tpalloc("STRING", NULL, len+1)) == NULL) { (void) fprintf(stderr,"Error allocating send buffer\n"); tpterm(); exit(1); } (void) strcpy(buf, argv[1]); if(tpcall("TOUPPER", buf, 0, &&buf, &&len, 0)==-1){ (void) fprintf(stderr, "Can't send request to service TOUPPER\n"); tpfree(buf); tpterm(); exit(3); } (void) fprintf(stdout, "Returned string is: %s\n", rcvbuf); tpfree(buf); tpterm(); return(0); } 3.Simpapp 的配置文件 除了客户和服务程序以外,Tuxedo 还需要一个配置文件来对应用进行描述。配 置文件由多个段组成,每个段定义由一个星号开始。下面是 NT 平台下 simpapp 的配置文件 ubbsimple 的内容, 其中带下划线的部分需要根据机器的资源配置作 适当修改。

RESOURCES IPCKEY 123456 MASTER NODE1 MODEL SHM MACHINES JQ LMID=NODE1 TUXDIR="G:\ProgramFiles\BEA Systems\Tuxedo" APPDIR="G:\simpapp" TUXCONFIG="G:\simpapp\tuxconfig" GROUPS GROUP1 LMID=NODE1 GRPNO=1 SERVERS simpserv SRVGRP=GROUP1 SRVID=1 CLOPT="-A" SERVICES TOUPPER TUXDIR 指的是 Tuxedo 的安装路径, APPDIR 指的是 simpapp 应用程序所在的目录, TUXCONFIG 指的是 simpapp 的二进制配置文件,一般为%APPDIR%\tuxconfig。 4.Simpapp 的编译和运行 由于 Buildclient 和 Buildserver 没有编译能力,要编译 Tuxedo 应用程序时, 还必须安装第三方的 C 语言编译器,在 NT 平台下推荐使用 VC。步骤如下: ⑴设置环境变量 SET PATH=%PATH%; G:\Program Files\BEA Systems\Tuxedo\Bin SET TUXDIR=G:\Program Files\BEA Systems\Tuxedo TUXCONFIG=G:\simpapp\tuxconfig ⑵生成二进制配置文件 tmloadcf -y ubbsimple ⑶编译客户程序 buildclient -o simpcl.exe -f simpcl.c ⑷编译服务程序 buildserver -o simpserv.exe -f simpserv.c -s TOUPPER ⑸启动服务程序

tmboot -y ⑹运行客户程序 simpcl "hello, JQ" ⑺关闭应用程序 tmshutdown -y 5.管理 Simpapp 通过 tmadmin 命令可以方便地管理服务程序。



更多相关文章:
BEA Tuxedo中间件应用初探
工作原理 Tuxedo 是 BEA 公司的交易中间件产品, 1984 年由贝尔实验室开发成功,...("TOUPPER", buf, 0, &&buf, &&len, 0)==-1){ (void) fprintf(stderr...
Tuxedo与Weblogic互连指南
功能,服务名称为 TOLOWER 已导入:引入 Tuxedo 中的 TOUPPER 服务给 Weblogic 调用入口 远程客户端使用 tpcall 调用 Tuxedo 的 TOLOWER 方法时,Tuxedo 根据 dom...
Tuxedo相关原理
为了很好的理解整个工作过程,我们首先来看一下 WSC 连上来的时候的一些步骤。 ...以 上假设大家有相关的 TUXEDO 开发经验,能完成 TOUPPER 的 WS 版的配置和...
Tuxedo学习
为了很好的理解整个工作过程,我们首先来看一下 WSC 连上来的时候的一些步骤。 ...以 上假设大家有相关的 TUXEDO 开发经验,能完成 TOUPPER 的 WS 版的配置和...
TUXEDO与WEBLOGIC通过WTC进行互连的配置
二、WTC 安装过程 (1) WEBLOGIC 与 TUXEDO 必须先...这儿只讲解 wtc 的使用。 环境概述: tuxedo,...TOUPPER -s LDOMAIN_TEST 编译 ubbconfig,dmconfig ...
weblogic与tuxedo配置详解
TOUPPER RNAME="TOUPPER" 红色为 tuxedo 为接入的 ...以上为在 weblogic 9.2 上的配置过程,在 weblogic ...包含消息中间件等功能,历史悠久,功能 强大,是由 ...
一个简单的TUXEDO程序
以下是 tuxedo 的一个简单例子,大家很容易能从这 个例子中明白中间件的编程思想,程序的各个函数都加上了注释以便于理解。 程序功能:客户端请求交易"TOUPPER",...
Windows平台下tuxedo应用simpapp举例
TOUPPER(TPSVCINFO *rqst) /*tuxedo 服务名字 TOUPPER...解释的详 细程度也不一样,在查阅过程中,多有不便...(注:感觉上此参数和 WSL CLOPT [-t timeout]功能...
BEA Tuxedo应用程序开发笔记
Tuxedo 系统中的所有通信过程都是通过类型缓冲区来完成的,Bea Tuxedo 系统提供了...程序功能:客户端请求交易"TOUPPER",数据是"hello world"。交易"TOUPPER"将字符...
Linux 下安装Tuxedo
在安装时需要注意的地方 当安装过程中出现“Choose ...TOUPPER(-f 参数表示第一个输入文件 -o 参数表示 ...tuxedo 和 Oracle 数据库联动工作,首先要弄清楚 XA...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图