分布式对象中间件技术研究_李纪云
- 格式:pdf
- 大小:359.52 KB
- 文档页数:4
软件中间件技术现状及发展梅宏北京大学信息科学技术学院软件研究所,北京 100871{E-mail:meih@}1 前言“中间件”这一术语最早出现在1980年代后期,主要用于描述网络连接管理软件。
在1990年代中期,随着网络技术快速发展,中间件的概念日益普及。
中间件在学术界和产业界均得到长期、广泛的研究与实践,尽管目前尚没有统一的中间件定义,但对于中间件的意义与内涵已有基本共识。
如,IEEE的分布系统专家组认为“中间件通过提供简单、一致、集成的分布编程环境,简化分布应用的设计、编程和管理。
本质上,中间件是一个分布软件层(或平台),抽象了底层分布环境(网络、主机、操作系统、编程语言)的复杂性和异构性”[19];美国国家自然基金委员会认为“中间件是建立在网络传输服务之上、辅助开发新应用与网络服务、适用于多个应用的一种软件”[30];对象管理组织OMG认为“中间件就是解决网络环境下互操作问题的软件,它同时还提供事务、目录、事件等其它基本服务”[44];CMU软件工程研究所认为“中间件是一组支持软件连接的服务的集合,允许在一个或多个主机上运行的多个过程通过网络进行交互。
中间件是将大型机应用移植到客户/服务器应用、以及跨异构平台通信的基础机制,最初用于解决客户/服务器体系的互操作问题(20世纪90年代)”[7]。
不难看出,这些定义从不同角度、采用不同字眼所描述的中间件具有相同的目标——解决分布应用开发中诸如互操作等共性问题,以及相同的内涵——提供这些共性问题的具有普适性的支撑机制。
一般说来,中间件有两层含义。
从狭义的角度,中间件意指Middleware,它是表示网络环境下处于操作系统等系统软件和应用软件之间的一种起连接作用的分布式软件,通过API的形式提供一组软件服务,可使得网络环境下的若干进程、程序或应用可以方便的交流信息和有效的进行交互与协同。
简言之,中间件主要解决异构网络环境下分布式应用软件的通信、互操作和协同问题,它可屏蔽并发控制、事务管理和网络通信等各种实现细节,提高应用系统的易移植性、适应性和可靠性。
2005年3月SHUILI XUEBAO第36卷第3期文章编号: 0559-9350(2005)03-0350-05中间件技术在多模型洪水预报WEB中的应用蔡阳1,汪妮2,张永进2,解建仓2(1.水利部水利信息中心,北京 100053;2.西安理工大学水利水电学院,陕西西安 710048)摘要:利用中间件技术实现网络环境下的防汛决策应用是目前防汛业务的一个新方向。
按照J2EE标准,以中间件技术的应用框架为基础,在MVC软件设计模式的指导下建立了面向Web的洪水预报系统,以期提高软件的可扩展性、可维护性和代码复用率。
本文以可拆分子模块的新安江模型和不可拆分子模块的水箱模型为代表,探讨了对于子模块、模型的标准组件及组件库的开发,初步尝试了搭建组件模型及应用方案的过程。
最后以一个小流域的实测资料为例,对多模型洪水预报过程以及预报结果对比进行了应用测试。
关键词:中间件技术;框架;MVC设计模式;洪水预报系统;新安江模型;水箱模型;模型组件;组件库中图分类号:TV212.4 文献标识码:A流域水文模型是用数学方法描述和模拟水文循环的过程,是对水文循环规律研究的重要结果之一。
20世纪60~70年代伴随着计算机技术和系统理论的发展,涌现出大量的流域水文模型,但预报系统常常针对某个具体的水文模型来开发。
由于模型的适用性不同,单个水文模型的应用并不利于洪水预报决策。
本文引入框架理论、组件技术及MVC(Model-View-Controller)设计模式,以期在Web环境下开发具有伸缩性、易于扩展、便于对流程进行维护的洪水预报模型系统,从而体现该应用系统在共享、重用、集成和扩展等方面的优势。
1 中间件技术通常认为中间件是一种介于操作系统与应用系统之间的独立的系统软件或服务程序,这些软件具有标准的接口和协议,针对不同的操作系统和硬件平台,可以有符合接口和协议规范的多种实现,分布式应用借助它在不同的技术之间共享应用、协同工作。
2017年第9期信息与电脑China Computer&Communication计算机工程应用技术基于ICE 中间件的分布式应用开发研究江卓逞 黄 玮 曾加刚(中国直升机设计研究所12室,江西 景德镇 333001)摘 要:通过介绍中间件的特点,分析了ICE 中间件的架构及主要构成,以地面测试人员获取远端被测设备的系统时间为例,介绍了一种基于ICE 中间件的分布式应用程序开发过程与方法,并给出了详细的开发步骤和实现代码。
利用该方法,开发人员只需要专注分布式应用逻辑的开发,非常适合航空航天等行业的大型复杂且对性能要求较高的分布式应用开发。
关键词:中间件;ICE;分布式系统;测试中图分类号:TP311.52 文献标识码:A 文章编号:1003-9767(2017)09-038-03Research of Distributed Application based on Ice MiddlewareJiang Zhuocheng, Huang Wei, Zeng Jiagang(China Helicopter Research and Design Institute, Jingdezhen Jiangxi 333001, China)Abstract: Through the introduction of the characteristics of middleware, the paper analyzes the ICE middleware architecture and main components, takes the system time that obtained the remote test equipment by ground tester as an example, introduces a distributed application development process and method based on ICE middleware, and gives the detailed development steps and code implementation. Using this method, the developers only need to focus on the development of distributed application logic. It is very suitable for large and complex applications in aerospace and other industries.Key words: middleware; ICE; distributed system; test1 引言中间件属于基础软件的一个分支,它既可以是一套单独的系统软件,又可以是独立的服务程序,属于可复用软件的范畴。
本栏目责任编辑:谢媛媛软件设计开发浅析分布式计算相关技术马薇(秦皇岛职业技术学院,河北秦皇岛066004)摘要:分布式计算是研究如何利用网络上大量的闲置计算资源来解决大型计算问题的一种计算科学。文中介绍了分布式计算的工作原理,包括中间件技术、网格技术、移动Agent技术、WebService等在内的几种典型的分布式计算技术。
关键词:分布式计算;中间件;网格;移动Agent;WebService中图分类号:TP393文献标识码:B文章编号:1009-3044(2008)20-30283-02AnalysisonClient-serverComputing’ssomeTechnologyMAWei(QinhuangdaoInstituteofTechnology,Qinhuangdao066004,China)Abstract:Client-servercomputingisakindofcountscience.Itmakesuseofagreatdealofleaveunusedcountresourceinnetworktosolvebigcountproblems.ThispaperintroducedClient-servercomputingprincipleandafewtypicaltechnology,includingMiddleware,GRIDtechnology,mobileAgent,webserviceandsoon.
Keywords:Client-servercomputing;Middleware;GRID;mobileAgent;webService
1概述
分布式计算通过有效的调动网络上成千上万台计算机中CPU的闲置处理资源及存储资源,来组成一台虚拟的超级计算机,为超大规模的计算事务提供强大的计算能力。一些有名的分布式计算项目如今已经使用了分布于世界各地的大量志愿机的计算能力,如GIMPS、RC-72、UnitedDevices、SETI@Home等,并不断有越来越多的志愿者了解并积极加入到这一行列中来。随着Internet的迅速发展和普及,分布式计算已成为网络发展的主流趋势。但是,现有的分布式计算技术都存在着一些没有解决的问题,从而也影响了分布式计算技术的使用。
第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一