资源描述
BEA产品介绍BEA TUXEDO标准选件近几年来,以交易中间件为框架基础的三层客户机/服务器模式已被广泛证实为建立开放式关键业务应用系统的最佳环境。这种模式的成功使用已为许多国际大型企业在应用的开发和部署方面节省了大量的时间和金钱。三层客户机/服务器模式的核心概念是利用交易中间件将应用的业务逻辑、表示逻辑和数据分为三个不同的处理层,从而使其应用系统不但具备了大型机系统稳定、安全和处理能力高等特性,同时拥有开放式系统成本低、可扩展性强、开发周期短等优点。而交易中间件作为构造三层结构应用系统的基础平台,提供了以下两个主要功能:负责客户机和服务器间的联接和通讯;提供一个三层结构应用开发和运行的平台。交易中间件提供一个基础的框架去帮助你建立、运行和管理一个三层客户机/服务器模式的应用,使你不需要从零做起,大大缩短了应用开发的时间,提高了应用开发的成功率。根据 Standish Group的调查报告,采用一个成熟的交易中间件产品能够为应用开发节省25%-50%的时间。而通过自己去开发应用里中间件功能的项目,有90%以上以失败告终。一个优秀的交易中间件应具备以下六个条件:(1) 成熟、稳定、可靠(2) 很强的产品生命力(3) 完整、高质量的功能(4) 优秀的性能(5) 开放、遵循标准(6) 简单、易用而TUXEDO就是一个具备了以上所有条件的优秀的中间件产品。本节将对TUXEDO进行介绍,包括以下内容:1 BEA TUXEDO的技术特色2 BEA TUXEDO的核心系统组成3TUXEDO技术详述3.1高速数据甬道3.2 目录服务的实现3.3 通讯服务3.4 负载平衡3.5 优先级3.6 伸缩性与动态配置的支持3.7 故障恢复与稳固的运行环境3.8 安全性3.9 交易完整性与分布式事务处理3.10 支持多种数据类型和字段控制语言3.11 管理3.12 网络调度与通讯失败的自动恢复3.13 提供5种API3.14 支持字符界面的开发3.15 对远程安装,设置的支持4 国际化5 与数据库的连接6 开发工具7 跨平台支持8 互连性9 典型开发过程简介10 节省费用1. BEA TUXEDO的技术特点(1) 最成熟、稳定、可靠的开放平台交易中间件产品 16年的历史,世界第一个开放平台交易中间件产品 数千个大型客户,数百万个前端用户,每天处理数亿笔交易 在全球交易中间件市场(包括WAS)上占据了46%的市场占有率,包括主机平台,开放系统等等,而第二名的IBM只占据了9%(来自IDC1999报告)(2) 最强生命力的开放平台交易中间件产品l 以开放为本,BEA TUXEDO出身于开放系统的化身UNIX,从其基础体系结构 上就是开放的,目的是支持所有开放的系统资源。不会带有从专用系统转到开放系统时所带来的“遗传病”和“后遗证”。l BEA Tuxedo拥有16年的历史,46%的市场占有率。l BEA是全球最大的独立中间件厂商,得到几乎所有硬件和数据库厂商的支持。l BEA每年投入几千万美元,用超过400个中间件技术精英专职负责产品的研究和开发工作,以保证产品技术的领先。l 业已正式推出的面向Internet和CORBA应用的企业级产品和WEB应用服务器体现了BEA公司对中间件市场的高瞻远瞩和强烈信心,为BEA TUXEDO用户推开了通向未来之门。(3) 拥有完整、高质量的功能BEA Tuxedo具备了所有交易中间件产品所应具备的功能,并高质量地将其实现:l 高速数据甬道机制,减少客户机与主机和数据库的联接,降低整个系统的负担l 提供7种客户机/服务器通讯方式,使应用开发灵活方便l 提供网络通讯压缩和加密机制,使通讯性能和安全性大大提高l 提供 名字服务和数据依赖路由机制,提高系统设计的灵活性l 提供3个层面的系统负载均衡机制,能最有效地运用系统资源l 提供3个层面的应用高可用性机制,保证应用的高可用性l 提供3个层面的应用安全机制,保证应用的安全性l 提供2个层面的优先级机制,使应用开发灵活方便l 支持XA协议,保证交易和数据的一致性l 提供3个层面的应用管理机制,使应用管理方便容易l 提供动态伸缩机制,方便应用系统的扩充和维护l 提供网络调度功能,实现网络资源的充分利用并支持通讯失败的自动恢复l 与其他多种系统互联,保护用户投资l 支持异构系统数据格式的透明转换,方便系统扩展l 支持包括声音、图象在内的多种数据类型,不同编程语言数据格式的区别由TUXEDO自动转换(如C和COBOL),其中FML类型更支持网上只传输有效数据和可改变的多种数据类型组合等功能l 提供域的划分与管理功能,使超大规模应用成为可能l 支持远程安装l 支持国际化,可用中文显示诊断和系统消息同时,BEA TUXEDO拥有以下的周边产品,将其功能扩充:l BEA Manager-基于WEB界面和SNMP的管理工具 l BEA Jolt-将TUXEDO中间件框架扩展到Internet和Java客户端(4) 拥有最优秀的性能来自2000年2月20日的TPC-C测试报告,83.5%的TPC-C测试基于Tuxedo。BEA TUXEDO的用户英国劳工局(UK Employment Service)平均每天的交易数达到700万笔,每秒419笔交易。香港国际货柜码头是世界上最大的私营货柜码头,每天交易数超过400万笔,FedEx是世界上最大的速递公司,其应用系统每天交易数达280万笔,高峰时每秒达500个交易以上。美国Wells Fargo银行和Walgreens银行每天平均交易数也达到120万笔。所有这些应用系统全部架构在BEA TUXEDO上。(5) 最开放的交易中间件、遵循/制订标准l BEA Tuxedo支持50多个不同的硬件/操作系统平台,其中包 括几 乎所有的UNIX,Windows NT, OS/400, VMS, OS/2, Windows95 等等。l BEA Tuxedo支持几乎所有的关系数据库,并能通过XA协议和 Oracle、Informix、Sybase和DB2等流行数据库接口以保证交易的一致性。l 支持所有流行的开发工具。l BEA与几乎所有硬件和数据库厂商签定了战略合作伙伴协议,这样就保证了Tuxedo对各厂家最新产品的支持。而其中BULL,DEC,HP,IBM,SEQUENT,TANDEM和UNISYS等厂家更成为BEA产品在全球范围内的代理。l 交易中间件的标准是由X/OPEN组织和ISO组织来制订的。BEA TUXEDO遵循 所有关键的应用接口标准和事务处理协议,如分布式事务处理模型DTP,事务定界标准TX,应用程序事务处理接口标准XATMI,以及和资源管理器 (数据库)的接口标准XA,国际化标准XPG,中间件的互操作协议OSI-TP, 网络协议支持TCP/IP、简单网络管理协议SNMP等。l 事实上,BEA TUXEDO不仅遵循标准,而且目前的标准,如XA,XATMI等大 部分是基于BEA TUXEDO技术来制订的。在BEA TUXEDO的30多个支持应用 开发的函数调用中已有30个被Open Group组织接纳为X/open的标准API, 同时,BEA是COBRA组织的核心会员,直接影响着面向对象技术的标准和发展方向。l 作为全球专业从事中间件技术的唯一的大型计算机厂商,BEA TUXEDO 对所有开放系统(包括硬件、操作系统和数据库等)提供平等的支持,不对某一种系统存在特别的“偏爱”,在所有系统平台上有着功能和性能上的一致表现,这也是其他中间件厂商很难真正做到的。另外,从遵循标准到制定标准,这也说明了BEA TUXEDO在开放系统平台上事实上的领导地位。(6) 简单、易用BEA TUXEDO 通过其30多个简单的应用编程接口,屏蔽了硬件、操作系 统和网络的低层操作,为应用开发人员提供了所有以上讲到的功能。其中常用的功能被封装在十几个函数中,其简单、易学、易用的特性受到广大应用开发人员的喜爱。简单易用是缩短人员培训和开发周期,从而降低系统成本的有效保证。2. BEA TUXEDO的核心系统组成BEA TUXEDO是由服务器端的事务管理器、客户端的工作站、可靠队列服务、 应用域和与DCE的结合等几个核心部分组成的。域网关域网关TUXEDO域TUXEDO域工作站工作站事务管理器可靠队列服务事务管理器可靠队列服务图 TUXEDO核心组成(1)事务管理器/T运行于服务器端的事务管理器是BEA TUXEDO体系结构的中心,它是每个BEA TUXEDO服务器的核心,提供重要的分布式应用服务:名字服务、数据路由、负载平衡、配置管理、事务管理和安全性管理。它包含TUXEDO的核心数据结构广告板BB (Bulletin Board), BB中包括服务名、路由信息、请求服务的队列和负载等基本 信息,TUXEDO/T负责访问和维护BB信息服务。并利用这些信息实现其各项功能。事实上,事务管理器是负责客户/服务器绑定和支持BEA TUXEDO“虚拟主机” 属性等特色的核心子系统。 (2)工作站/WS工作站把BEA TUXEDO ATMI API扩展到客户应用程序中 ,它适用于Microsoft Windows3.1/95、Microsoft Windows NT、MS_DOS、 IBM OS/2、 Macintosh OS和 所有商用版的UNIX。有了工作站,开发者用ATMI客户方的功能可透明访问在BEA TUXEDO分布式环境中任何地方的服务。工作站DLL把编程接口扩展到MS Windows和 OS/2环境。DLL允许以库的拷贝支持不同的应用程序,从而支持内存的有效利用。 有了工作站,用户可在常见的解释环境中如:Visual Basic, ObjectVision, PowerBuilder 和SQL Windows中调用库。(注:ATMI,应用事务管理接口,是支持应用开发的一组函数)(3)可靠队列服务/QBEA TUXEDO提供了一个简单的可靠的队列机制,保证应用系统提交的请求和 数据可在网络故障或目的服务器瘫痪等情况下也能递交到目的服务器。应用程序能将服务请求入队和出队,并可以设定系统,使队列中的请求自动地转发给 TUXEDO的服务进程,并取回处理结果。这种可靠性队列作为一种资源管理器,可以和其他资源管理器(如数据库)协作,完成全局事务处理。 BEA TUXEDO的队列服务使下列应用变得可能: 提交和完成要求确保完成的服务 工作流应用 提交时间敏感型请求 入队和出队请求的事务控制 与BEA TUXED MIB和GUI的集成 利用简单的服务镜像和数据镜像进行软件容错队列服务提供给应用程序用于批处理和延时事务的实用程序。通过设置 LIFO(后入先出)、FIFO(先入先出)、用户定义的出队时间、请求优先级或数据依赖型路由,为控制应用程序流提供了最大的灵活性。(4)域/Domain 将大范围、很多个(几百甚至上千)服务器共同组成的应用系统按功能或结构划分为不同的域,每个域独立地完成域内的操作,域间操作由域网关完成,从而提高每个域和整个系统的运行效率。BEA TUXEDO的域特性把客户/服务器模型扩展到多个独力自治的应用系统. 一个域既可以是一组BEA TUXEDO的应用程序若干相关的应用服务和配置环境 的组合。域同时也可能是一组运行在另一个非BEA TUXEDO环境中的应用程序。 BEA TUXEDO和其他中间件的互操作也是利用域网关的概念来实现的。BEA TUXEDO对域的划分和管理类似于网络应用中划分子网的概念将复杂 的网络应用按功能或地域等因素划分为不同的子网,子网间以路由器联接,不同的网络协议通过网关透明地转换,从而提高网络效率并加强整个网络的可管理性。这一应用模式已被广泛证明是处理大范围、复杂应用的成功经验和事实上的标准,同时也是BEA TUXEDO在多年大规模企业用户的实际应用中总结和开 发的行之有效的中间件功能。而其他绝大多数中间件厂商尚无力涉足域的划分与管理,从而很难为超大规模的应用提供强有力的支持。在英国教育与就业部的就业服务项目中,在英格兰、苏格兰和威尔士三岛广泛分布的1100多个办公机构要负责2,450,000名失业人员的福利管理和再就业。其应用网络中有1,100多台服务器和21,000多台PC,同时为超过30,000名工作人员提供服务,系统每天要处理7,000,000笔交易,其中95%的交易必须在3秒钟内完成,该系统号称世界最大的客户机/服务器应用项目,同时也是整个欧洲最大的广域网应用项目。面对如此庞大的应用和极高的系统时间响应要求,其他中间件厂商束手无策。而正是由于具备了丰富的超大规模应用领域的成功经验和领先技术,BEA TUXEDO轻松地击败竞争对手,被选为该系统的中 间件运行平台,并取得了令用户极为满意的实际效果。(5)与DCE的结合BEA TUXEDO与DCE的结合是通过一套工具和程序去实现的,可将Open Group 组织的分布式计算环境(DCE)和BEA TUXEDO应用系统进行有机的结合。通过这个组 件,开发人员不仅能够使用DCE服务,同时可以享受从BEA TUXEDO中获得的高性能、 稳定性和强大的功能。3. TUXEDO技术详述3.1. 高速数据甬道TUXEDO提供高速数据甬道,所谓数据甬道,是指能够把前端的大量网络连接汇聚成较少的后端连接并减少数据传送量。采用数据甬道技术,保证应用系统即使在大量用户同时请求服务的时候,也能够保持快速、稳定的工作状态。 降低网络负担-关键的联机交易业务系统往往是一个基于广域网的系统,广域网速度远远低于局域网,而联机交易对响应时间又有较高要求,所以网络负担是影响系统成败的一个重要因素。另外,大量的网上传输从经济上考虑也是不合算的。TUXEDO提供高速的数据甬道,管理客户机与服务器的联接,在客户机和服务器之间只传送服务名、参数和最终结果,和业务逻辑完全分离,最大限度减少了网络上的传输量。图 高性能的连接管理 提高主机处理能力-联机业务处理的应用系统用户数量很多,有时甚至达到几十万,交易量也非常大,主机处理能力对系统而言是一个关键因素。而在主机方面,维持一个网络连接需要耗费大量内存、进程句柄、信号量、CPU时间片等系统资源。TUXEDO利用高速数据甬道,将大量连接汇接成很少的连接,从而节省了大量系统资源,成倍提高了主机的处理能力。图 提高主机处理能力 提高数据库效率-数据库在并行用户数增加时,效率会急剧下降,因为每个并行用户必须和数据库建立一个会话,如果用户数过多,数据库引擎会忙于会话的资源管理和并行控制,影响它所擅长的数据管理工作的效率。TUXEDO可以通过数据甬道大大减少和数据库建立的会话数,将数据库管理系统从其不擅长的业务中解放出来,从而大大提高数据操作的效率。图 提高数据库效率 通过多线索方式实施-新版本的TUXEDO支持多线索的机制,使得系统应用进程可以以线索方式运行,进一步提高系统的性能。3.2. 目录服务的实现BEA TUXEDO提供两类目录服务,即按名请求服务和数据依赖的路由选择服务。 名字服务/位置透明性BB作为BEA TUXEDO应用程序的名字服务器,复制到每个参与的结点上。为 了便于快速访问,名字服务器作为在共享内存中的一个结构存在。事务管理器使用BB名字信息、配置信息和环境统计信息自动把服务请求以负载平衡的原则分配到可用的服务器上,并且根据服务优先级决定处理顺序。编程员把应用程序编写成对服务的函数调用,事务管理器把这些服务请求映射到服务器/服务进程环境内指定的服务实例得到相应的响应。 数据依赖型路由数据依赖型路由是根据对服务请求调用中指定的输入参数的值,把一个服务请求映射到一个指定的服务器组的机制。因为BEA TUXEDO把服务器组映射成 指定的服务器/数据源,所以请求被导向到一个指定服务器/数据源的组合。例如,一个银行系统的实际应用可把系统服务按营业网点号进行划分,以不同的服务器处理指定网点范围的应用,不同服务器所存取的数据可以是集中的同一个数据源,也可以是分布在各自服务器上的不同的数据源。这种功能的实现是通过事务管理器进行路由选择完成的,而不需要编写应用代码实现。事实上,事务管理器查看指定的参数值(如:网点号),参考存储在BB中的路由信息,然后把请求发送到指定的服务器/数据源。如果用户需要改变应用分区(把一个分区移到一个新服务器上,或在已有分区实例上更改网点号分布),那么,他只需改变事务管理器的路由信息,应用程序的代码不受影响,这是应用系统实现动态伸缩的一个重要途径。网点号1-100网点号101-200开户存款取款销户网点号 1-100 的服务进程网点号101-200 的服务进程开户存款取款销户路由表网点10网点150服务请求数据库图 数据依赖路由功能 目录服务的管理BB由TUXEDO在启动系统时根据应用配置文件生成,并由TUXEDO核心例程(对应用开发者透明)访问,系统管理人员可在系统运行时通过TUXEDO提供的命令或基于 Web的浏览器管理工具动态改变系统的配置,即改变BB的内容,包括服务名字及路由指定。3.3. 通讯服务TUXEDO提供灵活多样的通讯机制,多达7种,既支持同步通讯又支持异步通讯。通讯的信息的长度只受系统平台的限制,一般为系统平台允许的进程间通讯的最大值的70%,超过这一限度,TUXEDO将自动转为文件传输方式,此方式的实现是透明的,不需要编程控制,也不影响应用程序的运行(改为文件传输时,因为需要硬盘操作,所以系统传输速度会受到相应影响)。l 同步请求/回答方式。tpcall()在同步请求/回答方式中,客户端使用tpcall()给本地或远程的服务器(由TUXEDO系统根据公告板信息确定)发送服务请求。此时客户将传送请求服务的名字、用于请求服务的输入参数和输出参数。tpcall()发出后,客户的数据被传送至服务器,得到相应的服务处理。在此方式下,服务器处理请求时,客户端将等待,不继续运行,直到服务器返回相应结果。l 异步请求/回答方式。tpacall(),tpgetrply()而在异步请求/回答方式中,客户端使用tpacall()给本地或远程的服务器(由TUXEDO系统根据公告板信息确定)发送服务请求,与同步方式不同的是:在此方式下,服务器处理请求时,客户继续运行。当客户端想得到请求的处理结果时,用tpgetrply()将结果取回。l 对话方式tpconnect(),tpsend(), tprecv(), tpdiscon()客户在建立了与服务的连接后,可以多次发送或接收数据,同时存储信息的上下文。TUXEDO采用的是半双工(half-duplex)的对话方式,这种方式特别 适于完成大数据量的数据传输。l 广播通知方式tpbroadcast(), tpnotify(), tpchkunsol(),tpsetunsol()由服务进程向客户进程以单个(tpnotify)或批量(tpbroadcast)方式发出的未经客户请求的广播或通知消息,客户可在适当的时候检查(tpchkunsol)是否收到通知消息并定义(tpsetunsol)收到消息后所采取的动作。l 管道方式tpforward()在BEA TUXEDO中,服务可被客户调用,也可被另一个服务调用,同时 TUXEDO提供另一种调用方式-管道方式:服务进程在处理客户的请求时,不把结果返回给客户进程,而是把处理过的结果进一步转发给后续的其他服务进程,由其他服务进程接着处理,自己继续完成另外的服务请求,被转发的服务请求的结果由后续服务进程直接返回给客户进程,从而为编程和应用提供一种更加灵活的机制。l 队列方式。 tpenqueue() ,tpdequeue() TUXEDO提供一种可靠性的队列机制/Q ,将客户发出的请求用tpenqueue() 存储在可靠的队列中,由TUXEDO/Q从队列中将请求取出进行处理,完成各个队列中的服务请求。请求的入队和出队是异步的,并且具有事务特性。请求的出队次序可由用户设置为FIFO(先入先出),LIFO(后入先出),优先级,或定时执行。客户端可通过tpdequeue()取回处理结果。l 事件订阅方式: tpsubscribe() ,tppost()用户进程可事先向系统订阅一些它所感兴趣的系统事件或用户自定义的应用程序事件,当系统或应用程序发生这些事件时,TUXEDO通知用户进程这些事件的发生,用户方可采取相应的动作。事件订阅机制使BEA TUXEDO的用户拥有 了独特的事件触发的功能,极大地方便了用户随时留意所订阅的系统或应用事件。3.4. 负载平衡服务a服务b服务c服务a服务b服务c负载因子:服务a-10服务b-20服务c-15服务a请求服务b请求服务c请求服务器1服务器2请求服务队列中负载总计:45服务a请求服务b请求服务a请求请求服务队列中负载总计:40服务c请求负载平衡图 负载均衡为了确保应用吞吐量最大,TUXEDO的事务管理器自动地在系统中完成动态负载平衡调度。用户根据每个服务请求的特点设置其负载因子的大小,TUXEDO通过使用每个服务请求的负载因子,累计在每个服务器的请求服务队列中的总计负载因子,事务管理器把请求发送给负载最小的服务器,从而使系统达到最快的处理速度。TUXEDO有以下几种负载平衡的算法: 在同一机器中,将请求发向总负载最小的服务进程的请求队列。 在网络环境中,根据可动态改变的服务的负载因子及网络通讯的负载因子(由用户根据服务器的性能和网络情况设置)的变化情况,将请求发向总负载最小的机器中的服务进程的请求队列。 利用多服务进程单队列(MSSQ)机制,使多个服务进程能均匀地分担单一队列的请求。 利用数据依赖路由机制,根据请求数据的内容将请求分散到相应目标队列。 不做负荷平衡,由TUXEDO系统将请求发向第一个可用服务进程队列。3.5. 优先级请求优先级是TUXEDO 的事务管理器提供的另一个核心能力。当某一服务有比 其他服务更高的优先级时,服务器在处理请求时,就不再单纯的按照请求在队列中的先后顺序处理,而是按优先级来决定。请求优先级越高的越早被处理。为了防止低优先级请求总是得不到服务,服务器每隔十个请求,就按FIFO次序进行一次请求选择。典型的优先级应用例子是:银行的挂失操作应比其他操作具有更高的优先级。3.6. 伸缩性与动态配置的支持利用命令行或基于Web的图形管理界面,TUXEDO可以动态的进行服务管理、负载均衡、数据依赖路由、网络用户的管理、队列的管理、存取资源管理器、增加可用资源,以及系统的启动、重启和恢复。 TUXEDO可根据系统负载的变化动态地增加或减少机器、服务进程组和服务进程。为提高系统处理能力,可以在现有系统上增加可用的服务数量,TUXEDO将可用的服务按组打包,在一台机器上可同时启动多个服务组,共同响应客户端的请求,从而使应用系统所提供的服务达到最大限度的可用性,充分利用系统资源。TUXEDO不仅允许在一台服务器内增加服务进程的数量,更允许多台服务器共同完成同一个应用,由多台服务器组成的集群系统往往能数倍地提高系统性能和负载。 用户可动态启动或停止某个服务;用户可使某些服务成为可用或不可用,当需要更新某个服务时,仅需停止旧的服务,然后重新启动更新后的服务,就完成了服务的更新,而不需要将关键业务全部停止。当增加新的服务时同样如此,这种动态调整的功能对于关键业务应用尤为重要。 TUXEDO支持“二维”的可伸缩性,它不仅可动态增加同类资源的个数来提高系统的性能和可用性,还可在系统中的任意位置动态增加不同机器、不同数据库、不同服务进程等异质资源,而不改变已存在的应用的结构。允许对一个复杂的混合结构的支持,为应用系统提供了广泛的选择范围。这一过程的完成不需要停止应用系统的运行,使应用系统的扩充在客户不知不觉中完成,即动态伸缩。同时任何与数据表示有关的问题(如不同的处理器表示)可以由TUXEDO透明地解决。例如:在一个银行的应用系统中,原来以一台UNIX小型机处理300个营业网点的业务,当营业网点数增加至400个时,UNIX小型机可能不堪重负,这时甚至可以增加一台运行SCO UNIX的PC服务器,将UNIX小型机上的服务程序在PC服务器上 重新编译并运行,将网点号为301-400的营业网点的服务请求转移到PC服务器上 进行,PC服务器对数据库的操作通过XA协议完成,从而降低UNIX小型机上的负载, 小型机上的UNIX与SCO UNIX之间的平台差异由TUXEDO自动屏蔽。并且在这 一系统扩容的整个过程中,不需要停止原应用系统的正常运行。从而为应用系统的扩展提供了极大的灵活性和可能。网点1网点2网点nUNIX小型机PC 服务器路由器DDN、X.25营业网点1-300 银行业务交易服务数据库服务营业网点301-400 银行业务交易服务 图 支持动态伸缩在TUXEDO中,系统管理员可对每一个服务指定其增加或减少服务的规则:当服务请求数量大于指定值,并持续超过指定时间后,该服务自动增加一个可用进程,当服务请求数量小于指定值,并持续超过指定时间后,该服务自动减少一个可用进程,使固定的系统资源根据随时变化的应用情况得到尽可能合理的分配。在银行柜面业务系统中,操作员签到、签退和日终轧帐等服务请求的数量随时间的变化而有很大的差异:早晚多,中间少,利用上述机制,可以将这类服务请求进行合理分配。保证开工和日终时有充足的服务响应这三种请求,而日间业务时这三种服务的数量又自动达到最低值,从而为计帐等日间服务提供更多的系统资源。对这些可以估计出何时会出现服务请求高峰,何时出现服务请求低谷的服务请求,TUXEDO更可以将增加服务和减少服务的命令放入队列,利用队列的定时机制实现定时增加或减少相应服务的功能。3.7. 故障恢复与稳固的运行环境事务管理器包括许多支持应用可用性的特征,如进程可用性检查、超时检查、自动服务器重启和恢复过程、用户可定义的恢复过程。事务管理器不仅仅控制应用程序的活动流而且能确保其流畅有效的操作。TUXEDO随时知道它控制下的资源的情况,并利用这些信息为应用提供最大可用性。TUXEDO可以利用一些参数,如超时,使资源管理器可以在不中断进程的情况下将出现故障情况的节点上的服务器及服务移植到其它结点上重新运行。如果一个节点上的某些服务器出现故障,TUXEDO还可自动地将客户的请求重新定向到可以完成相同服务的服务器上,使客户感觉不到变化。这是TUXEDO在分布式系统故障恢复上具有的优势,从而实现以软件完成硬件集群的功能。3.8. 安全性事务管理器通过一个结构化的安全性接口提供应用服务的验证、授权和访问控制。该接口概括了Kerberos安全模型,允许Kerberos或类似的最终用户验证机制与应用集成。用户能用访问控制列表保护服务、队列或事件免遭未授权的访问。同时在网络链路层上提供了DES/RSA的加密机制,也提供了简单的API供应用集成现成的加密算法。TUXEDO提供了下列五个递增的安全级别: 不认证(NONE):当客户连接到应用时,不必进行身份认证。这个级别的典型用法是在应用开发阶段或物理环境具有安全保障的应用。 应用口令(APP_PW):整个应用使用统一的口令。客户连接到应用时必须提供这个口令。这个安全级别可适用于按月或周获得新的口令。 最终用户认证(USER_AUTH):除提供应用口令之外,客户必须提供用户名以及特定的应用数据(如口令)。这个安全级别允许应用设计者为应用设计特定的安全机制。 可选访问控制(ACL):客户程序必须提供应用口令、用户名和用户口令。采用访问控制表(ACL)可以控制用户对服务、应用队列、事件的访问。这个安全级别允许只对需要安全访问控制的资源进行访问授权配置。例如,可以对一组服务进行配置,使得对这组服务的访问进行控制,而访问其它服务则不受限制。当一个资源具有访问控制表时,不在访问控制表中的最终用户的访问将被拒绝。而 成功地与应用建立连接的客户则可不受限制地访问无访问控制表的资源。 强制访问控制(MANDATORY_ACL):这个安全级别与可选访问控制表类似。客户必须提供应用口令、用户名和用户口令,主要差别是:对不具有访问控制表的资源的访问受约束,也就是说,不具有ACL的资源不能被访问。另外,TUXEDO提供以下几种附加机制保证系统安全: 定制用户认证服务:可根据应用的需要,自己编制用户认证服务,每一个访问 TUXEDO的申请首先要通过用户定制的认证访问,这种机制方便用户编制和更改统一的安全规则。 自定义授权机制:直接通过应用程序访问TUXEDO管理信息库,对应用系统实行动态控制。 数据加密:TUXEDO还提供信息加密服务,允许对网络上传输的信息按RSA的RC4算法加密。 订阅安全事件:TUXEDO会在应用的过程中产生系统事件,系统管理员可订阅其中有关安全的事件,当出现这些相关的事件时,TUXEDO会自动通知系统管理员,使其采取相应的防范措施。3.9. 交易完整性与分布式事务处理BEA TUXEDO不仅能保证交易中涉及的单个或多个同构的数据源的交易完整性, 而且还能通过XA协议保证异构平台上的异构数据源的交易完整性。 当应用系统只有局部事务、没有全局事务时,TUXEDO直接利用数据库的事务处理功能,这样可提高系统性能。 分布式事务处理(DTP)能力能保证跨几个场地访问的数据和由不同数据库产品管理的数据的完整性。事务管理器协调分布式事务使之完成网络环境下针对异构数据库的多场地的修改。事务管理器用全局事务跟踪事务参与者,管理两阶段提交协议。这样就可以确保每个场地都能正确处理事务的提交和回退。事务管理器还在出现场地故障、网络故障或全局资源死锁时协调全局事务的恢复。事务管理器使用开放小组的X/Open XA接口,进行不同资源管 理器之间的通讯。该接口已被X/Open接纳为分布式事务控制的标准接口。在TUXEDO应用系统的开发中,将存取不同数据源的操作封装在不同的服务请求(tpcall)中,并将所有需要保证交易完整性的不同服务请求放在ATMI事务处理函数tpbegin和tpcommit之间。BEA TUXEDO负责将数据存取操作提交给 正确的数据源并保证交易完整性。 通过BEA Connect SNA可以实现TUXEDO和CICS之间的两阶段提交,BEA Connect SNA在SNA网上通过PU2.1 LU6.2直接与IBM主机上的IBM CICS实现 互操作,在IBM系统上不需要安装任何BEA的软件。Connect SNA支持在BEA TUXEDO系统和IBM CICS系统之间的Sync Level 0, Sync Level 1或Sync Level 2连接。其中Sync Level 2支持在TUXEDO和CICS之间的两阶段提交。3.10. 支持多种数据类型和字段控制语言在BEA TUXEDO中,网上数据的传输支持4种数据类型: STRING:适用于可变长度的字符串。 CARRAY:适用于图象和声音数据的传输 VIEW:类似C的结构型变量,可同时包含多种数据类型 FML:字段控制语言,允许在同一个数据缓冲区内保存short、long、char、string、float、double和carray类型的变量除CARRAY类型的数据外,TUXEDO自动完成不同平台和不同编程语言的数据转换(通过XDR),其中FML类型的数据格式允许用户动态增加或减少其中某个或某些变量的个数。FML类型只保存有效数据,从而可节省内存并减少网络传输量。FML数据类型应用举例:在银行应用系统中,查询明细帐的程序通常因为返回的数据大小事先无法确定,所以需要一种可控制长度的数据类型,FML恰恰满足这种需求:客户端只定义所需要的数据结构,如帐号、日期、发生额和摘要等,在服务器端根据实际发生业务的笔数将数据放入数据缓冲区并返回,从而为编程提供灵活的机制,同时大大节省系统资源。3.11. 管理TUXEDO的三层逻辑结构提供了对应用程序高度的可管理性。它以业务逻辑层为管理的主要对象,把基本业务组件即服务进程的服务做为管理的基本单位。应用系统即由这些服务构成,这样它的易理解、易修改、易扩充等需求都能得到有效的保证。RESOURCESMACHINESGROUPSServer1Service1Service2Service3Server2Service1Service2Service3Service4Server3Service1Service2Service3Service4Service5图 TUXEDO的配置事务管理器使得应用管理员可在一个文件(UBBCONFIG)中定义组成BEA TUXEDO 应用程序的硬件、软件和网络资源。应用设计者能叙述在何处运行服务器和服务以及在处理器出故障时服务应该迁移到何处。他们可把各种不同的特性,包括调度信息、进程恢复标准和超时时间等,赋给应用服务器。事务管理器为动态启动、停止或管理一个分布式应用程序提供中央配置管理和工具。 RESOURCES定义IPC地址、主机节点、广告板模式、是否进行负载平衡和 运行安全级别等。 MACHINES定义机器的物理地址、TUXEDO的配置文件、系统软件和应用 服务的位置以及机器类型和环境文件的位置。 GROUPS定义本组服务的集合、与XA协议兼容的数据源、服务转移方向 等。 SERVERS定义每个SERVER的名字、所属的组,启动顺序和启动的最大和最 小数目。 SERVICES定义每个SERVICE的负载因子、优先级和路由名称。 ROUTING定义每个路由名称对应的路由规则。 NETWORK定义网络地址和网络监听地址等。(1)管理工具TUXEDO的分布式应用由系统管理员集中式定义、集中式管理,管理员根据一个整体系统视图(而不仅是单个节点或单元)提供的信息,可以作出决定和采取动作。TUXEDO提供以下几种管理工具: TUXEDO提供一个基于普通WEB浏览器的管理工具,集中地监视和管理应用系统的运行,动态地修改系统配置,并且以图形的方式显示应用系统的运行状态和统计信息。利用普通的Web浏览器,比如 Netscape或Microsoft的 Explorer,系统管理员通过Internet/Intranet,可在任何地方进行系统管理。 提供综合性的字符型管理命令。 可根据用户需要提供基于XWindow/Motif的GUI管理工具。 提供一个管理信息库(MIB)和编程接口,使用户可根据特定需求编写自己的管理工具。图:浏览器方式的管理工具(2)性能分析TUXEDO提供系统性能分析工具,当设定监控系统运行时,TUXEDO以图表的方式显示指定时间段内指定的服务(或全部服务)的完成次数和平均响应时间,为系统管理员为每个服务指定负载和调整系统配置提供科学依据,并为业务人员分析业务情况提供帮助。(3)与其它管理工具的互联TUXEDO的关联产品BEA Manager通过网络管理协议SNMP和TUXEDO的管理信息库 MIB可以把TUXEDO对应用程序的管理集成到一般的网络、数据库系统管理工具中,比如OpenView,、NetView等。(4)系统提供的日志及功能TUXEDO提供各种日志,分别帮助用户根跟踪、分析、调试应用系统,并在系统出现故障时作恢复处理。TUXEDO提供动态跟踪日志,跟踪系统对ATMI的调用; TUXEDO还提供应用服务级别的跟踪分析功能,帮助系统开发及管理人员分析应用的执行情况、找出性能的瓶颈;TUXEDO还提供用户日志功能,使用户能按自己的需要记录必要的日志,或打印一些调试信息,系统管理员还可以从多种管理工具中检查用户日志,监督系统的安全运行;TUXEDO内部还维护事务的日志,在系统出现故障时作必要的善后处理。3.12. 网络调度与通讯失败的自动恢复BEA TUXEDO允许在服务器之间设置多个网络通道,在TUXEDO应用系统中实现 网络调度功能: 并行数据通道:当多个网络被TUXEDO系统管理员设置为同样的优先级时,TUXEDO同时在这些网络上传送数据,提高数据传输速度。 容错(Failover):优先级高的网络出现故障时,TUXEDO会将应用转移到优先级低的网络,然后以一定时间间隔检查高优先级网络是否已经恢复。 恢复(Failback):当高优先级的网络恢复运行后,TUXEDO自动将应用系统切换回高优先级的网络。备分网络通道2通道1客户1客户2服务器1服务器2广域网客户n图:网络调度在TUXEDO的客户机端,不仅提供与服务器端类似的网络调度功能,更允许客户机在与指定的服务器连接失败后转向其他服务器,从而保证每一个客户端的高可用性。网络调度功能使TUXEDO应用系统在充分利用网络资源的同时,提高了网络的容错能力。在单一的网络通道中,BEA TUXEDO在网络出现故障时能在用户指定的时间段 内自动重发请求,从而屏蔽网络瞬间故障。3.13. 提供5种APITUXEDO提供了支持各种通讯方式的API,事务处理的API,数据缓冲区处理的 API,基于MIB的管理API,安全队列管理API。3.14. 支持字符界面的开发为方便开发人员在基于字符界面的环境中快速开发TUXEDO应用, BEA TUXEDO 提供了DES(Data Entry System)工具。Banking Application Open Account Last Name: _ First Name: _ Middle Initial: _ Mailing Address: _ _ Telephone Number: _ Account Type: _ C=checking, S=savings Desired Branch Id: _ (See Branch Codes Below) Initial Balance: _ Hit CTRL-v to complete transaction or ESC 0 for mio keystroke help 1 San Francisco 3 Dallas 5 St. Louis 7 Miami 9 New York 2 Los Angeles 4 Chicago 6 Atlanta 8 Philadelphia 10 Boston图:字符界面的开发DES允许定义屏幕上输入的每一个字段的缺省值、有效性检查规则(多选一、数据范围和数据类型等)、联机帮助信息和属性,可以指定输入数据未通过有效性检查时系统的提示信息,指定有效性检查起作用的时间(光标离开字段时或退出屏幕时等),对缺省值和有效性检查的定义甚至可以用函数实现,即:Fd1_default=f(x1,x2,)Fd1_validation=f(y1,y2,)Fd1_err=“Errmessage”对字段的显示属性DES支持保密、加亮、变暗、反显和下划线等。DES同时支持菜单项和功能键定义等等操作,因此,使用DES能够快速地完成应用系统数据录入界面的开发。3.15. 对远程安装,设置的支持TUXEDO远程客户端的安装与设定非常简单,可以在服务器端集中打包,由操作系统的基本命令ftp、rsh来简单完成。4. 国际化国际化特征使得BEA TUXEDO能支持多国文字(包括简体中文)的传输并用适合于 本地的语言给出诊断和系统消息。所有的输出消息存储在系统库中,在需要时能被方便地翻译和修改。日期、时间和货币也都具有这种可定制性。所以用户能定制界面表示,以便与本国的惯例相一致。事务管理器的实现与开放小组的国际化XPG指南一致。5. 数据库的连接所支持的数据库包括INFORMIX、ORACLE、SYBASE、INGRES、DB2等UNIX上的大型数据库和NT上的SQL Server,并且还支持C-ISAM文件系统。即可以通过 XA协议, 也可不用XA协议来和这些产品联接。(注:XA协议由TUXEDO首先提交给X/Open组织,作为资源管理器(数据库)与事务管理器的接口标准。Informix是最早宣布支持XA协议的数据库厂家,Informix5.0以上的版本都提供XA接口,以实现与TUXEDO的连接。目前,Oracle、Informix、DB2、Sybase等各大数据库厂家都提供对XA的支持。)6. 开发工具BEA TUXEDO得到大量的第三方开发工具的支持,支持开发人员快速、简单地 开发TUXEDO的服务程序及客户程序。 在服务器端TUXEDO支持C、COBOL语言。 在客户端TUXEDO支持任何支持动态联接库DLL或支持C、COBOL语言调用的编程语言和开发工具。其客户端通过DLL可以和Visual C+、Visual Basic、 Power Builder、SQL Windows、Delphi、 Develop/2000以及其他4GL和CASE工具互连。另外,通过BEA Jolt, 用户还 可用JAVA语言编写客户程序。 BEA公司提供BEA Builder工具,帮助开发人员在图形化的开发工具上完成 编程;提供DES工具,帮助开发人员在字符界面上完成编程,使系统的开发效率极大提高。 此外,BEA TUXEDO还得到其他第三方开发管理工具厂商的支持。下面列出了TUXEDO支持的一部分开发工具:(注:BEA公司技术部门不断致力于获得更多开发工具的支持,因此,请随时联络BEA当地办事处获得最新信息。) 4 GL Tools- Power Builder- DELPHI - DELPHI CLIENT/SERVER - Dynasty Development Environment - KEY:ObjectView - MAGNA X - ORACLE developer/2000 - Passport IntRprise - UNIFACE DISTRIBUTED COMPUTING MANAGER - UNIFY ACCELL/sql and accell/tp - VPE (Visual Programming Environment) - Visual Basic- Visual C+Application Development Tools- Prolifics / JAM - SuperNova - CosmosSuite - NatStar - Persistence - Session-XA for TUXEDO - TPCharger - TUXEDO Visual Basic Toolkit - Dynasty Development Environment - Interspace - Centura Team Developer - Mercury Middleware Manager - Passport IntRprise CASE Tools- KEY:ObjectView - MAGNA X - PACBASE Client/Server Development Systems- Prolifics / JAM - Dynasty Development Environment - HPS Compilers- Micro Focus COBOL Databases Tools- CA-OpenIngres - STECARD GUI Development Systems- APS - Power Builder- Visual Basic- DELPHI - DELPHI CLIENT/SERVER - Interspace client/server development kit for middleware - Dynasty Development Environment - Elements Environment - Prolifics / JAM - KEY:ObjectView - ORACLE developer/2000 - TUXEDO Vis
展开阅读全文