近几年来,以交易中间件为框架基础的三层客户机/服务器模式已被广泛证实为建立开放式关键业务应用系统的最佳环境。这种模式的成功使用已为许多国际大型企业在应用的开发和部署方面节省了大量的时间和金钱。中间件销量正在以惊人的速度增长。据IDC资料显示,1998年中间件市场总值仅为12.34亿美元,而到2004年将达到90.3亿美元,年增长率高达39.7%。我国中间件近年来也进入了快速发展阶段,预计今后5年市场的容量将达到9亿美元左右。目前中间件市场的繁荣其实代表了软件发展的一个趋势,即各种系统应用最终将走向融合。 什么是中间件? 中间件是一种独立的服务程序,分布式应用软件借助中间件在不同的技术之间共享资源。由于中间件技术正处于发展过程之中,因此目前尚不能对它进行精确的定义。比较流行的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯。中科院软件所研究员仲萃豪形象地把中间件定义为:平台+通信。这个定义限定了只有用于分布式系统中的此类软件才能被称为中间件,同时此定义还可以把中间件与支撑软件和实用软件区分开来。 中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。目前,中间件发展很快,已经与操作系统、数据库并列为三大基础软件。中间件主要分为以下几类: 1.通信处理(消息)中间件 此类中间件能在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输(如TongLINK、BEA eLink 、IBM的MQSeries等)。这是中间件中唯一不可缺少的,是销售额最大的中间件产品。 2.交易中间件 在分布式事务处理系统中要处理大量事务,常常在系统中要同时做上万笔事务。例如在北京市就要设置各种运载汽车,完成日常的运载,同时要随时监视汽车运行,出现故障时,要有排除措施,发生堵塞时要进行调度。在联机事务处理系统(OLTP)中,每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。BEA的 Tuxedo由此而著名,它成为增长率最高的厂商。一个事务处理平台,根据X/OPEN的参数模型规定,应由事务处理中间件、通信处理中间件以及数据存取管理中间件三部分组成。东方通科技公司的TongLINK 和TongEASY实现了这个参考模型规定。 3.数据存取管理中间件 在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,该中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。 4.Web服务器中间件 浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能作数据写入、受HTTP协议的限制等,就必需进行修改和扩充,形成了 Web服务器中间件,如 SilverStream公司的产品。 5.安全中间件 一些军事、政府和商务部门上网的最大障碍是安全保密问题,而且不能使用国外提供的安全措施(如防火墙、加密、认证等),必需用国产的产品。产生不安全因素是由操作系统引起的,但必需要用中间件去解决,以适应灵活多变的要求。 6.跨平台和构架的中间件 当前开发大型应用软件通常采用基于构架和构件技术,在分布系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此产生了构架中间件,功能最强的是CORBA,可以跨任意平台,但是太庞大;JavaBeans较灵活简单,很适合于做浏览器,但运行效率差;DCOM模型主要适合 Windows平台,已广泛使用。实际上国内新建系统主要是UNIX(包括LINUX)和 Windows,因此针对这两个平台建立相应的中间件要实用得多。 7.专用平台中间件 为特定应用领域设计领域参考模式,建立相应构架,配置相应的构件库和中间件,为应用服务器开发和运行特定领域的关键任务(如电子商务、网站等)。 8.网络中间件 它包括网管、接入、网络测试、虚拟社区、虚拟缓冲等,也是当前最热门的研发项目。 交易中间件 在目前的企业信息化中,应用最多的就是交易中间件了。三层客户机/服务器模式的核心概念就是利用交易中间件将应用的业务逻辑、表示逻辑和数据分为三个不同的处理层,从而使其应用系统不但具备了大型机系统稳定、安全和处理能力高等特性,同时拥有开放式系统成本低、可扩展性强、开发周期短等优点。而交易中间件作为构造三层结构应用系统的基础平台,提供了以下两个主要功能:负责客户机和服务器间的联接和通讯;提供一个三层结构应用开发和运行的平台。 交易中间件提供一个基础的框架去帮助你建立、运行和管理一个三层客户机/服务器模式的应用,使你不需要从零做起,大大缩短了应用开发的时间,提高了应用开发的成功率。根据 Standish Group的调查报告,采用一个成熟的交易中间件产品能够为应用开发节省25%-50%的时间。而通过自己去开发应用里中间件功能的项目,有90%以上以失败告终。一个优秀的交易中间件应具备以下六个条件: · 成熟、稳定、可靠 · 很强的产品生命力 · 完整、高质量的功能 · 优秀的性能 · 开放、遵循标准 · 简单、易用 采用三层结构完成应用系统的开发和实施,在初期由于购买中间件产品和对人员进行必要的培训,似乎成本有所上升,但实际上,通过以下几点,企业将节省大量开支,“得”必然会远远大于“失”。 中间件的采用可以从以下几方面减少系统的费用: · 开发工作量大量减少 · 缩短投放市场的时间 · 维护工作量大量减少 · 满足系统性能要求的前提下,降低对主机系统的性能要求 · 满足系统性能要求的前提下,降低对数据库系统的性能要求并且减少数据库用户数 · 充分利用现有的软硬件资源 由此可见,在软件系统的开发和建设中,通过中间件可以把已有的应用和数据结合在一起,这些应用和数据是独立的。随着企业信息化的不断深入,对中间件的需求也越来越大。许多厂商纷纷看好这一市场。现在,中国中间件市场的竞争主要发生在HP、BEA、IBM和国内中间件厂商之间。目前国内外有不少厂商都开发出自己的中间件产品,比较著名的有HP公司的HP Netaction中间件套件(主打产品为HP Application Server)、美国BEA公司的Weblogic和 IBM公司的Websphere,他们在对异种平台、异种网络以及异种数据库的支持和开发工具的支持等方面均表现出很好的特性。在技术方面,中国与国外厂商基本处于同一起跑线上,国内的中间件厂商通过艰苦努力,已经开发出了一系列成熟的产品,如中创软件的InforWeb、东方通的TongLink/Q、中科院软件所的WebFrame等,并且已经成功地将它们应用到了不同行业的应用系统中,该市场出现了国内外厂商两分天下的局面。 随着网络经济的快速发展,企业需要快速地响应市场变化的需要,同时还要不断地降低实现新型电子商务解决方案的复杂性,以便在飞速发展的全球市场中站稳脚跟。新的经济形势需要企业发展ERP、CRM和SCM等,并且要求能够与现有业务流程进行无缝集成,做到既可以充分利用现有的投资,又可以利用电子商务的优势。在这种形势下,中间件将发挥巨大的作用。 |