tuxedo(Transaction for UNIX has been Extended for Distributed Operation)1984年由贝尔实验室开发成功,,用于管理AT&T美全国电话交换网络。1992年易主Novell,公司,1996年由BEA公司收购,经过十多年的不断更新和完善,Tuxedo已经发展成为交易中间件领域事实上的标准。2008年随着BEA被Oracle收购,Tuxedo现在是Oracle融合中间件家族的一员了。
Oracle将Tuxedo定义为XTP领域的核心产品。以下是Oracle对Tuxedo的价值定位:
TUXEDO是由服务器端的事务管理器、可靠队列服务、 应用域、客户端的工作站以及SALT等附加选件几个核心部分组成的。下面对这几部分进行介绍:
1. 事务管理器/T
运行于服务器端的事务管理器是TUXEDO体系结构的中心,它是每个TUXEDO服务器的核心,提供重要的分布式应用服务,包括:名字服务、数据路由、负载平衡、配置管理、分布式事务管理和安全性管理。它包含TUXEDO的核心数据结构公告板BB (Bulletin Board), BB中包括服务名、路由信息、请求服务的队列和负载等基本信息,TUXEDO/T负责访问和维护BB中的信息,并利用这些信息实现其各项功能。
2. 工作站/WS
工作站把TUXEDO ATMI API((注:ATMI,应用事务管理接口,是支持应用开发的一组函数)
扩展到客户端应用程序中,它适用于DOS、Windows3.1/95/98/2000/XP、Windows NT、IBM OS/2、 Macintosh OS和所有商用版的UNIX。有了工作站,开发者用ATMI客户端的功能可透明访问在TUXEDO分布式环境中任何服务器上的服务。有了工作站,用户可在常见的编程环境中如:Visual Basic,PowerBuilder,DELPHI,VC等编写TUXEDO的客户端程序。
3. 可靠队列服务/Q
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轻松地击败竞争对手,被选为该系统的中间件运行平台,并取得了令用户极为满意的实际效果。
5. SALT(Tuxedo选件)
SALT对于TUXEDO来说可以看程一个对Web Service的支持是外挂系统,即以前开发的服务程序不需要任何的改动。这个外挂系统只需要简单的配置就可以完成,不需要任何附加的编程工作,配置文件是一个XML文件。SOAP XML文档与Tuxedo Typed Buffer之间实现的是自动转换。SALT是一个本地的TUXEDO 服务,相比以前利用Web service访问TUXEDO Service的方法(比如利用WTC),它减少了转换的过程,提供了开发的效率,也提高了运行时处理的速度。
6.JOLT(Tuxedo选件)
Java/J2EE应用需要调用Tuxedo的服务,通常有两种解决方案,WTC和Jolt。WTC是weblogic内置的与tuxedo双向集成的组件,Jolt是tuxedo提供的附加组件,java/J2EE应用可以通过Jolt调用Tuxedo服务(单向)。
7. Mainframe Adapters
连接大机的适配器,在中国的应用案例很少。
8.TSAM(Tuxedo System and Application Monitor)
TSAM���供应用级的性能监控,提供可视化的监控、运行报告和控制,可以让用户能够制定及监控响应时间方面的SLA、实时掌控Tuxeod服务的性能和行为。个人觉得TSAM的"Call Path Monitoring"是个不错的功能。TSAM应该会集成到OEM产品系列