- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中间件研究综述
中间件的研究综述
中图分类号 TP316文献标识码A文章编号1673-9671-(2009)111-0024-01
计算机技术和网络技术的飞速发展,许多应用程序需在网络环境的异构平台上运行。在这种分布异构环境中,通常存在多种硬件系统平台(如PC,工作站,小型机等),在硬件平台上又存在各种各样的系统软件(如不同的操作系统、数据库、语言编译器等),以及多种风格各异的用户界面,这些硬件系统平台还可能采用不同的网络协议和网络体系结构连接。如何把这些系统集成起来并开发新的应用是一个现实而困难的问题,于是“中间件”技术就应运而生。
中间件是一种独立的系统软件或服务程序,位于应用与操作系统之间,屏蔽底层操作系统、网络以及数据库的异构性和复杂性,简化网络分布应用的开发、管理和维护,实现了应用逻辑与系统服务关注点的分离。
1 中间件的定义
为了解决分布异构问题,提出了中间件的概念。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,如图中间件示意图1所示,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。
IDC(互联网数据中心)对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
国外学术界给中间件的定义:中间件是一种软件,它能使处于应用层中的各应用成分之间实现跨网络的协同工作(也就是互操作)这时允许各应用成分之下所涉及的“系统结构、操作系统、通信协议、数据库和其他应用服务”各不相同。这一定义可形象地表示成如图中间件示意图2
2中间件的分类
2.1 数据访问中间件
数据访问中间件是指一切连接应用程序和数据库的软件。面向数据库的中间件允许开发人员通过单一的、定义良好的API访问另一台计算机上的资源,数据访问中间件的使用是解决异质平台、异质环境、异质数据库的统一访问、统一存取的最佳方案。
在分布式系统中,重要的数据都集存放在数据服务器中,它们可以是关系型、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或者压缩存放,数据访问中间件是在这种系统中建立数据应用资源互操作的模式,实现异构环境下的数据库联接或文件系统联接的中间件,从而为在网络上虚拟缓冲存取、格式转换、解压等带来方便。
2.2 事务处理中间件
事务是对共享的系统资源所完成的一件工作,它通常由一系列的操作所组成。事务处理中间件则主要用于分布式计算环境中产生事务的监控和管理。
事务处理中间件向用户提供一系列的服务,如应用管理,管理控制以及应用程序间的消息传递等。常见的功能包括全局事务协调、事务的分布式两段提交、资源管理器支持、故障恢复、高可靠性、网络负载平衡等。
2.3 面向消息中间件
在不同的网络硬件平台、不同的操作系统乃至不同的网络协议上的应用程序之间有时需要传送消息,这时应用程序对传送的要求是所传消息内容可靠和可恢复性(当发生意外,信息无法正常接受),而并不要求消息的即时即刻传递到对方。因此,需要一种面向消息的中间件,简称消息中间件。
消息中间件连接不同应用之间的通信,将不同的通信格式转换成同一格式。从而实现不同的网络硬件平台和不同操作系统以及不同网络协议上应用程序的消息互传。它的优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发,另外不会占用大量的网络带宽,可以跟踪事务,并且通过将事务存储到磁盘上实现网络故障时系统的恢复。
2.4 基于远程过程调用中间件
远程过程调用是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用。
远程过程调用是一个分布式计算的客户端-服务器的例子。远程过程调用总是由客户端对服务器发出一个执行若干过程请求,并用客户端提供的参数。执行结果将返回给客户端。由于存在各式各样的变体和细节差异,对应地衍生了各式远程过程调用协议,而且它们并不互相兼容。故基于远程过程调用的中间件就应运而生。
2.5 面向对象的中间件
当前开发大型应用软件通常采用基于组件技术,所谓组件就是一组对象的集成,其种类很多,有百万种,但这些组件面临着缺乏标准而不能相互操作。在有些分布式系统中,还需要集成各节点上的不同系统平台上的组件或新老版组件。为时,面向对象的中间件就产生了。
面向对象的中间件是对象技术和分布式计算发展的产物,它提供一种通讯机制,透明地在异构
文档评论(0)