tuxedo简易培训教程济南陆和电信软件有限公司文栈良zlwen@laurels.com第1页,共92页BEATUXEDO简简易易培培训训教教程程编写、整理:文栈良2003-1-21tuxedo简易培训教程济南陆和电信软件有限公司文栈良zlwen@laurels.com第2页,共92页第一章认识tuxedo1.1TUXEDO是什么?BEATUXEDO是在企业、Internet这样的分布式运算环境中开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。BEATUXEDO是企业、Internet分布式应用中的基础主干平台。它提供了一个开放的环境,支持各种各样的客户、数据库、网络、遗留系统和通讯方式。BEATUXEDO使分布式关键任务应用系统具有大型主机的性能,从而使这些应用系统能够应付数以千计的用户,大交易吞吐量,多并行数据库存取和大量数据,同时保持较短的反应时间,较高数据完整性和安全性,并且确保全年365天,每周7天,每天24小时的系统可用性。同时,BEATUXEDO还能让开发人员和系统管理人员享用分布式运算环境提供的好处,如技术成本的低增长率,灵活性提高,快速应用开发和安装以及业务信息存取得以改善。1.2BEATUXEDO的组件软件模型tuxedo简易培训教程济南陆和电信软件有限公司文栈良zlwen@laurels.com第3页,共92页关键业务应用通常是面向事务的,要求具有准确的数据完整性、较好的性能和管理需求。这些需求要求对应用的开发、调度和操作给出一个结构化的方案。由像BEATUXEDO这样的中间件支持的组件软件模型为分布式环境处理关键性业务应用提供了一个结构化的解决方案。BEATUXEDO和基于组件的应用设计从异构的计算资源中创建了一个虚拟主机:在分布式应用系统级提供可管理的相互关联的资源。许多组织在进行了一段时间的分布式应用工作后,现在已经认识到组件软件模型是他们的必然选择。分布式应用的直接动力是主机应用和集中式中规模的应用系统基础上又逐渐配备有大量的台式系统和服务器系统,这些分布式系统在标准网络传送协议的支持下,呈松散耦合的态势,事实上它们构成了网络计算资源的基础。在开始的时候,分布式系统主要服务于把集中式系统的前台应用迁移到网络环境----主要用台式处理器和文件服务器实现文档处理和电子邮件通讯应用系统。接着,两层的客户/服务器数据库应用在部门级被采用,这类应用把交互式文件共享进化到并发数据元素访问,在数据级支持更细粒度的管理。虽然这些客户/服务器应用具体化了真正分布式应用处理的概念,它们仍留有为某一目标定制的特性,规模和管理能力都有限。更重要的,这些应用只停留在较细粒度的数据访问上,使得整个应用系统宛如磐石,不能有效地利用网络资源。面对更大规模的关键业务应用,如要进行有效的分布式处理,就tuxedo简易培训教程济南陆和电信软件有限公司文栈良zlwen@laurels.com第4页,共92页要求从客户/数据库方案转变到三层客户/应用系统/数据服务器结构。以后者为核心的组件软件模型是客户/服务器计算的拓展,它支持应用分区,能有效地开发和调度应用业务逻辑,管理分布式应用的可靠执行。BEATUXEDO采用三层结构的组件软件模型。图1表示BEATUXEDO的组件软件模型的概要。该结构分为三层:图1BEATUXEDO的组件软件模型概要1.3TUXEDO的特点11..33..11..减减轻轻开开发发人人员员负负担担BEATUXEDO的三层结构组件软件模型将用户界面的表示部分和业务逻辑部分按客户组件服务器组件分开,使开发人员能够按组件的思想专注入于业务逻辑的开发,用户界面部分可用流行的前端开发工具来快速完成。而客户和服务器之间、服务器和服务器之间的通讯,tuxedo简易培训教程济南陆和电信软件有限公司文栈良zlwen@laurels.com第5页,共92页异构平台之间的数据变换,以及服务器和数据库之间的集成和事务控制都由BEATUXEDO来完成。当数据库或服务器端的业务逻辑改变时,客户端则不一定要改变;反之当客户改变或增加新的客户界面时,服务器端则不一定要改变,大大增加了应用系统的各部分的可复用性。BEATUXEDO提供的简洁API使用户程序能够物理地点透明地在客户和服务器之间、服务器和服务器之间进行各种方式的通讯,极大地减轻开发人员的负担。BEATUXEDO提供的通讯方式有同步RPC调用,异步RPC调用,对话通信方式,广播通讯方式,异步存储转发队列通讯,事件通讯方式等。11..33..22..使使系系统统的的安安装装与与升升级级更更容容易易在BEATUXEDO的三层结构组件软件模型下开发的应用程序以服务器组件和客户组件为安装、升级的单位,当一个组件需要更新时,管理人员甚至能够在运行系统不停机的情况下完成系统的升级,这在客户端为数以千计的关键任务应用中尤为重要。11..33..33..减减轻轻系系统统管管理理人人员员负负担担BEATUXEDO系统提供从一个中心点对整个分布式系统进行全局监控及管理的能力,管理员根据一个整体系统视图(而不仅是单个节点或单元)提供的信息,可以作出决定和采取动作。BEATUXEDO不tuxedo简易培训教程济南陆和电信软件有限公司文栈良zlwen@laurels.com第6页,共92页但提供了一些管理命令,而且提供了一个集成的图形界面管理工具,集中地监视和管理应用系统的运行,并且可动态地修改系统配置。通过Java的applets,还可利用Internet的浏览器比如Netscape或Microsoft的Explorer来运行该图形界面管理工具。此外,BEATUXEDO还提供了描述系统中各对象的管理信息数据库(MIBS)和存取管理这些管理信息数据库的管理API,用户可利用这些管理API,编写自己特有的管理工具。11..33..44..非非常常高高的的性性能能一方面,BEATUXEDO能够使多个客户连接到一个服务器进程,由这个服务器进程存取数据库,为客户的请求服务。这样,数据库为处理连接所需的资源大大减少。另一方面,客户和服务器之间,服务器和服务器之间的通讯中,网络上流动的只有相对较少的客户或服务器的请求和服务器处理的结果,而不再是两层结构中客户和DBMS之间的大量SQL请求和应答。此外,利用BEATUXEDO特有的一些机制也能极大提高应用系统的性能。比如利用异步RPC机制实现扇出并行,利用转发机制实现流水线并行,利用多服务器单队列实现多处理并行等。所有这些因素使BEATUXEDO的应用系统具有极高的性能。世界上大部分硬件服务器的TPC性能指标都是在BEATUXEDO上完成的。tuxedo简易培训教程济南陆和电信软件有限公司文栈良zlwen@laurels.com第7页,共92页11..33..55..更更高高的的可可用用性性BEATUXEDO随时知道它控制下的资源的情况,并利用这些信息为应用提供最大可用性。分布式系统使资源故障的影响复杂化。在一个分布式系统中,多个节点代表更多的潜在故障点的可能,但也可以代表在资源恢复开始时在其他节点上重新分配工作的更大潜力。BEATUXEDO在这种分布式系统故障恢复上具有优势。TUXEDO将重启应用进程,并且能在硬件故障情况下在其它结点上重新运行进程。11..33..66..分分布布式式环环境境中中更更高高水水平平的的数数据据完完整整性性BEATUXEDO设计了数据资源的绝对完整性。目前出现的客户/服务器应用中,重要数据资源很可能是广泛的,而且受异构系统的控制。应用可以设计成用严格的保证数据一致性的两阶段提交,或者用更多的缓冲存储和转发技术来管理异构的(或者同构的)数据库的更新。在各种情况下,BEATUXEDO能够确保异构的(或者同构的)数据库以及它资源管理器之间的完整性。11..33..77、、系系统统的的安安全全性性BEATUXEDO通过结构化用户界面支持应用服务的验证、授权和存取控制,允许用户加入自己的验证服务模块。BEATUXEDO还提供信息加密服务,允许对网络上传输的信息按RSA的RC4算法加tuxedo简易培训教程济南陆和电信软件有限公司文栈良zlwen@laurels.com第8页,共92页密。目前美国本土内可按128位,本土外可按40位加密。11..33..88、、开开放放系系统统中中最最开开放放的的中中间间件件平平台台BEATUXEDO是一个非常开放的平台,支持三十多种服务器平台,包括大多数的UNIX服务器,WindowsNT服务器,IBM的S/370,S/390,加上AS/400和Tandem公司的NonStop系统。它的客户支持几乎所有的工作站,包括UNIX,MS-DOS,Windows3.1/95,WindowsNT,OS/2,Macintosh等。BEATUXEDO支持X/Open组织的分布式事务处理模型DTP,事务定界标准TX,应用程序事务处理接口标准XATMI以及和资源管理器(像数据库系统)的接口标准XA,并且还支持事务处理器之间的互操作标准OSI-TP。BEATUXEDO的客户端通过DLL可以和VisualC++、VisualBasic、PowerBuilder、SQLWindows、Delphi、Develop/2000以及其他4GL和CASE工具互连。此外,BEATUXEDO还得到其他第三方开发管理工具厂商的支持。11..33..99、、系系统统的的伸伸缩缩性性简单地说,软件可伸缩性就是可以很容易地增加被支持的用户数和应用的全局吞吐量。一个可伸缩的软件系统是利用网络分布系统优势的关键。BEATUXEDO提供的就是这样一个系统,它可以利用在一个网络上所能找到的所有的异构的资源以获得最大的效益。BEATUXEDO提供这一点,tuxedo简易培训教程济南陆和电信软件有限公司文栈良zlwen@laurels.com第9页,共92页而且提供许多可伸缩性选项。垂直方向的可伸缩性代表的含义与通常相同,即将系统转变(升级)为一个更大,更有力的相同或不同结构的平台。水平方向的可伸缩性多是在分布式系统结构中,它以增加适当规模的附加系统来增强网络应用。所增加的附加系统与原有系统可能是同构的,也可是异构的(那就是不同的处理机或操作系统)。BEATUXEDO支持二维的可伸缩性。二维可伸缩性可在结构上的任意位置添加异质资源,而不改变已存在的应用的结构。允许对一个复杂的混合结构的支持,为联机网络系统提供了广泛的规模选择范围。任何与数据表示有关的(如不同的处理器表示)可以由BEATUXEDO透明地解决。BEATUXEDO还可根据系统负荷的变化动态地增加或减少应用服务器的个数。11..33..1100、、广广泛泛的的开开发发工工具具支支持持除了像C,C++和COBOL这样的第三代语言编程环境,BEATUXEDO系统享受最广泛的第三方工具的支持,下面是开发BEATUXEDO应用目前可用工具的一个列表。表1TUXEDO允许的开发工具选择公司开发工具客户端服务器端tuxedo简易培训教程济南陆和电信软件有限公司文栈良zlwen@laurels.com第10页,共92页AllyAlly4GL*InformixIFORMIX5.0(XA)InformixTPToolkit*ITITPTools*OracleORACLE7.0(XA)Develop/2000GuptaSQLWindowsNovellVisualAppbuilderNovellUSLWKSHUnifyAccell4GL*JyaccJAM/JPL*TIIEFCASE*MagnaMagnaX*PowersoftPowerBuilder*DelphiDelphiMicrosoftVisualBasicVisualC++tuxedo简易培训教程济南陆和电信软件有限公司文栈良zlwen