您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 第2章TUXEDO简介
第二章:TUXEDO简介Tuxedo是BEA公司的交易中间件产品,1984年由贝尔实验室开发成功,1992年易主Novell公司,1996年由BEA公司收购,经过十多年的不断更新和完善,Tuxedo已经发展成为交易中间件领域事实上的标准。2.1TUXEDO系统的组成部分BEATUXEDO是由服务器端的事务管理器、可靠队列服务、应用域以及客户端的工作站等几个核心部分组成的。下面对这几部分进行介绍。1.事务管理器/T运行于服务器端的事务管理器是TUXEDO体系结构的中心,它是每个TUXEDO服务器的核心,提供重要的分布式应用服务,包括:名字服务、数据路由、负载平衡、配置管理、分布式事务管理和安全性管理。它包含TUXEDO的核心数据结构公告板BB(BulletinBoard),BB中包括服务名、路由信息、请求服务的队列和负载等基本信息,TUXEDO/T负责访问和维护BB中的信息,并利用这些信息实现其各项功能。2.工作站/WS工作站把TUXEDOATMIAPI((注:ATMI,应用事务管理接口,是支持应用开发的一组函数)扩展到客户端应用程序中,它适用于DOS、Windows3.1/95/98/2000/XP、WindowsNT、IBMOS/2、MacintoshOS和所有商用版的UNIX。有了工作站,开发者用ATMI客户端的功能可透明访问在TUXEDO分布式环境中任何服务器上的服务。有了工作站,用户可在常见的编程环境中如:VisualBasic,PowerBuilder,DELPHI,VC等编写TUXEDO的客户端程序。3.可靠队列服务/QTUXEDO提供了一个简单的可靠的队列机制,保证应用系统提交的请求和数据可在网络故障或目的服务器瘫痪等情况下也能递交到目的服务器。应用程序能将服务请求入队和出队,并可以设定系统,使队列中的请求自动地转发给TUXEDO的服务进程,并取回处理结果。这种可域网关域网关TUXEDO域TUXEDO域工作站工作站事务管理器可靠队列服务事务管理器可靠队列服务图TUXEDO核心组成靠队列作为一种资源管理器,可以和其他资源管理器(如数据库)协作,完成全局事务处理。/Q的常见用法是用于实现数据的可靠传送,把数据从一台机器可靠的传送到另一台机器.如:在电信计费业务中,可以用/Q把采集到的计费数据发送到计费中心进行处理;在银行中,不同的银行间可用/Q传送结算数据.数据传送可以是在客户端与服务端之间,或服务端与服务端之间。/Q还可以用于实现批处理或工作流等业务。4.域/Domain将大范围、由很多台(几百甚至上千)服务器共同组成的一个应用系统按功能或结构划分为不同的域,每个域独立地完成域内的操作,域间操作由域网关完成,从而提高每个域和整个系统的运行效率。TUXEDO的域特性把客户/服务器模型扩展到多个独力自治的应用系统.一个域既可以是一组TUXEDO的应用程序(若干相关的应用服务和配置环境的组合)。域同时也可能是一组运行在另一个非TUXEDO环境中的应用程序。TUXEDO和其他中间件的互操作也是利用域网关的概念来实现的。TUXEDO对域的划分和管理类似于网络应用中划分子网的概念—-将复杂的网络应用按功能或地域等因素划分为不同的子网,子网间以路由器联接,不同的网络协议通过网关透明地转换,从而提高网络效率并加强整个网络的可管理性。这一应用模式已被广泛证明是处理大范围、复杂应用的成功经验和事实上的标准,同时也是TUXEDO在多年大规模企业用户的实际应用中总结和开发的行之有效的中间件功能。而其他绝大多数中间件厂商尚无力涉足域的划分与管理,从而很难为超大规模的应用提供强有力的支持。在英国教育与就业部的就业服务项目中,在英格兰、苏格兰和威尔士三岛广泛分布的1100多个办公机构要负责2,450,000名失业人员的福利管理和再就业。其应用网络中有1,100多台服务器和21,000多台PC,同时为超过30,000名工作人员提供服务,系统每天要处理7,000,000笔交易,其中95%的交易必须在3秒钟内完成,该系统号称世界最大的客户机/服务器应用项目,同时也是整个欧洲最大的广域网应用项目。面对如此庞大的应用和极高的系统时间响应要求,其他中间件厂商束手无策。而正是由于BEA具备了丰富的超大规模应用领域的成功经验和领先技术,TUXEDO轻松地击败竞争对手,被选为该系统的中间件运行平台,并取得了令用户极为满意的实际效果。2.2TUXEDO的主要功能介绍TUXEDO具备了所有交易中间件产品所应具备的功能,作为构造三层结构应用系统的基础平台,TUXEDO的主要功能可概括为五大平台:•应用开发平台:提供API,供开发人员调用,用于开发整个应用系统。•应用部署平台:通过配置文件,对应用系统进行部署。•应用运行平台:提供应用系统运行的环境。•应用管理平台:对整个应用系统进行管理,监控。•应用互联平台:可以和其他的应用系统互联,实现互操作。下面对这五大平台进行分别介绍.应用开发平台1.支持的开发工具1.在服务器端TUXEDO支持C、COBOL语言。2.在客户端TUXEDO支持几乎所有的编程语言和开发工具,只要这种语言或工具支持动态联接库DLL或支持C、COBOL的语言调用。其客户端通过DLL可以和VisualC++、VisualBasic、PowerBuilder、SQLWindows、Delphi、Develop/2000以及其他4GL和CASE工具互连。另外,通过BEAJolt,用户还可用JAVA语言编写客户端程序。3.BEA公司提供BEABuilder工具,帮助开发人员在图形化的开发工具上完成编程;提供DES工具,帮助开发人员在字符界面上完成编程,使系统的开发效率极大提高。4.TUXEDO还得到其他第三方开发管理工具厂商的支持。TUXEDO提供的编程API总共只有几十个函数,常用的只有十几个,开发人员可以很快掌握这些API,进行TUXEDO服务器端和客户端的开发工作.2.TUXEDO支持的平台TUXEDO是一个非常开放的平台,支持包括UNIX、NT、Linux、AS400、大机等70多种平台,并且在所有平台上的API都是一致的,平台间的数据表示的差异由TUXEDO自动屏蔽,这也是TUXEDO的独到之处,极大地拓宽了用户对平台的选择范围。构筑在TUXEDO系统之上的应用独立于计算机硬件、操作系统和数据库,将应用从一种开放平台移植到另一种开放平台,只需作应用程序的重新编译和极少的SQL语句的调整(不同数据库产品其SQL语法可能稍有不同),应用系统就能顺畅地完成平台转移。为支持异构系统互联,TUXEDO允许用户在配置文件中设置机器类型,TUXEDO支持自动码集、位数及字节顺序的转换,TUXEDO屏蔽不同平台间的数据表示,不需要编程人员精通各种平台的数据表示差异,从而“自动地”完成异构系统的互联。TUXEDO支持几乎所有的数据库,包括ORACLE、SYBASE、INGRES、DB2等UNIX上的大型数据库和NT上的SQLServer,并且还支持C-ISAM文件系统。应用部署平台在TUXEDO中,应用的开发与部署是分开的,在开发时不用关心应用的部署问题。一个应用系统的配置信息都保存在一个文件中。通过修改该文件进行系统的部署。可根据系统的需要决定是把一个服务部署到一台服务器上还是多台服务器上。根据系统的负载情况决定该启动多少个服务进程等等。可以很容易地把在一种操作系统上开发的应用部署到另一个系统上.如把在NT平台上开发的应用系统部署到UNIX上,应用的程序几乎不用做任何的改变,只要重新编译一下就可以了.应用运行平台TUXEDO为应用系统提供运行环境,在运行时可根据系统的配置提供故障恢复,负载均衡,自动伸缩,安全认证,数据加密等功能,为TUXEDO应用系统提供一个可靠的运行环境。下面对一些主要的功能进行介绍。1.处理分布式事务当TUXEDO应用系统只有局部事务、没有全局事务时,Tuxedo直接利用数据库的事务处理功能(用或不用XA),这样可提高系统性能。当TUXEDO应用系统涉及跨多个数据库(同构或异构)的全局事务的时,Tuxedo利用XA标准和两阶段提交协议协调各个数据库的同步。Tuxedo还可保证可靠性队列/Q的入出队操作和数据库的更新操作的同步。在各种情况下,Tuxedo能够确保异构的(或者同构的)数据库以及其它资源管理器之间的完整性和一致,并且还能在出现节点故障、网络故障或全局资源死锁时利用内部的交易日志来协调全局事务的恢复。2.服务和节点的故障恢复Tuxedo可以对系统组件进行持续监视,查看应用系统、交易、网络及硬件是否出现故障。一旦发现故障,它支持备份服务器组继续运行,并透明地将故障组件从系统中排除,管理必要的恢复程序,重新为消息和交易选择路由,保证交易平台的高可用性。3.请求的重定向TUXEDO可以利用一些参数,如超时,使资源管理器可以在不中断进程的情况下将出现故障情况的节点上的服务器及服务移植到其它结点上重新运行。如果一个节点上的某些服务器出现故障,TUXEDO还可自动地将客户的请求重新定向到可以完成相同服务的服务器上,使客户感觉不到变化。4.动态伸缩在一个生产系统中,一般是不允许停机的,TUXEDO应用系统可以在不停机的前提下,动态修改系统的配置,包括:1.增加新的TUXEDO系统应用服务器、数据库和服务进程组、服务进程和服务。2.修改现有的服务程序3.修改数据依赖路由规则4.根据系统负荷的变化动态地增加或减少服务进程的个数。用户可动态启动或停止服务;用户可使某些服务可用或不可用。5.负载平衡为了确保应用吞吐量最大,TUXEDO的事务管理器自动地在系统中完成动态负载平衡调度。通过使用每个服务的负载因子,事务管理器把请求发送给能最快处理该请求的服务器。事务管理器通过为当前排队的请求总计负载因子来决定给定服务器上的负载。TUXEDO有以下几种负荷平衡的算法:1.根据可动态改变的服务的负荷权重因子及网络通讯的权重因子,将请求发向总权重最小的服务进程的请求队列。2.利用多服务进程单队列(MSSQ)机制,使多个服务进程能均匀地分担单一队列的请求。3.利用数据依赖路由机制,根据请求数据的内容将请求分散到相应目标队列。4.不做负荷平衡,由TUXEDO系统将请求发向第一个可用服务进程队列。6.数据依赖路由数据依赖型路由是根据对服务请求调用中指定的输入参数的值,把一个服务请求映射到一个指定的服务进程组的机制。例如,一个银行系统的实际应用可把系统服务按营业网点号进行划分,以不同的服务进程组处理指定网点范围的应用,不同服务进程组所存取的数据可以是集中的同一个数据源,也可以是分布在各自服务器上的不同的数据源。这种功能的实现是通过事务管理器/T进行路由选择完成的,而不需要编写应用代码实现。事实上,事务管理器/T查看指定的参数值(如:网点号),参考存储在BB中的路由信息,然后把请求发送到指定的服务进程组。如果用户需要改变应用分区(把一个分区移到一个新服务器上,或在已有分区实例上更改网点号分布),那么,他只需改变路由规则,应用程序的代码不受影响,这是应用系统实现动态伸缩的一个重要途径。7.安全认证和数据加密压缩:TUXEDO提供应用服务的验证、授权和访问控制。用户能用访问控制列表保护服务、队列或事件免遭未授权的访问。TUXEDO系统总共提供5种安全认证方式。TUXEDO还提供数据加密压缩功能,TUXEDO客户端与服务端之间,服务器之间传送的数据可进行加密和压缩。TUXEDO7.1之后的版本还提供对PKI的支持,还可以使用第三方的PKI产品。应用管理平台1.TUXEDO提供以下管理工具和编程接口1.基于WEB的图形化管理工具:可通过浏览器(如IE或Netscape)对系统进行管理配置。2.基于字符界面的管理工具:TUXEDO提供TMADMIN,DMADMIN等命令行管理工具。3.MIB编程接口:TUXEDO提供C语言的管理API,用户能够用此编写出适合自己特殊需求的管理工具4.通过SNMP与其他管理工具(HPOpenView等)互联,TUXEDO的关联产品BEAMA
本文标题:第2章TUXEDO简介
链接地址:https://www.777doc.com/doc-2246754 .html