- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BEA TUXEDO培训和指导
BEA TUXEDO培训和指导
简介
TUXEDO是什么?
BEA TUXEDO是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的客 户/服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。BEA TUXEDO是企业、 Internet 分布式应用中的基础主干平台。它提供了一个开放的环境,支持各种各样的客 户、数据库、网络、遗留系统和通讯方式。
一个例子
一个TUXEDO 应用可以分成3部分
发布交易请求的客户端
运行响应请求交易的服务
描述应用机器和服务信息的配置文件
上图是本例的示意图:
客户端请求交易“TOUPPER”,数据是“hello world”。交易“TOUPPER”将字符串转成大写,将结果成功返回客户端。
客户端范例
#include stdio.h
#include “atmi.h”
main()
{
char *buf;
long len;
if (tpinit((TPINIT * )NULL) == -1)
{
exit(1);
}
if ((buf=tpalloc(“STRING”,NULL,80))==NULL)
{
tpterm();
exit(2);
}
strcpy(buf, “hello world”);
if ( tpalloc(“TOUPPER”,buf,0,buf,len,0)== -1)
{
fprintf(stderr,”service requst fail\n”);
tpfree(buf);
tpterm();
exit(3);
}
printf(“return string is :%s\n”,buf);
tpfree(buf);
tpterm();
exit(0);
}
包含TUXEDO系统的头文件”atmi.h”,以便引用TUXEDO的函数和变量定义。
客户端调用tpinit()连接应用
用tpalloc()分配一个STRING类型数据缓冲
将”hello world”拷贝进缓冲
用tpcall()包含数据缓冲,向交易“TOUPPER”发一个同步请求
打印出改变的数据缓冲
调用tpterm()切断与应用的连接
开发TUXEDO C/S系统的必要步骤
配置环境变量
编码并编译客户端和服务端的程序
由文本的ubbconfig生成二进制TUXCONFIG
启动系统和服务
测试应用
关闭系统
客户端开发 Client Development
客户端开发过程
客户端程序的设计和实现可以被分成2部分考虑:
用户处理过程
TUXEDO功能部分
下文的客户端程序只描述了TUXEDO功能部分。
利用TUXEDO的ATMI API调用可以做到:
——基本的TUXEDO调试技巧(tperrno,tpstrerror,userlog)
——TUXEDO进程管理(tpinit,tpterm)
——基本数据缓冲管理(tpalloc,tprealloc,tpfree)
——基本通讯(tpcall,tpacall,tpgetrply)
编译C语言客户端程序
当C语言的客户端程序编码完后,需要连接正确的库并编译。使用buildclient可以使该过程容易一点。该命令引用了C语言编译器并按正确的次序连接TUXEDO系统的库。为使用buildclient,应确认客户端程序包含了”atmi.h”,TUXDIR被设了正确的值。命令语法如下:
buildclient [-v] –o executable –f first-file [-f first-file] [-l last-file]
此处first-file表示的应该是编译器可以识别的文件。缺省的编译器是cc。一般是.c(c源程序),.C(C++源程序),.o(object)或.a(库)文件。
参数解释如下:
-o 生成的可执行文件名
-f 需要在连接TUXEDO库之前传给编译器的文件名。如有多于一个的文件名,名字应用空格分隔并用引号引起。也可以使用多个-f参数。
-l 需要在连接TUXEDO库之前传给编译器的文件名。语法同上。
-v 编译过程显示。
服务端开发 Server Development
服务的运行流程
为了更好的了解服务端的所有任务以编写服务端应用,有必要重新认识服务端在C/S模式中扮演的角色。
首先,服务是系统资源的联系点。例如,一个数据库服务联系实际数据库并对其进行查询和修改。为有效进行,应建立一个数据库连接。
其次,服务必须发布系统内可以访问的交易,保证客户端可以知道把请求发
文档评论(0)