BEA谈交易中间件


(来源:http://www.chinabyte.com)

开放系统的应用已迅速普及。随着计算机系统应用水平的飞速发展,越来越多的用户对开放系统提出了更高的要求。为解决传统二层模式与应用需求日益突出的矛盾,为用开放技术实现大规模的关键业务处理,以交易中间件为基础框架的三层客户机/服务器模式应运而生。

三层结构模式

  三层客户机/服务器模式的核心概念是利用交易中间件将应用的业务逻辑、表示逻辑和数据分为三个不同的处理层,如图1所示。

  表示逻辑(客户层)为第一层。它的主要功能是实现用户交互和数据表示,为以后的处理收集数据,向第二层的业务逻辑请求调用核心服务处理,并显示处理结果。

  业务逻辑(服务器组件)为中间层。这些组件由中间件管理,实现核心业务逻辑服务并将这些服务按名字广播、管理并接受客户的服务请求,向资源管理器提交数据操作,并将处理结果返回给请求者客户或其他服务器。

数据(资源管理器)构成模型的第三层。比如关系数据库,负责管理应用系统的数据资源,完成数据操作。服务器组件在完成服务的过程中通过资源管理器存取它管理的数据,或者说请求资源管理器的数据服务。

交易中间件的作用

  中间件应用设计应该是从异构的计算资源中创建一个虚拟主机:在分布式应用环境下提供可管理的相互关联的资源。交易中间件提供了一个基础的框架来帮助你建立、运行和管理一个三层客户机/服务器模式的应用,使你不需要从零做起,缩短应用开发的时间,提高了应用开发的成功率。中间件在对事务完整性的保证、对大规模并发处理的响应、对异构系统互联的透明支持,以及对应用数据的安全性保护等方面的表现将成为应用系统成败的决定性因素。

  BEA公司的产品TUXEDO1984年在AT&T贝尔实验室开发成功的。之后,BEA公司以TUXEDO为核心,开发出一系列中间件产品,提供从可靠消息传输到对象事务处理管理以及Internet应用服务等全方位的功能。

  BEA TUXEDOBEA Top End

  是在企业、Internet等分布式计算环境中开发和管理三层客户机/服务器关键任务应用系统的工具。它具备分布式事务处理和应用通信功能。

BEA M3

  BEA M3是基于组件的企业中间件解决方案。

BEA WebLogic

  BEA WebLogic作为新一代基于JavaWeb应用服务器,在提供传统的应用服务器功能的同时,还针对当今的Internet技术和Java技术提供了众多功能。

BEA Jolt

  BEA Jolt是一组软件构件,使Java程序员不必了解BEA TUXEDO服务程序的详细语义就可从能运行JavaWeb浏览器上请求TUXEDO的服务。BEA JoltBEA TUXEDO中间件框架扩展到InternetJava客户端。

BEA Builder

  BEA Builder是编制基于TUXEDO客户端程序的一个开发环境,它集成了像Visual Basic Power Builder等开发工具。

功能和特点

  交易中间件是建立三层客户机/服务器应用系统的重要平台。我们以BEA TUXEDO为例,说明中间件所具备的功能和特点。

应用域的划分与控制

  中间件具备将超大型应用系统划分为若干独立运行的较小的应用系统的功能,在BEA TUXEDO中称为控制,域内操作由域主机控制独立完成,域间操作由域网关透明地完成。

开放的体系结构

  中间件支持多种硬件、操作系统和数据库平台,并保证在不同的平台上具有一致的函数调用接口。因此,以中间件为平台的应用系统在一定程度上可以实现一次编写,到处运行的功能,从而在最大限度上保证用户的已有投资。

大用户量与实时性

  在以中间件为运行平台的应用系统中,Client端提出的服务请求不是直接提交给数据库,而是通过中间件提供的高速数据通道传送到Server端,进而提交给数据库,这种高速数据通道有效地降低了客户机与服务器以及客户机与数据库的连接数量。同时,交易服务中与数据库无关的逻辑处理任务也由中间件完成,从而进一步分担了很多原来需要数据库完成的工作,在很大程度上提高了数据库在处理大量并发服务请求时的性能,保持整个系统稳定的工作状态。

保证交易完整性

  在中间件的应用程序中,以BEA TUXEDO为例,只需将需要保证交易完整性的操作放在tpbegintpcommit之间,其交易数据的完整性由TUXEDO负责保证。中间件不仅能保证对一个数据源的交易完整性操作,而且对异地或异构数据的事务完整性操作同样能够保证,而对后者的操作是通过XA协议完成的。

任务优先级

  中间件允许对每个服务动态地设置优先级,从而保证优先级高的服务得到尽快的处理。

多服务进程、负载平衡和故障恢复

  中间件允许通过手工或编程方式在一台或多台服务器中同时启动多个服务进程,当接收到服务请求时,中间件将请求放入负载最小的服务请求队列中,使服务得到最快的响应。

信息发布与事件触发

  利用中间件的广播通讯机制,可以将信息同时向系统中部分或所有客户发送,客户接收到后执行事先定义的动作;事件触发机制允许用户订阅不同的事件,并定义事件发生后采取的动作,从而为应用系统提供了一种高效而灵活的通讯机制。

数据的集中与分布

  利用中间件作为业务系统的应用平台,并不需要在系统设计时确定数据的分布方式,每一个服务进程对应的数据源的位置在运行时由系统管理员指定,既可以与服务进程在同一台机器上,也可以分布在不同的机器上,系统管理员在系统运行的过程中可根据实际情况灵活地调整。

动态伸缩性与数据路由

  除能随时调整服务器和服务进程的数量和数据的分布方式外,BEA TUXEDO更独有数据路由功能,能根据服务请求中的参数向位于不同服务器中的服务进程提出服务请求。

安全控制

  通过中间件的访问控制机制,对操作员、系统管理员和客户等不同级别的用户用中间件中的用户分组概念进行管理,在用户注册时中间件进行密码识别,防止非法用户登录;用中间件提供的系统管理工具可以对每一个服务、队列和事件指明可以操作的用户或用户组,防止非授权用户对系统资源的破坏。

网络调度

  中间件允许在服务器之间设置多个网络通道,在应用系统中实现网络调度功能,如图2所示。

  并行数据通道:当多个网络被系统管理员设置为同样的优先级时,应用系统同时在这些网络上传送数据,提高数据传输速度。

  容错(Failover):当高优先级的网络出现故障时,系统会自动将应用转移到低优先级的网络,然后以一定的时间间隔检查高优先级的网络是否已经恢复。

  恢复(Failback):当高优先级的网络恢复运行后,系统自动将应用切换回高优先级的网络。

  网络调度功能提高了网络的容错能力,这是加快应用系统响应速度和提高系统稳定性的有力措施。

数据压缩和加密

  中间件提供不同级别的数据压缩和加密功能,降低网络负载并保证网络数据安全。经测试,数据压缩功能往往能成倍地提高网络传输效率。

应用领域

  以BEA公司为例,其中间件产品家族为全球2500多家大型机构的关键任务应用系统所采用,其中多数是世界级企业的应用系统,广泛涉及银行/金融、电信、交通、零售、制造、医疗、政府等领域。这些用户的共同特点是具有复杂、高端的信息管理系统,应用环境多种多样且系统用户在地域上分布很广。其应用通常建立在主机或大规模客户机/服务器系统之上,且业务处理量极大。

  随着Internet应用和组件结构的普及,随着各中间件厂商在IT市场激烈角逐的展开,中间件技术将会以越来越快的速度发展和完善,并将更好地服务于中国的信息产业。