当前位置:文档之家› 分布式对象中间件技术研究_李纪云

分布式对象中间件技术研究_李纪云

第25卷Vol25第2期N02计算机工程与设计COMPUTERENGINEERNIGANDDESIGN2侧又年2月

Feb2004

文章编号10007024(2004)02017004中图分类号T3P93文献标识码

A

分布式对象中间件

技术研究

李纪云量小社重端(西安交通大学计算机科学与技术系陕西西安71

049

)

摘要:中间件是处于操作系统和应用层之间的一个软件层由于它可以简化基于分布式系统的开发应

用成

为目前软件工程中的热点在对中间件简单概述基础上讨论了分布式对象中间件的层次结构和发展现状最后通过对目前主流分布式对象中间件技术的分析和比较从4个方面给出了中间件技术的发展趋势它们

口的标准化体系结构的构件化开放化和可配置化以及使用的简单化

关键词:中间件;分布式系统;XML;构件

eRsearehondistrib讯edobjectsmiddlewareLlJiyunDO卜GXiaosheTONGDuan

(DepartmentofComputerSeienee&eTehnolo邵XianJiaoto鳃Universiyt,Xian710049Cihna)

Abstraet:TheeonstrUetionofala堪eelassofdisitrbutedsystemseanbesimPliifedbymiddlewaerwhieh15layeerdbewteennewtokroPeartingsystemsandaPPlieationeomPonentsDisitrbutedobjeetsmiddlewaerandits加turearefoeusedonTbeeonceP

t

ofmiddlewaer15bireflydiseussedifrstl.yTheeurentstateofdistributedobjecstmidlewaeranditslayersaerthenPresent

e

dand

ifanllyit15eocnludedhtatcureinStateoftheartdistributedobjectsmiddlewarestillneedfurtherdeveloPmentotbeidealonht

e

asPectsofstandardiaztioneomPonent一asedframeworksoPenesseonifgUartionandsilnPliifeationKeywords:middlewaer;disitrbutedapPlieations;XML:eomPonent

引言2分布式对象中间件技术概

中间件正处在迅速发展之中目前尚不能精确定义面向对象技术中对象的封装性和继承性为软件的可

文献【1]中定义为中间件是一个独立的软件层它屏蔽重用性提供了很好的基础并且对象的对外透明性也恰底层的异构性为程序员提供一个简便的编程模型通恰符合中间件技术的要求分布式对象中间件技术的基俗地说中间件就是处于中间的一个软件层提供一些本思想是在对象与对象之间提供一种统一的接口使对

API供应用程序调用它负责处理不兼容的操作系统或象之间的调用和数据共享不再关心对象的位置实现语

者文件结构调节客户与服务器或服务器与服务器之间言及所驻留的操作系统这个接口就是我们讨论的中间的通信互通互联应用软件中的各个构件因此中间件件分布式对象中间件技术的目标就是为软件用户及开又被称为软件总线比喻成桥梁和纽带粘合剂发者提供一种应用级的即插即用的互操作性就像现在

作为一个真正实用的中间件还必须提供命名安使用集成块和扩展板一样全事务灵活的通讯方式面向对象容错以及负载均衡.21分布式对象中间件的层次结构等服务随着中间件技术和分布式系统的发展分布式对象按照通信模型的不同中间件可以分为3类即基于中间件的内涵也变得越来越丰富种类越来越多技术越远程过程调用的中间件基于消息传递的中间件和基于来越复杂应用范围越来越广阔就如开放系统互联的

分布式对象的中间件由于面向对象的技术一直是软件7层参考模型一样文献[2]中根据中间件所处的逻辑层

界努力追求的目标所以分布式对象中间件就受到了特次把它分成4类(如图1所示)自下而上依次为:基础别的重视本文的研究就是基于该类中间件的中间件分布式中间件通用中间件和专用中间件下面

基金项目国家863计划基金资助项目(863306ZDl刁卜8);陕西高校高层次留学回陕人才基金资助项目收稿日期20021226

