TUXEDO中间件介绍及应用
- 格式:doc
- 大小:1.09 MB
- 文档页数:6
TUXEDO中间件介绍及应用
一、前言
首先介绍一下什么是中间件?中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。
世界著名的咨询机构Standish Group在一份研究报告中归纳了中间件的十大优越性:
●缩短应用的开发周期
●节约应用的开发成本
●减少系统初期的建设成本●降低应用开发的失败率●保护已有的投资●简化应用集成
●减少维护费用
●提高应用的开发质量●保证技术进步的连续性●增强应用的生命力
Tuxedo是第一个严格意义上的中间件产品。Tuxedo是1984年在当时属于AT&T的贝尔实验室开发完成的,但Tuxedo在很长一段时期里只是实验室产品。直到BEA公司1995年收购Tuxedo后,使Tuxedo现已经发展成为交易中间件领域事实上的标准。
TUXEDO是在企业、Internet 这样的分布式运算环境中,开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。
二、T UXEDO的组件软件模型
TUXEDO采用三层结构的组件软件模型。
图1 BEA TUXEDO 的组件软件模型概要
图1表示TUXEDO的组件软件模型的概要。该结构分为三层:
●客户为第一逻辑层,实现用户交互和数据表示,向第二层的服务器请求调用核心的
业务逻辑处理服务,比如数据库的读取和更新。
●中间层为服务器组件,这些组件由BEA TUXEDO管理,实现核心的业务逻辑服务,
并将这些服务按名字广播,接受并处理从客户或其他服务器发出的请求这些服务的
消息,并将处理结果返回给请求者,即客户或其他服务器。
●资源管理器,比如像关系数据库,构成模型的第三层,负责管理应用系统的数据资
源。服务器组件在完成服务的过程中通过资源管理器存取它管理的数据,或者说请
求资源管理器的数据服务。
相对于以数据库为中心的的两层客户/数据库服务器模型,BEA TUXEDO的三层结构模型,客户/应用服务器/数据库将应用的业务逻辑和用户界面的表示分开。这样就允许开发人员专注于应用的核心业务逻辑的划分、封装、与相互作用,快速建立系统的核心业务功能的原型。
另外,明确地划分界面表示和业务逻辑,对用户有效地管理应用系统也是意义重大。对具有成百上千个客户的两层结构的系统来说,经常性的更新、升级系统是一项十分棘手的维护工作,尤其是当系统已经投入实地运行以后。三层模型将用户交互的表示部分与内部的业务逻辑分开,这样对业务逻辑的一些修改甚至数据库模式的改动经常都不要求客户的改动。而且,将核心业务逻辑组件和表示逻辑及数据层划分开,BEA TUXEDO可以在服务级别上非常有效地管理应用的运行。它可以动态地管理消息流程和服务请求,快速启动和停止服务器,根据变化的负荷复制服务器,动态地广播、撤消服务器中的服务,将服务从一个服务器转移到另一个服务器等等。这些对中间层应用的服务级别上的管理大大增加了分布式应用的伸缩性和灵活性。
三、T UXEDO的特点
1.分布式环境中更高水平的数据完整性
TUXEDO设计了数据资源的绝对完整性,能确保异构(或同构)的数据库以及它资源管理器之间的完整性。
2.非常高的性能
TUXEDO使多个客户连接到一个服务器进程,由这个服务器进程存取数据库,这样,数据库为处理连接所需的资源大大减少。另一方面,网络上流动的只有相对较少的客户或服务器的请求和服务器处理的结果。
此外,TUXEDO特有的一些机制也能极大提高应用系统的性能。比如利用异步RPC机制实现扇出并行,利用转发机制实现流水线并行,利用多服务器单队列实现多处理并行等。所有这些因素使TUXEDO的应用系统具有极高的性能。世界上大部分硬件服务器的RPC性能指标都是在TUXEDO上完成的。
另外,可将Service根据优先级的不同赋权值,系统根据优先级权值将客户请求(Service)排队管理。
3.平衡负载。
有多台机器做应用服务器时,系统可自动根据每个机器的负载情况决定服务程序在负载小的那一台机器上执行。
4.高可用性
在分布式系统中某一服务器节点发生故障时,TUXEDO能在硬件故障情况下在其它结点上重新运行进程,以保证服务提供的稳定性。
TUXEDO还可多台应用服务器互相备份。
5.系统的安全性
TUXEDO通过结构化用户界面支持应用服务的验证、授权和存取控制,允许用户加入自己的验证服务模块。TUXEDO还提供信息加密服务,允许对网络上传输的信息按RSA 的RC4算法加密。
6.减轻开发人员、系统管理人负担
BEA TUXEDO的三层结构,使开发人员能够按组件的思想专注入于业务逻辑的开发,用户界面部分可用流行的前端开发工具来快速完成。而客户和服务器之间、服务器和服务器之间的通讯,异构平台之间的数据变换,以及服务器和数据库之间的集成和事务控制都由TUXEDO来完成。
TUXEDO系统提供从一个中心点对整个分布式系统进行全局监控及管理的能力,管理员能根据一个整体系统视图(而不仅是单个节点或单元)提供的信息,作出决定和采取动作。
7.使系统的安装与升级更容易
TUXEDO 的三层结构组件软件模型下开发的应用程序以服务器组件和客户组件为安装、升级的单位,当一个组件需要更新时,管理人员甚至能够在运行系统不停机的情况下完成系统的升级,
8.开放系统中最开放的中间件平台
TUXEDO是一个非常开放的平台,支持三十多种服务器平台,包括大多数的UNIX服务器,WindowsNT 服务器,IBM的S/370,S/390,加上AS/400和Tandem公司的NonStop 系统。它的客户支持几乎所有的工作站,包括UNIX,MS-DOS,Windows系列,OS/2,Macintosh等。
TUXEDO支持X/Open组织的分布式事务处理模型DTP,事务定界标准TX,应用程序事务处理接口标准XA TMI以及和资源管理器(像数据库系统)的接口标准XA,并且还支持事务处理器之间的互操作标准OSI-TP。BEA TUXEDO的客户端通过DLL 可以和Visual C++、Visual Basic、Power Builder、SQL Windows、Delphi、Develop/2000 以及其他4GL和CASE 工具互连。
9.系统的伸缩性
软件可伸缩性就是可以很容易地增加被支持的用户数和应用的全局吞吐量。
BEA TUXEDO支持二维的可伸缩性。二维可伸缩性可在结构上的任意位置添加异质资源,而不改变已存在的应用的结构。允许对一个复杂的混合结构的支持,为联机网络系统提供了广泛的规模选择范围。任何与数据表示有关的(如不同的处理器表示)可以由TUXEDO 透明地解决。
10.广泛的开发工具支持
除了像C,C++和COBOL这样的第三代语言编程环境,TUXEDO系统享受最广泛的第三方工具的支持。
并有丰富的通信方式。有同步调用、异步调用、管道通信、会话、广播、通知、队列、发布订阅等通信方式,能很好地满足应用开发的要求。