Chinaunix首页 | 论坛 | 博客
  • 博客访问: 176711
  • 博文数量: 77
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 990
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-21 18:13
文章分类

全部博文(77)

文章存档

2011年(1)

2009年(76)

我的朋友

分类:

2009-06-21 22:35:24

TUXEDO是什么?

       BEA TUXEDO是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的客 /服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。BEA TUXEDO是企业、 Internet 分布式应用中的基础主干平台。它提供了一个开放的环境,支持各种各样的客 户、数据库、网络、遗留系统和通讯方式。


特点:

²       大量在线用户

²       巨量数据

²       信息访问

²       小事务

²       复杂网络


 

系统的层次结构

以下列出了分布式系统的主要层次:

²       用户界面:被分成表示管理表示逻辑。代表有主机框架的3270仿真终端;UNIX系统的X终端等,最新的Web浏览器界面也是。

²       商业逻辑:包含应用逻辑应用规则

²       数据管理:分为数据访问逻辑(SQL)和数据库管理。

区分C/S结构的类型可以根据以下特性:

客户端和服务端程序间逻辑分布,如何实现层次功能;中间件产品及技术的使用。


 

模式的演化

      上图列举了不同种类的C/S模式。其中大型主机系统仍然统治着最大的OLTP应用;基于X终端和UNIX工作站的应用在80年代后期兴起;廉价的WINTEL机器支持的Windows GUI通常用于2层模式;数据库新技术和OSF带领了3层应用模式。


       C/S系统是一种分布式系统,由其程序决定其特点:

²       客户端部分执行前端功能,如:提供用户界面,向后台发出用户请求的交易,将结果返回给用户。

²       服务提供一般后端功能,按交易组织,将结果返回前端。

²       交易是分散的,按需求的操作,可以被远程客户端访问的程序。

C/S模式可能会有如下优点:

²       减小客户端程序体积,提高反应速度

²       位置无关

²       模块化

²       扩展性好

 


 

C/S模式

 

 

       在可管理多层(Managed Multi-Tier –MMT)C/S模式中,提出了中间件管理。在本书范围内,此点由交易处理(Transaction Processing –TP)管理完成,提供以下功能:

²       在客户端和服务端之间进行通讯和传输

²       提供良好的系统管理

²       提供交易、配置的分布式管理

它管理服务端从多个客户端收到的数据流,并不是在C/S间建立一对一的关系,而且客户端可以向多个服务发出请求。这种特点保证了TUXEDO可以提供强大的分布式交易处理框架。

由于不必进行通讯和交易管理,数据库引擎可以专注于其特长:管理数据!在这种情况下,数据库成了一个纯RM(Resource Manager)


 

MMT C/S模式给OLTP应用增加了如下优点:

²       所有C/S模式的优点在MMT模式下都得到了增强。实际上,由于中间件的引入,处理能力得到改善。

²       由于中间件管理了数据流,带来了许多新功能,如:交易路由、服务分布、管道、数据依赖路由等成为可能。

²       统一的数据流控限制了最大交易数,总的数据库过程少了,服务器空闲时间也少了,这就增加了数据库和系统效率。

²       应用代码的设计可以不考虑物理地址和内部数据表示。

²       配置成了一件单纯的管理工作,进一步的,可以通过配置轻易的改变系统结构。服务可以动态的增加、删除和重启动。

 


C/S方案

       构成TUXEDO系统的各部分、工具和其特性组成的MMT C/S模式给应用带来的便利及TUXEDO的实现方法:

MMT C/S模式的优点

TUXEDO的实现技术

模块化

客户端,交易,服务

最大化的处理能力和流量

客户端交易流量控制,分布式配置,快速消息匹配和路由

通讯传输技术

ATMI访问,一种简单且容易定义的接口

实时应用管理

核心配置文件,MIB,管理工具和基于浏览器界面的GAI

名字服务和交易位置无关

公告牌提供目录交易便利

应用数据服务

应用服务位置可以在配置中随意配置

 


 

系统的特点

 

²       TUXEDO /T

n        管理C/S数据流

n        支持3层结构

n        多平台支持