作者简介李纪云(197-9)男山东邹城人硕士研究生研究方向为面向对象与分布式系统并行处理体系结构;董小社(1963一男陕

西咸阳人副教授研究方向为计算机高性能计算机;童端〔1978一女硕士研究生研究方向为计算机体系

结构

170应用层APPLICATIONS

专用中间件DOMAINSPECIFICMIDDLEWARESERVICES

通用中间件COMMONMIDDLEWARESERVICES

中间件层MIDDLEWARE

分布式中间件

DISTRIBUTIONMIDDLEWARE

务忿遇

平示只藉骊周

逐i乡一竺

竺坚卫菩生习

CSS

REPLICATIONNSERVICE

丽仁里越

之兰兰上r一一一一一

运夕

T

CHANNEL

墓础中间件HOSTNIFRASTRUCTUREMIDDLEWARE

操作系统层

OPERAT】NGSYSTEMS

.魏洲睡嫂圈圈}}l}

l一}卜}峭哪娜圈娜哪

{}国皿翻翻娜姗l}

硬件层

HARDWAREDEVICES

椰脚妇珑l二

乃七

念飞

任昌几几

图1中间件层次图

显然越是处于上

层的产品使用越方便基于它们开发出的应用程序性能越可靠因此

越是处于上层的中间件产品被认为越有发展前景但是由于它们出现较晚而不太成

.22

主流的分布式对象

中间件技术

随着分布式技术和面向对象技术的结合产生了大量基于分布式

对象中间件的模型像OMG组织的CORBA

Mieorsoft的DCOMSu

n

公司的RMI等这些标准都极大地促进了对象中间件技术的发展随

着面向对象的应用系统

的逐渐增长对象中间

件的需求也在逐年加

大对象技术的优势和对象中间件的标准化促使对象中间件的功能

就这4类中间件分别介绍如下基础中间件:该层是用来屏蔽本地的操作系统通信以及并发控制把单机封装成为标准的网络构件来消除操作系统调用时的繁琐易出错和不可移植等缺点处于该层次的协议(产品)有Sun的VJM(JvaaVinualMaehine)Mieorsoft的NET以及ACE(ADAPTWECornrounieationEvniornment)等分布式中间件:该层以基础中间件构筑的平台为基础它屏蔽了网络通信时数据组包差错控制等扩展了该平台的网络编程的方便性处于该层次的协议(产品)有OMG组织制定的CORBAMieorsoft的DCOM及Sun用在Jvaa中的RMI通用中间件:该层是更高层次上的复用是分布式中间件层的进一步完善它能够使应用程序开发者从繁琐的编程中逃脱出来把精力转向应用程序本身的逻辑处于该层的协议(产品)有Sun的EJB技术以及目前很多公司竞向推出的Websevriees专用中间件:该层和具体的某一领域密切相关可以大大方便该领域内的开发编程比较而言前3层提供的复用机制和服务都是横向的而该层却是纵向的由于历史的原因除了个别领域(如联机交易等)外其它领域的协议和产品较少将最终涵盖其它几类中间件的功能而成为中间件产品的主流

下面介绍几种主流中间件模型的特点和不足并简单进行比较(l)主流的中间件服务模型

CO朋A服务模型:CoBRA是OMG(objeetMana

g

e

mentGrou)P

提出的一个分布式对象技术的规范它是针

对多种对象系统在分布式计算环境中如何以对象方式集成而提出的它为对象管理定义了一个对象模型OMG参考模型(oMGerfeercnemodel)及其框架结构该模型由

ORG对象服务公共设施领域接口及应用对象等5个

主要部分组成该模型及其框架结构将面向对象技术与客户/服务器计算模式结合起来有效地解决了对象封装和分布式计算环境中资源共享代码可重用可移植及应用间的互操作性等问题RMI服务模型:RMI技术是直接把分布式对象模

型嵌入到Jvaa语言内部使得Jvaa程序员可以自然地编写分布式程序不必离开Jvaa环境或者涉及CORBAIDL

以及aJva到CORBA的类型转换然而RMI不遵守CORBA

标准基本上是JvaaotJvaa技术它需要客户方程序和服

务方程序都用Jvaa编写难以实现与其它语言编写的对

一171一

相关主题