(计算机应用技术专业论文)基于服务的动态分布式体系结构jini技术的研究与应用.pdf_第1页
(计算机应用技术专业论文)基于服务的动态分布式体系结构jini技术的研究与应用.pdf_第2页
(计算机应用技术专业论文)基于服务的动态分布式体系结构jini技术的研究与应用.pdf_第3页
(计算机应用技术专业论文)基于服务的动态分布式体系结构jini技术的研究与应用.pdf_第4页
(计算机应用技术专业论文)基于服务的动态分布式体系结构jini技术的研究与应用.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机应用技术专业论文)基于服务的动态分布式体系结构jini技术的研究与应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 随着网络和i n t e m e t 的蓬勃发展及广泛应用,互连设备和软件组件的使用量的 急剧增加,网络使用与维护的复杂性也越来越大。人们希望设备和软件组件接入网 络时,能够无需配置、安装或者人工干预立即使用这些设备或软件组件所提供的服 务,即能够实现即插即用的功能。为适应这种要求,美国s u n 公司提出了一种基于 j a v a 的动态的分布式体系结构一一j i r d 。 j i n i 是一种真正基于服务的体系结构,它为不断发展的泛及、泛在与动态的分 布式计算需求提供了一种解决方案。它把网络上的各种设备和各种软件部件组合成 一个动态的、自发的服务系统,使得网络更易于操纵和管理,具有更高的可配置性。 j i n i 使网络上的资源可以动态地加入或删除,可以为使用者、其他硬件设备或软件 提供相应的服务。使用服务的客户无须知道服务的具体位置,但是却能够动态地感 觉到服务的加入和离开。 论文首先对j i n i 的体系结构作了介绍;对j i n i 的三个组成部分:基础设施、编 程模型和服务组件,进行了全面的研究;同时分析了j i n i 技术与其他分布式技术及 即插即用技术的不同。 然后对构建j i n i 服务体系的选择作了分析,在分析研究的基础之上,开发出了 实现j i n i 核心功能的基于j i n i 技术的远程分层浏览文件库服务,分别设计了简单文 本客户程序和图形客户程序加入网络发现并访问服务。设计开发了一个文件服务监 视器以图形化的方式随时告知客户j i n i 共同体中服务的加入和离开等改变。期望为 这种技术的广泛应用提供借鉴和参考方法。 关键词:j i n i 分布式体系结构 即插即用j a v a 查找服务租用 a b s t r a c t a b s t r a c t w i t ht h er a p i dd e v e l o p m e n ta n dt h ep r e v 8 s i v ea p p l i c a t i o n so f n e t w o r ka n di n t e m e t , al a r g ev a r i e t yo fd e v i c e sa n ds o t w a r ec o m p o n e n t sa b e i n gc o n n e c t e dc o n t i n u o u s l y i n t on e t w o r k t h ec o m p l e x i t yo fn e t w o r ku s ea n dm a i n t e n a n c eb e c o m e sm o r ca n dm o l - e 窑睫战i ti se x p e c t e dt h a tt h es e r v i c e sp r o v i d e d b yt h e s ed e v i c e sa n ds o f t w a r ec o m p o n e n t s c 髓b eu s e dw i t h o u tb e h a gc o n f i g u r e d i n s t a t l e da n di n t e r v e n e db yp c o p i ei ns u c ha s i m p l yw a y a sp l u g a n d - p l a y ( p n p ) 鲫et h e yp l u gi n t on e t w o r k t os o l v et h i sp r o b l e m s u nm i c r o s y s t e r n ss u g g e s t san e wd y n a m i c a l l yd i s t r i b u t e da r c h i t e c t u r e 镬n ib a s e d0 1 1 j a v a a sar e a la r c h i t e c t u r eh a s 酣o ns e r v i c e j i n ip r o v i d e sas o l u t i o nf o rp e r v a s i v e u b i q u i t o u sa n dd y n a m i cd i s t r i b u t e dc o m p u t i n gw h i c hi sd e v e l o p i n gc o n t i n u o u s l y 髓圮 菇n is y s t e mf e d e r a t e sn e t w o r kd e v i c e sa n ds o f t w a r ec o m p o n e n t si n t ow h a ta p p e a r st ot h e u s e ra sas i n g l ea n dd y n a m i c a ls e r v i c es y s t c m ,w h i c he n a b l e st h en e t w o r ke a s i l y a c c e s s i b l e ,m a n a g 班l b l ea n dh i 殛c o 蝌l e i n8 - j i n is y s t e m , t h en e t w o r kr e s o u r c e s c a nb e o i n e da n dd e l e t e dd y n a m i c a l l yt op r o v i d es e r 峨o e sf o rh u m a nu b e r s ,o t h e r h a r d w a r ed e v i c e sa n ds o f t w a r ec o m p o n e n t s t h ee l i e u to ft h es e r v i c e sd o e sn o tn e e dt o k n o wt h e1 0 e t r i o no f t b e s es e r v i c e sb u ti tc a nf e e la n yc h a n g e so f t h es e r v i c e s 麓l et h e s i sf i r s t o r e st h ei n l r o d u c t i o n t ot h ej i n ia r c h i t e c t u r e t h e ns t u d i e s c o m p r e h e n s i v e l yt h et h r e ep a r t so f j i n i - - i n _ f r 鹊t r o c m r e p r o g r a m m i n gm o d e la n ds e r v i c e s m e a n w h i l e , t h i st h e s i sa l s oa n a l y z e sa n dc o m p a r e st h ef u n c t i o n a ld i f f e r e n e e sb e t w e e nt h e 嚣n is y s t e ma n dt r a d i t i o n a ld i s t r i b u t e ds y s t e r n s 。 t h ec h o i c e so fd e s i g n i n gj i u is e r v i c e sa r e h i t o c t u r ea r ca n a l y z e d f i n a l l y , ac o n c r e t e a p p l i c a t i o nw h i c hc 融b r o w s er e m o t el a y e r e df i l e s t o r e si sd e s i g n e da n di m p l e m e n t e do n t h eb a s i so ft h ea b o v es t u d i e sa n da n a l y s i s e s a l s oas i m p l ec l i e n tb a s e do nt e x ta n da e l i e n to fg r a p h i cf i l eb r o w s e ra d e s i g n e dt oj o i n j i n in e t w o r k , d i s c o v e ra n du s et h e s e r v i c et h r o u g ht h eu s e ri n t e r f a c e f o rt h ec o n v e n i e n c eo fc l i e n t s ,af i l e s e r v i c e m o n i t o r w h i c ho a n 矗鞋芏l o 瑚t h ec h a n g e so fs e r v i c e si nj i n in e t w o r k 撕蝴a 毫a n ym o m e n t s d e v e l o p e d ni si m e n d e dt h a ta l lt h e s es t u d i e sa b o v ec a nf a c i l i t a t ea n dp r o m o t et h ej i n i a p p l i c a t i o n s k e y w o r d s :j i n i ,d i s t r i b u t e d a r c h i t e c t u r e ,p l u ga n dh a y , j a v a , l o o k u ps e r v i c e ,l e a s i n g | l 原刨性声明 本人声明,所呈交的学位论文怒本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了论文中特别加以标注和致谢的选方夕 ,论文中不包含其健人已 经发表或撰写过静研究残栗,毽不包含为获得兰州理工大学鬣箕往单位的学位或证:莎 而使用过的材料。与我共同工作的同志对本研究所作的贡献均已在论文中作了明确的 说明。 作者签名:圣! :量 f 期:王整 年胃厶f 关于学位论文使用授权说明 本人了解兰州理工大学有保留、使用学位论文的规定,即:学校有权保留学位论 文t 允许学位论文被查阅和借阅;学校可以公布学位论文的全郏或部分内窖,可以采 矮复窜、缭印或其它手蔽保存学位论文;学校可嘏撅国家或首搿省有关部门筑定送交 学位论文。 作者签名:罩卜;己 名;旌隰趁年五月丘同 第一章绪论 第一章绪论 率黎绘出课题的寒源、研究对象、县髂目括,以及论文的内容布局。 1 1 课题研究对象及国内外研究概况 1 ) 谦舔来源和研究对象 所选课题来源予自选课题。 网络和i n t e m e t 的发展导致了对_ 陵用软件体系结构方丽新的需求。像o s f d c e 、 c o r b a 、d c o m 、r m i 窥蕊予h t t p s o a p 熬w e b 服务这样粒分毒式钵系缕媳及 基于网络的体系结构的发展说明了在分布式体系结构需求方面的不断变革。随着处 理嚣和存储嚣变褥越来趱纛价,“诗冀设备这一概念氇正在遴稃蓍黧新定义。诗彝 变褥更必泛及化、泛在化和移动化,计算机网络也变得更期快速和可靠。未来的网 络正在朝着动态、自形成和自管理的商向发展【l l 。 毽楚当蘸分露式谤雾仍然蟊黠黄罐下熬珏令翅嚣; 编疆模型相关问题:由于编稷模型的简化所导致的问题( 如网络延迟、部 分失败、并凝住、服务提供者和腋务请求者之间的紧藕合和注瓣所需服务的逶籍) 。 绩程语言甥美闼题:由予矮逸择的编程语富瓤导致豹翔题( 主要取决于顼 采用的编程模型) ( 如地址空间) 。 基确设施相关闯蘧;在警蘸体系鳍梅孛存在,毽铡蠡蘸秀业没鸯褥弱錾褪 的闯题( 如对请求协议的依赖性翘为了处璎服务通知器要通用赍臼请求协议) 。 c o r b a 、d c o m 、r m i 和蒸于h r r p ,s o a p 的w e b 服务簿这黧当前可丽的分 布式体系结擒在鲶理分枣式暑于冀辨瑶瓣熬鞫题聪劳嚣宪全遥合, 夏菇必要找到静 更佳的分布式体系结构,由此引入了本文的研究对象。 本论文所研究的对象怒一种动态的,无需配嚣静纂手服务豹分布式体系结 撼o i n i 技术。这秘掰技术所支持灼无论设备还是软件组件在网络上即插即用的 功能极大的简化了网络操作,能很好媳处理上述分布式计算所面对的问磁。无论怒 在军蕉还是鼹蘑矮城都有茭广泛熬应瘸蘩爨。 2 ) 国内外研究概况 j i n i 技术是1 9 9 9 年s u n 公司在美阑加嗣| 日余由市举行的s u n 全球分析家大会土 发东熬,它一发菇就褥爨l 业界3 0 多个主要合馋伙伴的大力支持。融翦,这些合作 伙伴正在将j i n i 技术纳入他们下代的家用或商用器件之中,所有这些新型器件都 熊与霜络实糯互攥俸。i 琏连接技术,已褥列从潜费类毫予产熬制逑囊、较羚器发 商,到服务提供商等业界主要合作伙伴的广泛支持。j i m 技术创造了一囊崭新、完 整的网络访问方法,觚而为信惠、服务和产品的新撼供方式打汗了犬门。围绕j i n i 技术度形成媳社翳已璧现这样的逑象;即将出现豹颧型嚣馋将凝盖极其广泛的应用 范围,从磁盘驱动器到洗衣机,因为这些溅在成用j i n i 技术源代码的厂商们已拥有 7 宅造多耱多棒黪薪鬏产菇豹全新懿途径帮方法。 在设备市场中,j i n i 技术已经得到相巍广泛的采纳。所有的大越生产商,包括 佳能、惠普、爱或信、昆腾、希捷、爱普斑、诺基豫、柯达、谱门予戬及东慧等都 在 亡手嚣发支持j i n i 豹设餐或半导体产品。豫c a 、e n o a n t o 朝m e t r o w o r k s 等公司 也将重心放在了使用此技术开发软件组件之上【j i 。 l i g h t f l o w 等公司正在搜嗣它来实境箕在线裔唐静基硝没藏。i n t u i t ( q u i c k e n 戆裁 第一章绪论 造商) 则将它应用于其交互式4 0 1 ( k ) 投资顾问产品中。美国军方在战场上迅速集成战 地指挥所时也用到了j i n i ,从而免去了耗时的安装、配置和管理l l 】。 在企业应用中,j i n i 首先为后台企业系统的建立人员提供了一种方式,使其能 将软件实现得更具有动态性、更可配置和可升级,同时也更易于部署。 在国内则有越来越多的人看好j i n i 的发展前景,并加入到各个j i n i 开发群体中, 对j i f l i 在不同领域内的应用进行研究和开发。 1 2 课题实现的具体目标 文章实现的具体目标为:了解并深入分析研究j i n i 这种动态的基于服务的分布 式体系结构,并在掌握j i n i 技术的体系结构和工作机制的基础上利用j i n i 技术进行 分布式应用软件组件的设计和开发。 所以根据课题的需要,本论文将开展以下的研究内容: 1 ) 深入分析j i n i 技术的体系结构和工作机制。 2 ) 结合j i n i 规范,设计开发出具体的应用实例。 1 3 本论文的内容安排 针对以上具体目标,本论文中各章的内容安排如下: 第一章绪论 本章给出课题的来源、研究对象、具体目标,以及论文的内容布局。 第二章j i n i 体系结构的分析与研究 本章从体系结构上深入分析了j i n i 技术用于实现其即插即用功能的各个组成部 分,包括:服务如何采用“发现,加入协议”发现“查找服务”并将服务注册到“查找服 务”;客户如何采用“发现查找协议”找到“查找服务”并查找自己感兴趣的服务;“查 找服务”如何在一个分布式环境中利用“租用”的概念来管理网络环境和资源的动态 变化;如何响应和处理远程事件;如何对事务进行处理等。 第三章j i n i 服务体系的构建 本章介绍了j i n i 服务体系的组成及对各组成部分的要求,并对构建j i n i 服务体 系的各种方案作了分析,为设计和开发j i n i 应用程序提供了基础。 第四章j i n i 技术应用实例 本章设计开发了一个基于j i n i 技术的远程浏览分层文件库的应用实例。分析与 设计运用面向对象的分析与设计和客户机,服务器结构相结合的方案,最后运行简单 文本和图形浏览器两种不同的客户程序访问加入j i n i 群体的服务。实例在运行j a v a 虚拟机的不同桌面p c 机的多机环境下实现。演示了如何建立j i n i 分布式应用程序 以构建动态的服务网络。 第五章总结与展望 全文总结,总结自己进行的工作和论文的不足之处,并提出下一步工作的方向。 第二章j i n i 体系结构的分析与研究 第二章j i n i 体系结构的分析与研究 2 1 j i n i 技术概览 2 1 1 j i n i 产生的历史 从计算机诞生那天起,在如何更好地将计算机互连起来以便充分利用各种资源 这一问题上,人们从来没有停止过辛勤探索的脚步。从大型机到p c 机,从局域网 到广域网再到后来的i n t e r n e t ,整个世界经历了一次网络化的大洗礼。现在,随着嵌 入式设备的大量使用,无所不在的网络和无所不在的计算( e v e r y t h i n gc o n n e c t i n g , e v e r y w h e r ec o m p u t i n g ) 又在逐渐将人类带入一个崭新的信息社会【2 j 。 一切都非常令人兴奋,并且随之而来各种电子设备的互联也将成为一种必然的 趋势。但是目前的网络还相当脆弱,并且很不灵活,仅仅只对某些关键部件稍加改 动很可能就会造成网络的一片混乱。而像添加磁盘驱动器这类看似非常简单的事 情,管理员也必须先打开机箱,设置跳线,并解决一系列复杂的软件设置问题。 解决这个问题的办法是找到一种全新的分布式计算技术,使得任何设备无需预 先配置和安装,便可在任何时间任何地点加入阿络,并且能和网络中已有的各种软 硬件一起协调工作完成计算。 为了找到勰决这个问题的办法,利用j a v a 代码移动性、平台无关性、安全性、 简洁性等特点,s u n 公司的一个研究小组计划在j a v a 的基础上建立一个具有可靠性、 可维护性、可扩展性和具有自发性的软件层,这个项目就是j i n i 。j i n i 的设计建立在 一组j a v a 开发者熟悉的核心概念之上,除了这些j a v a 原有概念之外,他们还加入 了j i i l i 独有的新概念,其中包括一个分布式存储模型,这个模型基于耶鲁大学d a v i d g e l e m t e r 的l i n d a 系统,可作为通用设备存储和检索对象。j i n i 还借用了一个在r m i 中使用的概念租用( 1 e a s i n g ) 作为自动管理网上资源的方案。另外,j i n i 大量使用 周期性的组播( m u l t i c a s t ) 来完成协作的j i n i 应用和服务间彼此的通告。 j i l l i 项目一直在s u n 公司内部秘密执行,直到1 9 9 8 年,美国纽约时报的记者j o h n m a r k o f f 才在报纸上公布了有关j i n i 的新闻。到1 9 9 9 年1 月2 5 日,j i n i 正式对公众 发布。1 9 9 9 年四月,第一次j i l t i 社区大会在美国科罗拉多州的a s p e n 举行,在会上, s u n 公司主要的j i n i 奠基人b i l lj o y 和j i mw a l d o 阐述了j i l l i 是如何从根本上改变了 计算系统的体系结构。 j i n i 的设计理念就是要让用户在使用计算机周边产品或嵌入式电器时,能像使 用电话一样方便。从消费者的角度看,如果你想安装电话,只要申请到一个电话号 码,再去买个电话机,然后把插头往墙壁上的插座一插,拿起话筒听到嗡嗡声后就 可以正常使用了,不需要对电话进行任何配置。它摧毁了传统的网络壁垒,能使用 户从任何地点将任何消费类电子产品和企业设备简单地与网络相连。j i n i 的目标正 是要在可靠性、可配置性和可管理性等方面达到类似予电话系统那样的水平,使得 任何硬件或者软件只要进入网络这一大环境,就能够立即使用所有可用的服务,而 不需要那么多繁琐的配置过程 j i n i 使原来互不相容的系统具备兼容性,因此,它可使用户将任何器件,从个 人数字助理( p d a ) 到数字立体声设备( d v d ) ,无缝地、即刻奏效地、“即插即连” 地接入到一个真正开放的无处不在的网络之中t 3 , 4 l 。有了这样的即刻连接性,j i n i 技 术就使用户获得了一种与我们这个数字世界互操作的新颖的简便方法,在任何时 第二章j i n i 体系结构的分析与研究 间、任何地点,从任何器件上都能将家庭与办公室、与街道相连。j i n i 技术与那种 由操作系统控制的网络有本质不同,因为它完全不需要庞大复杂的操作系统,取而 代之的是采用各种智能接口的对网络的直接插入。它可用于现有的网络基础设施, 随着网络的进展,j i l l i 保证了各种传统器件的持续发展。 2 1 2j i n i 是什么 最初,j i n i 要么被描述为一种可将整个i n t e m e t 转变为一个大型的超级计算机的 方法,要么被认为是一种让烤面包机、闹钟和电冰箱相互交流的方式,甚至还有人 认为它是用j a v a 编写的一个完全崭新的操作系统。在引入j i n i 的数年间,开发群体 慢慢理解到j i n i 是考虑开发网络系统时所采用的一种完全崭新的方式。j i n i 的核心 仍是关于动态的、自愈合的而且无需管理的网络服务合成体。这些服务可以由后端 企业级软件组件、端对端文件共享应用等,当然甚至于还可以支持i n t e m e t 烤面包 机。 j i n i 本身并不是一个缩写词,其来源于阿拉伯语中的一个单词,其含义是“神 奇”。在s u nm i c r o s y s t e m s 的官方文档j i n i 体系结构规范中,对j i n i 是这样定义的: “j i n i 是一个基于由用户群组和用户群组所需资源所结成的联盟思想的分布式系统。 系统的总体目标是将网络转变为一个灵活的、易于管理的工具,使资源可以由人或 者其它客户发现。系统的中心就是通过灵活地增加和删除服务使网络成为一个能更 好地反映工作群组动态特性的更加动态的实体 ,f 5 1 。 j i n i 以网络为基础来发现服务和使用服务。与传统系统力图隐藏网络的真实情 况相反,j i n i 利用网络动态、灵活变化的特性形成服务群体,在群体中注册服务, 发现服务,使用服务。它是一种自诊断、自配置的与协议无关的分布式计算体系结 构,可以提供自发的服务网络可以与任何分布式对象采用任何协议进行交互,如 r m i 、c o r b a 、d c o m 或某种专用协议。相对于其服务节点,它具有更强的生命 力。j i n i 允许服务动态地加入或离开,而不会对网络或者网络用户造成任何影响。 这里的服务指的是由任意实体提供的一组功能。所谓的实体可以是一个计算机硬件 设备( 如计算机、打印机或扫描仪等) ,也可以是一个电子设备( 如声频和视频器 材) ,还可以是一个电气设各( 如微波炉、咖啡机或其他家用电器) ,另外,软件( 软 件组件) 或者软硬件组合也可以认为是一个实体。j i n i 提供了一种基础设施,从而 可在零安装、零配置以及l o o 服务交互的条件下动态地建立服务群体。 j i n i 表示了一种完全不同的方法,使我们基于可广泛获得的移动代码能够再次 审视应该如何创建分布式系统。它是一种动态的分布式体系结构,可以用来处理分 布式实体或服务的协作,而这些实体可以是设备,也可以是软件组件。 j i n i 是以j a v a 技术为核心的分布式系统,它通过使用一个简易的“即插即用”模 型,能够随时改变硬件或者软件的配置,从而提供了一个支持快速配置的分布式计 算环境。j i n i 的迷人之处在于它能够使各种数字设备无需配置、安装或者人工干预, 就能够在一个临时的称为服务联盟( f e d e r a t i o n so f s e r v i c e s ) 的设备集合中共同工作。 联盟中的任何设备无论大小都可以自行管理,共同组成一个服务网络,联盟中的每 一个成员都可以为其它成员提供资源或服务 印】,同时又可以从其它成员那里获取自 己所需的资源和服务,j i n i 提供一套完善的机制使得硬件设备或者软件组件能够随 时加入或者退出联盟。 2 1 3 j i n i 的系统假设 j i n i 的体系结构建立在以下环境假设基础上【1 8 9 1 : 1 ) 有一个网络,并具有合理的网络延迟。这将保证网络的延迟不会影响到j i n i 4 第三辩j i n i 体系臻旃黯分祈与研究 系统的性能,因为j i n i 在很大程度上依赖于j a v a 的移动代码特性。 每个支持j i n i 的设备都程一定的内存秘处理能力。对于没有处理能力或内存 懿设备,翊存在一个帮蠢楚瑾髓力又豢骞内存麴筏瑾( s u r r o g a t e ) 。这是一令疆强豹缓 设条件,因为往往希望所有丽绦成员都拥有所需的最少的计算能力、内存和通信能 力。 3 ) 每个设备都需要装备一个j a v a 虚拟机。由于能够得到的j a v a 虚拟机的内存 占楚霹弑毒掰举瓣,这藏襞褥对手其毽设备燹褰瑟实理j a v a 支持。 | ) 服务缀 孛袋利用j a v a 塞瑗。这逶对予簧热入菜个嚣撼群体鞠欹锋缢释蘑徽 的假设。所有服务组件必须以j a v a 对象的形式存在,从而方便服务的请求者能够动 态撇下载或运行代码。这里需隳注意的一点烂,j i n i 并不鼷求必须是j a v a 服务的实 现,蕊只是需要一个j a v a 包装髅。 2 1 ,4 系统冒标 j i n i 系统的瞄标是将网络转变成一个易予维织、易予管理的环境,邋过这个环 境,用户能够找到他们感兴趣的资源并加以利用。这里的液源既包括硬件设备,也 包括软件程序,或卷是两者的结合。j i m 着力予使网络交成一个更富有动态性的环 境,鬻鞋灵活遣臻燕窝剩豫骚务,扶瑟环境魏霆鲟遮逶反突俸豹魂态交诧。 j i n i 系统盼最终目标由戬下咒个部分缀成l | 嚣誓 1 ) 提供一种撼础设拖,从简可以在任何时间、任何地点与任何对象实现连接。 j i n i 的远景是提供个能够帮助不同的网络用户在任何网络群体自然地兜成发现、 翔入鄹参与豹基獭墩蓬。 勰舞供一辫慕穑设蓬,获褥支持“瘸络帮疆帮溺”。j i n i 鹣蓦标是秃瓣花嚣闯予 安靛和配置,即可为其他用户撬供所有加入刘网络中的服务。其远景是零安装和零 配鬣。就像把电话插入到电话捕孔中再加以使用一样循单一一不过这还不是现实。 实酥上,目前孵服务曼集中于擞作系统和驱动程序。即使谯下载了正确的驱动程序 窥会逶豹嚣鬟文穆嚣,秘然凳豫是在“瑟矮攀谚求 _ 嚣 铲嚣糕鼯矮”。 3 ) 逮过播象硬件,软箨的菱溺,跌两支持蒸于服务静体繇结梭。j i n i 的方向是提 供一种以服务网络为中心的体系结构,而不怒计算机网络溅设备网络。j i n i 的体系 结构避过把所有对婊都处理为服努从而简化滋在计算的实旗。这种服务w 以由硬件 或款终提供,遣珂以遴过硬髂麓软件静组合涞提供。聚爝邀秘方式进雩予獭象豹优点 在予支持褥萋疆设施援诗舞提供静攀一粪麓瓣实薅一一辩鞭务。蘼毒谂渡,爨麴 加入绒离开网络,都可以按照这种服务类型涞定义,丽不煅根据各个不阀的类型来 定义。如此抽象将有助子使服务提供者的实糯对服务请求漪加以隐蔽。 4 ) 提供一神体系结构以处理部分失败。除非能够提供某种机制来处理部分失 效,琴剩苓麓藜箕为完整熬分鸯式钵系缝箨。j i n i 熬嚣瓠勰是提貘菜穆鏊穗设燕戳 及一个附加的编穗模型从而霹l ;l 处理部分失效并帮助建嶷一个“自愈念”盼服务网 络。 此外,j i n i 通过j a v a , s p a c e s 和j i n i 事务服铬提供可选的持续性和事务服务。 j i n i 系统在题络壤念上扩震了j a v a 瘦曩l 骡壤,将其囊攀令蹙援祝戆枣到矮终。 j a v a 应用环:赛逶邀代码晦露藤载为分森式计算提供了一个庭簿豹诗舞平台;肉鬟 的安全机制使用户能安全地运行来自于网络中动态下载的代码;强类型的运用使得 编译后的类代码可以不用重新编译就可以在任意虚拟机上避行。最终构建个网络 系统,可以支持对象的动态配鬟,并且对象w 以根据需要从个地方移动到另个 蘧方,凝及调爱瓣终孛其它鄂分来共羯完藏搽律。 第二章j i n i 体系结构的分析与研究 j i n i 体系结构充分利用了j a v a 应用环境的特点来简化分布式系统的组建,同时 增加了套垂动的莠骚务援寻规剃增强了分毒式系统中熬备缀成部分的流动佳,馒对 象在熬个露络串霹淡轻松移豌。 j i l l i 技术基础设施为设备、服务、用户掇供了加入和邋出网络的机制,加入和 退出一个网络系统将是非常轻松和自然的。栩对于目前主袋由手工配置网络参数而 言,强嫩豹动态性熊显示出了极火的优越性。 2 1 。5 核心撬叁 2 。l + 5 1 服务( s e r v i c e ) 服务是j i n i 体纂结构中最徽疆的概念。一个服务是具有一定功能,可被用户、 程序绒其它服务所使用的实体。服务可以是计算、存储、岛其它用户的通信、软件 过滤嚣、硬终浚蠡簿。 j i 戚系统静威菇维成联邦菸攀服务。一个j i n i 系统不熊簿单静试为怒一组客户 和服务,或用户和程序的组合。实际上,一个j i n i 系统是由一群服务所缀成用于完 成特绒任务的联合体。一个服务w 以使用其它服务,而且一个服务的客户可能它本 身就楚另一个骧务,也可以有囊穗静客户。j i n i 鹃动态特燃,使服务可以缀挺用户 豹嚣求遮露遮藏入黢簿舜一令j i n i 系统p 鼯l l 。 j i n i 系统提供了一套分布式系统中服务的构建、查找、遴信、使用附机制。通 过j i n i 的基础设施和编程模型,可以创建服务,将其加入一个或多个j i n i 系统,并 向这然系统中豹其像部分宣告其存在;客户擞据需要查找服务,找到相题配的服务 嚣客声援驻务妥袋瓣逶蕊稔议奄该薮务建立潺臻,势滋方法谖蠲戆黪斌寒使援辍 务。从派务实现的角度来看,藏努楚良j a v a 语言的对象形斌出现,该对象可能由多 个其它对象组成。每个服务带有请求其服务的一组操作界面,其中一部分界面可以 被应用程序调用而崴接获得服务;另一部分界颟则用以实现了用户与服务之间的交 互。所谓戆驻务类数,耍g 对应予j a v a 语言豹按鞠,它确定了该骚务鹣功戆,厨 l 重定 义了上述熬搽佟器鬻,这些赛蕊体现了j a v a 语富豹方法谖髅。 从客户的观点来看,服务光论是由另一台机器上的对象实现,还是服务的代码 被下栽到本地地址窳间运行,或衡由硬件实现等,对客户采说都是无区别的。这些 服务郝是可以从网上获褥,并具体表现为j a v a 语言的对象。客户关心的怒服务的功 戆襄搡佟赛嚣,瑟琴是茭实瑗努裁。因魏,溅努戆一耱其锩实瑗方式霹骧被舅一穗 实现蠢式取代,它澎须知道客户的信息,也不要求客户程序作任何改动。 j i n i 系统中的服务之间使用服务协议进行通信,这是组用j a v a 语嵩笃成的接 口,熬本豹j i n i 系统通过这样的服务协议来实现关键服务之间的交互。 2 1 。5 ,2 囊援羧务( l o o k u ps e r v i c e ) 豢我服务是j i 撼体系维梅中豹一个基本的缀成部分,窀为j i n i 系统巾爵餍的骚 务提供集中的注册机制。j i m 系统中的对象鼹通过查找服务爿乏实现相互发现和交互 的。豢找服务是j i n i 系统与用户急间以及j i n i 系统之间相黛联系的关键纽带。一个 实钵( 暇务或应用) 禚搬盟j i n i 环壤之翦,都必须先拽到一个缓多个j i n i 系统,方法 藏燕蠢筏该系统审豹套我鼹务。一显我鬟查我黻努,该实髂裁霹按照鸯# 入秘浚豹一 系列规范加入到该系统中,并在该系统中发布服务。 f 5 9 络上的每个徽找服务都可以为一个或多个系统提供服务:每个系缆也可以有 一个域多个查找服务支持。查找臌务提供了对w 供服务的服务项目( 包括代理和属性) 懿警瑗。往瑾鑫羧务鬟供,表骥该获务囊提爨熬凄憨。发毒在查我疆务士戆疆务豹 属性,w 以便于用户寻找匹配的服务。 6 第二章j i n i 体系结构的分析与研究 查找服务中注册的对象也可以是其它查找服务,通过这种方法可以实现查找服 务的层次树缭构。如果提供稽应的梳制,个查筏菔务中还胃黻包瑟名称和雪录解 辑骧务,从瑟在j i n i 查找服务和其它形式豹查我服务之间建立一个“桥梁”;当然, j i n i 查找服务的引用也可以放在其它的名称和目泶解析服务中,为其它服务访问j i n i 系统提供一释方法。 服务受加入到查找服务中,需要通过一对协议,即发现协议( d i s c o v e r y ) 和加入 协议c 珀湖。簸现协议用于寻找一个合适的套我服务,然后逶遥加入协议实瑶买体靛 热入过程。 2 1 5 3 代理( p r o x y ) 与大多数分布式系统一样,代鬓怒羹峨麴棱心穰念之。掰谓代理藏是我表远 程对象的本地对象。代理是序列化的j a v a 对象,在服务中它是唯一的。当其它的实 体,无论是想利用此服务的应用还是茄外的j i n i 服务,在我至月陵务磺目辩,代理对 象麓会被复制到该实髂麴j a v a 虚羧枫中,实咎避过调耀此代理对象的方法来搜用服 务。 对客户两言,代毽其有鞠远耧l 琵务福潲蠹每壤程接鞫,遴过代理专耜瘦静远程骧 努通信,这样可以羼藏下层阚络细节。代理将客户韵调用参数传送绘远程服务,然 后接收近程服务的返回僵,褥交给客户。代理在j i n i 系统中豹移动和所越的褡用翔 整2 1 掰示。 图2 。1j i n i 系绫孛代理熬移动嬲作用 1 ) 服务提供糟( s e r v i c ep r o v i d e r ) 通过d i s c o v e r y 协议找到l o o k u ps e r v i c e ,再由 j o 斑协议将掰撵谋斡濂务注瓣在l o o k u ps e r v i c e 孛,注溪髂惠惫舞:骚务标谈号, 服务实体( 含服务类型的信息) 瓤服务属性。p r o x y 作为服务实体从s e r v i c ep r o v i d e r 上载到l o o k u ps e r v i c e 。 2 鼹务请求喾竣稼客户( c t i e r a ) 懑过d i s c o v e r y 蛰泌找剿l o o k u ps e r v i c e ,薅由 l o o k u p 协议按照所需服务的类型和属性寻找服努,找到匹配的服务后,再将该服务 的p r o x y 下载弼本趣。 3 ) c l i e n t 遁过p r o x y 使媸服务,聪p r o x y 与s e r v i c ep r o v i d e r 之间以特定的赧务 协议进行通信。( 由于p r o x y 是由j a v a 字节弼组成,这保证了p r o x y 可以跨平台运行) 不难看蹒,c l i e n t 黉弼p r o x y 与s e r v i c ep r o v i d e r 避稼逮信,蠢这令p r o x y 最裙 就米自予该s e r v i c ep r o v i d e r 。因此,c l i e n t 只需要知道p r o x y 所支持的j a v a 语言接 口就可以调用服务。而p r o x y 和s e r v i c ep r o v i d e r 之间可良采用任肖瓣向藤务静协议 遴短遥壤,势且遴信协议改变时,c l i e n t 螺无绥俘任何改溯,甚至w 完全不关心那 些协议的变化。 由鼗霹凳,遥过代理静应用,c l i e n t 霹菇透强遮使用暇务,夯嚣只霰颈先鲔道 7 籀二章j i n i 体系结构的分析与研究 骚务憩嚣镗么,丽不必了孵该月受务是如何去做的,包括实现该服务的语言、软硬件 平台、物理位置、通信协议等。 这种p r o x y 代褥由s e r v i c ep r o v i d e r 转移裂c l i e n t 瓣能力,甄是j a v a 豹特色,也 是j i n i 与其它分布式系统,如c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 和d c o m ( d i s t r i b u t e dc o m m o no b j e c tm o d e l ) 的漫著嚣男| j 。在那些系统辛,客户蔫 于秘鼹势递露逶嫠约代妈采耀了袋照t d l ( n t e r f a e ed e f i n i t i o nl a n g u a g e ) 定义的静态 协议;邋信协议改变时,要求客户和服务也同时作相应修改。 2 1 5 4 褪用( l e a s i n g ) 为了提供系统苴 亍维护的能力,傺 正系统中部分失败能被识别并且清除,减少 人为遗管理系统,j i n i 使用了租用( l e a s e ) 的概念。租蠲的蒺本稳憨燕:不允许使用 者在无凝裁黪醛阕内谤淘资源,资源只是在一段鸯限灼对闼内“借绘”莱使用者,j i n i 租用要求那些能 芷明其确实与某部分资源密切相关的使用者才能继续占有资源。 租丽提供了释藏j i n i 中采用鬣不嚣要的资滚静办法。瓣客产嚣富,当疆臻蠲期 ( e x p i r e ) 辩,资源就教回收;如果客户农租用来到期前藏已毙成对资源的使用,则客 户可以照式地取消( c a n c e l ) 租用,释放资源:假如还要继续使雨资源,客户羽要不断 蝗嚣蓑( r e n e w ) 租感( 臻囊爨源分配者孛潢更长的越耀。 这种租用机制也运用在瓷源将其服务注册到l o o k u ps e r v i c e 的过程中。一个资 源在l o o k u ps e r v i c e 中注瑟它掰褥供豹服务,获得一个注瓣稚蠲,取灌稷蠲裁糖当 予连铐捆应服务。因此,如累s e s v i c ep r o v i d e r 想进其提供的服务出现在l o o k u p s e r v i c e 中,以便客户选择使用,则s e r v i c ep r o v i d e r 黉不停地受新对应酌租用。警 密溪瓣络敖薄、黢务楚溃或爨淫设鍪从魉土拔走等馕提封,该耱用攀裁霉被更毅, 则当其到期厥,对应的服务就从l o o k u ps e r v i c e 中注销。 租用静使用裔如下作用: 1 ) 馒弱粼豹镶误不会破蜒谨岭系统。j i n i 统了提垮错误瑚网络镄误、机器赦 障的处理方式。出现错误的不可靠者会使自己退如群体,对其它部分不会造成损害。 资源静健奔手蠹雳番露懿哭燕辍务豹錾趱己经过熬,不每霉建。 2 ) 使得j i n i 联统的成员所使用的阉定襻储空间确实熊做到不需鼹维护。系统能 够通过租用确认哪些服务活跃,睇些徽务不活跃,哪些服务在系统串遗鹜了楚毂数 据,并姥够谈别接那些不教嫂用豹资源莠释菝它们; 租用还裔一个显著的特点,就是允许第三方代表另外的实体实施租用。第兰方 廷楚完藏租丽酶熬个过程,租用瓣委托者器畜将矮鸯实效。 2 1 5 5 摹侉9 和j a v a 类似,j i i l i 也使用事件的概念来处理异步通知,但j i l l i 体系结构采用的 是分森式事伟模羹。褶对手j a v a 的在阂一个j a v a 盎熬爨土发送异步运知,j i n i 模型 中的某个对象允许处予其像虚拟机或者其它实际机器上的对象在其上注册它们感 兴趣的菜种类螫的事件,并且当这类事件发生酎。这鍪对象可醛牧蠲褶瘫静逶酝。 这使褥纂予分毒式事转妁程序霹以更w 靠翻更健壮。 分布式事件模型题在分布式对象也间通知状态变化信息的机制,相对于单一地 醺空阉豹事佯模羹,富有蠡邑鹣特熹帮要求。京奉遮豹繁撬下,如果撵定了菜部 分是事件的接受赣,发送者就知道事件可安全到达,而在异地的情况下,问题就复 杂的多。远端事件的接受方w 能突然觚网络中退出,丽诧爵发邀方不知道这一情嚣, 只然继续尝试发送;也毒哥憨接牧方懑经崩溃,这对发送方应考虑轰弃事彳牛:或者 还有可能接受方程一段时间内处于非活跃状态,不能处理搴件,这种情况在接收方 8 第二章j i n i 体系结构的分析与研究 使用r m i 激活框架时会经常发生:也有可能远程对象传来的事件未按顺序到达,甚 至于根本就没到达。 j i n i 的分布式事件编程模型与普通事件模型的主要差别是: 1 ) 所有希望接收远程事件的对象所使用的基本接口r e m o t e e v e n t l i s t e n e r 是一 个r m i r e m o t e 接口,这意味着接口中的唯一方法n o t i f y o 可以由另外地址空间中的 对象通过r m i 进行调用。并有可能产生r e m o t e e x c e p t i o n 异常。 2 ) j i n i 模型的类和方法特别少:所有希望接收远程事件的对象只要实现一个接 h - - r e m o t e e v e n t l i s t e n e r 。而且此接口中只有一个方法n o t i f y ( ) 。另外j “中用于远 程事件调用的也只有一个类r e m o t e e v e n t 。 j i n i 采用第三方代管程序来具体实现事件的发送和响应。通过创建一个“通用” 的第三方代管程序,使之插入到事件传送的链中,从而可以感知到所有事件然后调 用真正的接受器。第三方对象不必知道各个事件的具体含义,就可以使用、转发和 存储j i n i 远程对象,这是因为所有的j i n i 事件,都是一个第三方可以理解的类,即 r e m o t e e v e n t 。第三方不必知道更多的类细节,只要完成一个n o t i f y o 方法就可以用 于接收

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论