n        协同(BEA Connect, /TxRPC, /OSITP

n        开发

u      通讯手段

l        同步

l        异步

l        会话

l        广播通知

l        管道

l        事件订阅

u      缓冲数据类型(自动编、解码)

u      事务

n        管理

u      核心配置管理

u      管理信息库(MIB

u      Web界面管理接口

u      负载平衡

u      网络配置

u      安全

u      数据依赖路由

u      数据压缩

²       BEA JOLT TUXEDO中间件框架扩展到InternetJava客户端

²       TUXEDO /Q

n        通讯保障

n        预定处理

²       TUXEDO /WS

n        多平台支持

n        BEA TUXEDO ATMI API扩展到客户应用程序中

²       TUXEDO /Domains

²       TUXEDO /COBOL

 

 

 

 


 

 

  一个TUXEDO 应用可以分成3部分

²       发布交易请求的客户端

²       运行响应请求交易的服务

²       描述应用机器和服务信息的配置文件

上图是本例的示意图:

       客户端请求交易“TOUPPER”,数据是“hello world”。交易“TOUPPER”将字符串转成大写,将结果成功返回客户端。


 

客户端范例

#include

#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()切断与应用的连接

 


 

交易范例

#include

#include

#include “atmi.h”

void TOUPPER (TPSVCINFO *rqst)

{

       int i;

       for ( i=0;ilen-1;i++)

              rqst->data[i] = toupper(rqst->data[i]);

       tpreturn(TPSUCCESS,0,rqst->data,0L,0);

}

包含TUXEDO系统头文件”atmi.h”

象所有的TUXEDO交易函数一样,TOUPPER不用直接返回任何值,所以返回类型为void

从客户端收到的数据放在TPSVCINFO结构中,是唯一的入参

交易处理

tpreturn()将数据缓冲返回客户端


 

配置文件

       有关应用的信息,如可用交易,交易位置,应用范围等,有必要集中管理于单一资源。事实上,这些信息被集中于文件UBBCONFIG。该文件分7节,主要部分内容描述如下:

*RESOURCES节包含全局信息,如:标识公告牌位置的唯一键值(IPCKEY),主控节点的名字(MASTER),应用类型(MODEL),下文例子中设为SHM表示是一个单节点应用。

*MACHINES节包含节点信息,如:机器物理名,TUXEDO系统位置(TUXDIR),服务码位置(APPDIR),以及本文件的二进制码文件名(TUXCONFIG)。

*GROUPS节包含一些管理用信息,如设定服务或交易的分布式事务处理。

*SERVERS节包含需要启动的交易和其组信息等其他信息。

*SERVICES节包含影响应用操作方式的的必要信息。本节列出的交易都是需要特别配置的,如有特别的优先级,装入参数,数据依赖路由等。


配置文件范例

#file : ubbconfig

*RESOURCES

IPCKEY                     5000

MASTER            SITE1

MODEL              SHM

*MACHINES

gumby                 LMID=SITE1

TUXDIR              =”/usr/tuxedo”

APPDIR                    =”/usr/apps/simpapp”

TUXCONFIG     =”/usr/apps/simpapp/simpapp.tux”

*GROUPS

GROUP1            LMID=SITE1      GRPNO=1

*SERVERS

simpserv                   SRVGRP=GROUP1       SRVID=1

*SERVICES

TOUPPER


 

建立应用

       建立一个TUXEDO应用,必须进行以下步骤:

²       设置环境变量。

TUXDIR表示TUXEDO用户目录;TUXCONFIG是二进制配置文件名;在路径中加入TUXEDO的可执行文件路径;如果用到公共库,还必须包含LD_LIBRARY_PATH,指出公共库位置。

TUXDIR=/usr/tuxedo

PATH=$PATH:$TUXDIR/bin

TUXCONFIG=/usr/apps/simpapp/simpapp.tux

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TUXDIR/lib

export LD_LIBRARY_PATH PATH TUXDIR

²       buildclient命令从源程序编译出客户端可执行文件。

buildclient –f client.c –o client -v

²       buildserver命令从源程序编译出服务端可执行文件。-s参数列出提供的交易。

Buildserver –f simpserv.c –o simpserv –s TOUPPER -v

²       tmloadcf命令从文本配置文件ubbconfig生成二进制配置文件tuxconfig

Tmloadcf –y ubbconfig


 

TUXEDO C/S系统的必要步骤

²       配置环境变量

²       编码并编译客户端和服务端的程序

²       由文本的ubbconfig生成二进制TUXCONFIG

²       启动系统和服务

²       测试应用

²       关闭系统

 


 

 

l       客户端/服务器模式的演化

l       TUXEDO管理多层客户端/服务器模式

l       一个简单应用:simpapp

阅读(7052) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Java 理论与实践: 线程池与工作队列

给主人留下些什么吧!~~