基础中间件的概况及分析

来源:互联网 发布:weed飞行员燃料淘宝店 编辑:程序博客网 时间:2024/05/18 02:28
 在当前各种各样的信息系统建设过程中,“中间件”都在被广泛的使用,使之成为继操作系统和数据库之后,最为重要的基础软件之一。“中间件”顾名思义它是处在整个信息系统中间部分的软件,“中间”有两层含义,第一,它是分布式系统中的传输通道,部署在网络不同节点之间;第二,作为基础性的平台类软件,它处在上层应用程序与底层操作系统、数据库之间。无论从那个层面讲,中间件的纽带桥梁作用都是显而易见的。

中间件的发展在世界上已有近15年的历史,在国内也经历了10几年的历程。最初在金融行业中,开始在分布式环境中使用联机事务处理(例如银行的通存通兑),由此提炼出了最初的中间件需求雏形,即异构平台间的数据传输,以及简单统一的应用开发接口。由此应用层和网络传输彻底剥离,从C/S体系到“三层结构”的转变初步完成。

在信息化发展较快的金融行业,主要的应用模式就是“交易”,并且并发量大,实时性强,数据一致性要求高等一系列特性的不断显露,底层需求无法在跨平台的各家操作系统和数据库以及应用系统中解决,所以这类对系统的需求都被集成进了“中间件”的范畴,交易中间件内容不断扩展,“交易中间件”的概念由此基本成型。

随着“中间件”的不断普及,应用领域也跨出了单一的金融行业,而在电信,交通等各个领域得到了应用,需求范围和需求的变化日益增加,随着需求促进技术不断发展的原理,使我们对“中间件”的理解又得到了丰富,即数据在网络传输中,不仅有大并发,高实时,保证一致性等特点,同样还有,数据量大,可靠性高,持久性高等特点。而这些特点间甚至存在相互冲突的地方,如并发量大,希望同时处理的网络连接多,大家共享网络,而数据量大则希望能独享网络,提高传输速度;实时性高,需要系统响应快,减少中间件本身的系统开销,但是可靠性高,持久性高,却需要系统提供额外的缓冲处理,保证数据的安全……渐渐的我们把数据传输的不同特性逐渐归纳为两大类,一类是数据的交易属性,包括实时性,一致性等;一类是消息属性,包括大数据量,可靠性,持久性等。那么相对应的,逐渐分化出两类中间件,即“交易中间件”和“消息中间件”。

当然两者还是有很多相同的功能特点,如相似的应用开发接口;对上层应用程序的管理;同步,异步等多种通讯方式,均衡负载,结点安全控制等等。正是由于太多的相似性,使我们在建立应用系统时,经常为如何选择两类产品而发愁。上文简单的描述了两类中间件的发展历程及特点,其实也就是阐述了两类中间件的不同定位。当要建立一个应用系统的时候,对于数据不同属性的关注程度决定了我们选用哪种中间件产品。

本文以基础中间件为标题,其实上文介绍的“交易中间件”和“消息中间件”也就是构成基础中间件的核心力量。那么“基础”二字又是从何而来,相对于什么来说的呢?在分布式系统中,数据传输是最核心的功能,对数据不同属性的关注,产生了“交易中间件”和“消息中间件”,可以说这两类中间件是面向数据,面向传输的,是平级的。随着软件功能层次的细分及应用整合的需要,在这类中间件之上与应用之间又抽象出了更多层次的、新的功能软件,它们借助下层中间件的数据传输功能,为用户提供更高层此的各种访问服务,数据整合服务,打通各个独立系统的信息孤岛。其实说道这儿两个炙手可热的名词已经脱口而出,就是“EAI”和“SOA”。在此之上还有更多面向行业应用定制的、组件化的软件产品不断涌现。当这个层次越积越高的时候,“基础”二字也就不言自明了。

那么未来基础中间件除了继续独立的支撑应用系统的需求以外,更大的发展方向将是担负起这些上层软件的功能需求,提供分布式系统中的“总线服务”,支持上层的各种数据访问。这样一个多层次的应用系统模型,也就清晰可见了。
原创粉丝点击