中间件的概念及应用

上一篇 / 下一篇  2009-01-10 08:51:50 / 个人分类:软件专业术语

中间件是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。中间件的作用,主要是为复杂的应用程序抽象出通用的公共部分,以降低应用开发的复杂程度。

  什么是中间件

  中间件的确需要有人来给它下定义了,因为实践往往会走在理论的前面,在中间件的概念产生以前,有些软件可能就已经存在了。此外,有些软件虽然不是作为中间件开发出来的,但是它们符合中间件的定义。

  应该说,中间件是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是把一组中间件集成在 一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,因此,如果用一种比较形象方式表示的话:中间件 = 平台 + 通信 这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来,认为中间件是分布计算机系统中集成各个组成的软件粘 接剂。

  也有人把中间件定义为网络环境中一组为许多应用需要的、可复用和可扩充的服务或(资源相关的)功能。

  "Middleware can be viewed as a reusable, expandable set of services and functions that are commonly needed by many applications to function well in a networked environment".

  至今很难给出一个精确的定义和界限其范围,大家发现每个人在谈论中间件时,常关系到他所涉及特定的范围,常常与应用相关,也有人企图将中间件分 层,但发现这样做并不带来很多好处,因此,有人干脆认为中间件是一组正交的非结构化的集合,按领域划分或许更方便。但也有许多人,把中间件看成是介于应用 和平台之间的一个中间层,它们又可区分上层与特定应用相关的中间件,中间层是较通用的一类中间件,底层则是与特定平台和资源相关的中间件。无论怎样的观 点,都要求中间件应具有如下的一些特点:

  满足大量应用的需要

  运行于多种硬件和OS平台

  支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互

  支持标准的协议

  支持标准的接口

  由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网 络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中 间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。

  二 中间件的作用

  一般认为,中间件属于系统软件范畴,与操作系统、数据库并称为三大系统软件。中间件的作用,主要是为复杂的应用程序抽象出通用的公共部分,以降 低应用开发的复杂程度。中间件是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、 网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

  中间件随着客户需求的更新以及技术条件的变革,得到了不断地发展。 中间件的发展,经历了TM监控器、交易中间件、消息中间件、ORB中间件、应用服务器等阶段,一方面,是用户需求从追求单方面的功能如事务、交易、消息逐 渐转移到需要一个功能完整的基础平台,而技术上,则从基于C、以及CORBA的技术、发展到J2EE。

  目前,Java 2平台企业版(J2EE)已经成为一种行业普遍认可的标准中间件体系结构,根据J2EE规范开发的中间件即称为J2EE应用服务器。J2EE应用服务器可 以简化和规范多层分布式企业应用系统的开发和部署,横跨各类不同的数据库和操作系统,并通过Web Services 及RMI-IIOP提供对异构系统的集成。因此,经过几年的发展,J2EE应用服务器已经成为市场上主流的中间件产品。

  从整个软件产业来说,中间件搭建了应用与技术之间的桥梁,成为软件产业链条上不可或缺的一环,其作用巨大。中间件为客户提供了性价比更好的应用 方案、为开发商提供了高效率及高可用性的开发平台、并且可以适应不同的操作系统不同数据库产品的需要。中间件,把软件产业相关厂商以及客户紧密的结合在一 起,形成一个良性的生态系统。

世界著名的咨询机构Standish Group在一份研究报告中归纳了中间件的十大优越性:

  · 缩短应用的开发周期

  · 节约应用的开发成本

  · 减少系统初期的建设成本

  · 降低应用开发的失败率

  · 保护已有的投资

  · 简化应用集成

  · 减少维护费用

  · 提高应用的开发质量

  · 保证技术进步的连续性

  · 增强应用的生命力

  具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。

  中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。 Standish的调查报告显示,由于采用了中间件技术,应用系统的总建设费用可以减少50%左右。在网络经济大发展、电子商务大发展的今天,从中间件获 得利益的不只是IT厂商,IT用户同样是赢家,并且是更有把握的赢家。

  其次,中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是 操作系统、数据库管理系统本身做不了的。中间件的这一作用,使得在技术不断发展之后,我们以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财 力投入。



TAG: 软件专业术语

 

评分:0

我来说两句

Open Toolbar