[转帖]    BEA TUXEDO快速入门_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4710 | 回复: 0   主题: [转帖]    BEA TUXEDO快速入门        下一篇 
yongweiguo
注册用户
等级:上尉
经验:593
发帖:32
精华:7
注册:2013-3-11
状态:离线
发送短消息息给yongweiguo 加好友    发送短消息息给yongweiguo 发消息
发表于: IP:您无权察看 2013-3-18 10:07:18 | [全部帖] [楼主帖] 楼主

TUXEDO是什么?

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

特点:

²       大量在线用户

²       巨量数据

²       信息访问

²       小事务

²       复杂网络

C/S系统的层次结构

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

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

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

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

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

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

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模式下都得到了增强。实际上,由于中间件的引入,处理能力得到改善。

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

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

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

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

TUXEDO的C/S方案

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

MMT C/S模式的优点

TUXEDO的实现技术

模块化

客户端,交易,服务

最大化的处理能力和流量

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

通讯传输技术

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

实时应用管理

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

名字服务和交易位置无关

公告牌提供目录交易便利

应用数据服务

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

TUXEDO系统的特点

²       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中间件框架扩展到Internet和Java客户端

²       TUXEDO /Q


n        通讯保障

n        预定处理

²       TUXEDO /WS


n        多平台支持

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

²       TUXEDO /Domains
²       TUXEDO /COBOL


一个例子

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

交易范例

#include <stdio.h>
#include <ctype.h>
#include “atmi.h”
void TOUPPER (TPSVCINFO *rqst)
{
      int i;
      for ( i=0;i<rqst->len-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

²       启动系统和服务

²       测试应用

²       关闭系统




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论