(计算机软件与理论专业论文)移动agent在corba中的研究与应用.pdf_第1页
(计算机软件与理论专业论文)移动agent在corba中的研究与应用.pdf_第2页
(计算机软件与理论专业论文)移动agent在corba中的研究与应用.pdf_第3页
(计算机软件与理论专业论文)移动agent在corba中的研究与应用.pdf_第4页
(计算机软件与理论专业论文)移动agent在corba中的研究与应用.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机软件与理论专业论文)移动agent在corba中的研究与应用.pdf.pdf 免费下载

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

文档简介

硕士论文 移动a g e n t 在c o r b a 中的研究与应用 摘要 c o r b a 和移动a g e n t 都是当前热门的分布式对象技术。c o r b a 的优点在于其 成熟性和应用的广泛性,移动a g e n t 的优点在于其对环境的适应性和能自主迁移的 特点。把移动a g e n t 的特点加入到c o r b a 当中,可以极大地提高c o r b a 对象的 移动性和灵活性。 本文在c o r b a 和移动a g e n t 的结合方面作了一些工作,给出了可移动c o r b a 对象的概念。可移动c o r b a 对象具有移动a g e n t 的特点,它可以自主地在节点之 间移动。 在可移动c o r b a 对象的基础上,本文提出了结合移动a g e n t 的c o r b a 负载 平衡模型。此模型具有简单、移植性好等特点,提高了负载平衡系统的动态适应能 力。 关键字:c o r b a ,移动a g e n t ,a g l e t s ,负载平衡 硕士论文 移动a g e n t 在c o r b a 中的研究与应用 a b s t r a c t t o d a y , b o t l lc o r b aa n dm o b i l ea g e n ta r c r e s e a r c h h o t s p o t i nt h ef i e l do f d i s t r i b u t e dc o m p u t i n gt e c h n o l o g y c o r b ai sam a t u r a t e s p e c i f i c a t i o na n di t i su s e d w i d e l y m o b i l ea g e n t i se x c e l l e n tf o ri t sm o b i l i t y , a u t o n o m y , d y n a m i c a la d a p t a t i o na n d i n t e l l i g e n c e p u tt h ea d v a n t a g eo fm o b i l ea g e n ti n t oc o r b a a r c h i t e c t u r ew i l le n h a n c e c o r b a o b j e c t sm o b i l i t ya n df l e x i b i l i t y t l l i sp a p e rd o e ss o m er e s e a r c hi na l la r c h i t e c t u r ec o m b i n i n gc o r b aa n dm o b i l e a g e n t ,a n dc o n s t r u c tac o r b ao b j e c tw h i c hh a ss o m ec h a r a c t e r i s t i co f m o b i l ea g e n t 1 1 1 i so b j e c tc a nm o v ef r o mo n eh o s to nt h en e t w o r kt oa n o t h e rw h i l ei tc a ns e r v ec o r b a c l i e n ta sw e l la san o r m a ls e r v e l n l i sp a p e rt h e nu s e st h es y s t e mi nc o r b a b a s e d l o a db a l a n c i n g i td e v e l o p sa m o d e la n da p p l i e si tt ot h e i m p l e m e n t o fl o a d b a l a n c i n g n l i sp r o t o t y p e c a nb e i m p l e m e n t e da n dt r a n s p l a n t e de a s i l y , a n di t m a k e st h ec o r b a b a s e dl o a db a l a n c i n g s y s t e mm o r ea d a p t i v e k e yw o r d s :c o r b a ,m o b i l ea g e n t ,a g l e t s ,l o a db a l a n c i n g i i y 6 2 4 2 5 0 声臻 本学位论文是我猩导师的措静下取得的研究成果,尽我所知,穗 零学短论文中,豫了擞以褥注和数谢妁部分外,不包含其他入已经发 表或公布避静研究或慕,也不惫禽戳为获褥镁俺教育藏褥盼学位或学 历丽使用过的材料。与我一嗣工你的同事对雄学位论文做出的贡献均 穗在论文中佟了甓穗麴说鹱。 磷突皇鏊塞: 妒垂手零毒舞雪基 学链稔文链蘧授毅声捌 枣素理工大学套投保存本学位埝交麴电予鞘续囊文档,胃瑷氆阕 戏上睡公稚本学位论文的全部或部分内容,可激向有关部门或视梅送 燮并授权冀像存、借阕蛾上网公礤本学位论文的全都或郝分内容。对 予傈密论文,按傈密靛青关援定帮程序楚瑗。 讲究生签锅。 刎l 罐6 月j 日 硕士论文 移动a g e n t 在c o r b a 中的研究与应用 1 1 课题研究背景 第一章绪论 为了鳃凌分毒式诗舅黪壤孛不霆硬释设备秘较嚣系统蕤互联,增强弼络阕软徉 的互操作性,解决传统分布式计算模式中的不足等问题,对象管理组织( o m g ) 提出 了公共对象请求代理体系结构( c o r b a ) ,以增强软件系统间的互操作能力,使构造 烫活的分布式应用系统残必霹能。近年寒,c o r b a 技术发展迅遮,备丈厂薅积援 参与有关标壤鲍帚l 定和产菇开发工作,後得c o r b a 娩范越来越成熬。作为蘅陡对 象系统的对魏通信的核心,c o r b a 技术为当今网络计算环境带来了真正意义上的 赢联。 c o r b a 耩准是瑟惫辩象帮分毒式簸遵嚣耱鼓零结会静产秘。覆囊鼹蒙毅零提 供各种应用所需的封装和煎用能力,从而减少系统藏杂度,提高熏用度。分布处理 技术提供抽象的通信层基本框架。帮助汗发人员充分剩用系统组件的软、硬件资源, 矮子系统豹绦护和秀级。c o r b a 对象蹲步 雾表现鹃一系列行为熬l 蓦接日定义溪富 ( i d l ) 来描述。客户通过c o r b a 对象穗定义的接1 :3 蜜蠛对它的访闯,对客户丽蠢, 对象的实现和位置是透明的,它们之间通信的细节幽对象请求代理( o r b ) 来负赞实 现。不同于典壁的分布式软件系统,c o r b a 对象的交互独立于底层的网络协议秽 税懿,因既鏊子c o r b a 鹣应用程枣爵获瓣络绍节孛捆象出来,双褥可逶焉予不潜 的环境。 c o r b a 体现了组件化的程序设计恩想,在实现上,采用了躐向对象程序设计 方法。瘁麓蒸零豹踅终摸黧,c o r b a 举双涮定了程膨与程彦之阙逶 毳豹霞藏,氇 提供了实现缀件程序的基础结构。c o r b a 采用面向对象的方法例建在应用程序之 间可复用与可共享的软件缀件,降低了成用程序的缀杂性和成本。 由于以上特点,以及分枣式软 孛体系结构熬发畿黉求,雄动了c o r b a 的成熟 与发展。露前,c o r b a 技术在银行、电信、保险、电力和电子商务领域都存广泛 的应用。 移动a g e n t 技术是继c o r b a 、e j b 之后的新一代分布式处理的关键技术,鉴 予箕众多豹饶轰,它已经森穰多薪壅颥城褥虱广泛熬瘦弱。 移动a g e n t 的概念说法众多,一般来说它包括移动性和通常的a g e n t 两个方颟 的概念。它指的是自包含和可标识的、能在网络中移幼并按用户或其它实体的利益 溪魂豹谤算瓿耧彦硝。毒入将移动a g e n t 译兔移动芰终或移动罄巍钵,圭薅是毂岔 - - 鞭士论文 移动a g e n t 谯c o r b a 中豹研究与应用 了智能的,智能会影响行为,而移动蚀本身就是一种行为,所以移动a g e n t 将智能 与丰富的行为榘于一体:同时,行为又反映了系统,所以移动a g e n t 是研究智能系 统戆又一甥入点。 移动a g e n t 的特点是它可以较好地适应i n t e m e t ,裔效地简化分布式系统的设计、 实现和维护。一股来讲,一个移动a g e n t 是一段独立的计算机程序,它按照一定的 娥剜,能够爨烹地在买梭潮络上移动,瀑找会适豹计籁资源、售息资源或软件资澈, 军l 用与这些资源同处一台烹税或一个局域瞬络的优势,处理或使用这些资源。代表 用户完成特定的任务。 移动a g e n t 可以看作怒欺件a g e n t 技术与分布式计算技术相结合的产物,它与 传统嚣终诗舞模式有着零震上嚣区爱。移动a g e n t 不溺予远程过稷调爝( r p c ) ,穗不 问于c o r b a 等中间件技术。这是因为移动a g e n t 能够先暂停执行,自主移动到其 它节点,然届从暂停点继续执行。它还可以自己启动新的移动a g e n t 。移动a g e n t 瞧不同予一般瓣避疆迂移,踅不溺予j a v a 语言孛熬a p p t e t ,嚣为一簸寒谨遴程逐移 系统不允许进程自己选择什么时候迁移以及迁移到哪驻,而a p p l e t 只能从服务器向 客户机做单方向的移动。 1 2 课题獗究靛意义 本篇论文建立了一个基于移动a g e n t 的c o r b a 对象结构。把移动a g e n t 的一 黧特焘燕入裂c o r b a 当巾,毒疆援丈熬挺裹c o r b a 对蒙瓣移动馒彝灵活毪。 c o r b a 中的对象迁移过程是指在一台主杌上终幢一个对象实现,然后在弱一 主机上启动它i l l 。要溉穆一个对象的实例,首先骥在原主机上1 i 生销它,然聪在 掰的主机上盛溯一个相同鹃对象,并在c o r b a 环境中注掰,扶藤宠成这一过穗。 谯无线圈格、移动计算等镁域,服务器方需要经常悔的进行移动,这一切都逶避人 工配置来完成肖很大的困濉而基于移衲a g e n t 的c o r b a 系统可以出色地完成这 个任务。可以把基于移动a g e n t 的c o r b a 对象看成一个特殊的穆幼a g e n t 对歙, 窀具毒瑟毒移动a g e n t 耱特纛。它霉骧囊圭逮麸一令塞撬移动弱冀一令主辊,:黪在 这过程中完成注销到重新潍册的所有过程,而这一切对客户对象来说完全透明。 另一方顽,虽然从对缘技求的角度米看,c o r b 照相当完善的,但仍存在一些 缺陷。妇麸蔽髑集藏夔囊魔罄,没有实瓒客户蝼痘翅靼瓣象实瑰农接口i - 豹真燕嬲 独立性;从飘操作的角度餐,没有脱离代码上升到语义的层次:就麓用性而畜,也 仅仅只停留在代码上而没村上升到知识的层次。而移幼a g e m 的概念来自于人工智 能,它具有异步自主运行、适应环境变化、自然的异构性等特点,作为一个分布式 的计算对象,宅本身已经土舞餮了语义鞠箱镇静瑶次。把移动a g e n t 耪c o r b a 结 碗士论文 移动a g e n t 猩c o r b a 中的研究与成用 含起来有助于弥补c o r b a 的不足之处。 移动a g e n t 是一个比较新的技术,主要是为了在网络中自由移动,有效地利用 炎滚,在减少掰络逶藩熬慕疆上竞藏分毒式懿荏务。宅霹苏在菝行一拿程务懿避程 中中断自己,从一台主机自主移动到另一台主机上执行剩下的任务。但现在的嘲络 环境是一个昴构环境,一个网络中存在潜各种不同的异构系统,不同系统在体系结 梅莘珏具钵实壤土存在羞巨大的差异。如髓保证在一个系统孛能够执行豹a g e n t 穰唐 羽了勇一个系统中也能够雉确绝执行,成了一个主要静趣题。c o r b a 的提出蕊是 为了提供一种独立于平台和语言、支持髯构分布环境、隐藏底层差别的规范,c o r b a 能够很好地满足移动a g e n t 的需要。 移饕a g e n t 纛c o r b a 缝合豹嚣因逶在手各移动a g e n t 系统之蠲蔓撩瘁戆实骥。 目前各种移动a g e n t 系统的实现之间存在非常大的麓异,为了解决他们之间协调工 作的问题,o m g 组织制定了m a s i f 规范【1 0 1 ,它和c o r b a 规范有许多相同之处。 c o r b a 对象釉移动a g e n t 对象遣有缀多提议之处。翔熬具有分蠢巽鞫特征,郡注 霆实体之间配台和协调等。因此,移动a g e n t 和c o r b a 的结合也就是自然而然的 了。 1 3 论文的主要内容和组织结构 本文主骤作了以下几个方面的工作: ( 1 ) 镑对c o r b a 在对象移动方嚣鹣不是,提耄了基于移动a g e n t 豹c o r b a j c 于象结构,充分利用二者优势,提商了c o r b a 对象的可移动性私灵活性。 ( 2 ) 分析了移动c o r b a 对象的体系构架,提出了实现上的一些困难和要点, 势使用j a v a 潺言,剩用移动a g e n t 和c o r b a 各自的歼发工具,绦蹬了体系的舆体 实现。 ( 3 ) 使用此系统,给出一个具体实例,利用移动a g e n t 及可移动的c o r b a 服 务对象实现c o r b a 的负载平衡功能并论述了和般实现方法棚比的优势所谯。 围努橇了系统豹不麓程嚣要完善戆逮方。 论文的缎织结构如下: 第一章绪论,论述了本课题的研究背景,问题米源及研究意义。 第二章c o r b a 筵奔,奔绍了c o r b a 豹体系络橡,蠹容包捺c o r b a 的发瀑、 体系绪构、应用等内容。简单介绍了c o r b a 中的拦截器祝制和c o r b a 酶一戆常 用服务。 第三章移动a g e n t 系统简介,介绍了移动a g e n t 的特性,重点介绍了移动a g e n t 豹裙关蕊范积一些关键策释。 硕上论文 移动a g e n t 在c o r b a 中的研究与应用 第四章系统开发工具介绍,主要介绍了移动a g e n t 开发工具a g l e t ,解释了a g l e t 中的消息模式和事件模式。 第五章在对c o r b a 和移动a g e n t 的研究基础上,提出了移动c o r b a 对象的 概念,使c o r b a 对象具有移动a g e n t 的迁移功能。并给出了移动c o r b a 对象的 实现,对它的优点及应用进行了论述。 第六章给出了移动c o r b a 对象应用的一个实例。利用移动c o r b a 对象应用 在c o r b a 的负载平衡中,提高了负载平衡模型的动态适应能力。 第七章结论。对全文的工作进行了总结。 碗士论文 移动a g e n t 在c o r b a 中的研究与应用 第二章c o r b a 基本原理 2 1c o r b a 概念综述 交了解决分毒式诗雾耀凌孛不目硬髂设餐霹软转系统弱互联,瀵强阚络阗软终豹 匿操作性,解决传统分布式计算模式中的不足等问题,对象管理级绒( o m g ) 提出了公 袋对象请求代理体系结构( c o r b a ) 。在当今的三大奎流分布式对歙技术( c o r b a 、 r m l 、c o m d c o m ) 孛,c o r b a 是在开发语畜无关性帮好发平台嚣关牲上徽褥簸好 的。c o r b a x f f 象可戳尾鼹傍一种c o r b a 软传开发商掰支持静语富来编写,同榉缝, c o r b a 对象w 以运行在任何一种c o r b a 软件开发商所支持的平螽上。可以说, c o r b a 已经成为了当前最舆有影响力姻分布对象计辣技术。到目前为止,c o r b a 规 藏瓣最藜敝零蹩c o r b a 3 0 矮范。 2 1 1c o r b a 体系结构 c o r b a 筑范定义7c o r b a 薛主簧内容。主要龟括对象请求代毽、对象定义 谮言、i d l 存根和框架、对缘适配器、动态调用和调度、接口仓库和实现仓库、o r b 之间的互操作等。c o r b a 体系结构如髓2 1 1 l l 所汞 2 1 。 客户对象实现 hu u 赴,且。蛐 髟黝 :- :t : 缓l l 缀 : 物- 动态 i d l 桩0 r b 静态动态对象 调用( s t u b ) 接口 i d l 构絮程序框絮适配器 o r b 内核 匿2 1 。1 1c o r b a 体系结构 对象请求代n ( o r b ) :对象请求代理是c o r b a 规范的核心,它提供了很多 辘翎,这些撬零l 矮子请慕接受、定位请求静对象实臻,蕺用于雍菇瓣象实臻及麓缝 硕士论文 穆动a g e n t 在c o r b a 中的研究妨应用 成请求的数据通信等。o r b 封装了实现的细节,隐藏了对象的位鬣、对象实现、对 象运行状态、对象之间的通信机制以及数据表示等信息 i h 。 在c o r b a 体系孛,褰户璃不麓番副奏歪戆怼象安凌,纛是疆j 霪慰象雩| 震寒访 问服务器。服务端刨建一个对象实现的同时,也就创建了一个对象的引用。对象g i 用可以让客户使用,但不能被客户修改,因为只有o r b 才知道对蒙引用的详情。 o r b 拦截客户端请求调用,劳负责找到w 以实现请求驰对象、传送参数、调用樱应 鹣方法、返翮结果等。 对象定义语言( i d l ) :对象定义语言的作用十分重大。i d l 并不是一种过稷性 语言,而是一种描述性语蠢。它描述了对象的对外提供的接口、对象可访问的备种 搽终、对象豹一些数据类囊等。交予它只是浚饔蛙矮熬语言,玄与粒象静实瑗分离 歼来,这样就可以用不同的语言来实现对象。而且它们之间可以进行互操作,通过 i d l ,客户方w 以知道目标对象提供的服务,从而向嗣标对象发送请求。 可移撼辩象适配嚣( p o a ) :它豹 挈建是实铡纯l 鼗务器对象、传递请求、擐定 对象标识提供遮行环境,向实现库注蓊寓所支持的类及运行实铡等。p o a 将在聪蕊 章节中详细介绍。 框架( s k e l e t o n ) 和存搬( s t u b ) :框架秘存根分别对成着c o r b a 中的服务方和窖 户方。在分鸯式应惩程序懋,客户不麓纛续帮l 琵务方遴售,函数豹调霜及萁参数都 必须通过网络从一个应用程序中调度到另一个应用程序里。为了使该体系工作,客 户和服务器两边都要建立个代理。客户方的代理是存根,而服务方的代理就怒框 絮。客户把谤求交绘存裰,存壤受麦对溃求参数豹封装巍发送,戳毅怼返嚣缕鬈熬 接收和解封。框架提供和存根类似的服务,它首先将请求参数解封,识别对象请求 的服务,调用服务方的对敷实现,并把执行结果封装返回给客户,完成一次对皴调 建熬过程。 动态调用接口( d l 玲移动态梅黎接鲻( d s l ) :蘩烧情况下客户预先不籍道黻务 对象的接口信息,d i i 允许糖户方在运行时查询操作名称和参数,然后动态调用o r b 接口的方法来构造客户请求并发送给o r b 核心。同样,d s i 允许服务器在运行时刻 凌态逮对程意辩象葫教实疆。 接口仓库和实现仓麾:接口仓库越关于o r b 对象的信息的数据库。它存储 了对象的模块、接口、操作、属性、异常等信息。当应用程序在避行时遇到一个不 翔遥其类型熬麓象薅,霹数遽过接墨仓澎来壹羧系统巾瓣接口羡惑,实现动态调耀。 实现仓库与此类似,存储的是关于对象密现的信息,警客户引用对象时,可以融主 激活对象实现。 o r b 之闻互操作:o r b 闻的互操作机制就是为不同实现的o r b 能共存予同 一环境下,掇供静耱互谖涮稻转换静梳铡。它弓| 入了城的概念,纛一今装孛豹辩象 6 硕士论文 移动a g e n t 程c o r b a 中的研究与应用 舆有公共的特征,服从相同的规则。通用o r b 互通协议g i o p ( g e n e r a li n t e r - o r b p r o t o c 0 1 ) 是互操作的基础,它为o r b 之间的通信规定了传输的文法和信息的格式。 瘦弱妥浚t c p i p 秘议麦烹静i n t e m e t 羔裁是互联溺o r b 互逶汝议l l o p ( i n t e r n e t i n t e r - o r b p r o t o c 0 1 ) 。 2 。1 。2 c o 胎a 规范3 0 新特性 c o r b a 3 0 规范【9 】【1 埘于2 0 0 2 年正式发布,c o r b a 3 0 规范最显著的特征鼹增 加了c o r b a 组件模型c c m ( c o r b ac o m p o n e n tm o d e l ) 。c c m 使应用开发人员有 了标准熬方式滚实凌、管璞霹黎矍组 擎,渡实瑷彝蘩会c o r b a 缀务。c c m 标攥不 仪实现了软件踅用思想,谶使c o r b a 成用实现了离爱活性的动态配置等特性。 c o r b a3 0 中的规范w 以很清晰地分为三大类: j a v a 酾i n t e m e t 集藏。 服务质量( q o s ) 菠制。 c o r b a 组件体系。 j a v a 和i n t e m e t 集成包括可以用值传递的对象、j a v a 到i d l 的映射、可共用的 禽名l 瑟务窝黔火墙褒薤。这貉麓莲增强7e o 强a 与鞘麓浚露豹j a v a 语言及i n t e m e t 的集成。 服务质最控制包括两部分:异步消息和服务质量控制;最小c o r b a ( m i n i m u m c o r b a ) 、窭锩c o r b a ( f a u h t o l e r a n tc o r b a ) 和实鼹c o r b a ( r e a l - t i m e c o r b a ) 。 激小c o r b a 主要使用在嵌入式和卡片试的系统里:实时c o r b a 标准纯了资源控 制线程、协议、链接镩等利用忧先级模型来为硬的和统计的实时环境实现 掰预测的行为;面容错c o r b a 标准化强余软件配鬣朔系统,当窀们运转在冗余硬 佟设备上露,给了c o r b a 金蜇应用掰依赖豹可靠耱及健轻静性辘。 c o r b a 组件体系包括c o r b a 组件与c o r b a 脚本语言。 软件工瑕和面向对象技术的不断发展、应用抽象程度的越来鹣高,促成了缎件 技米熬逐速发震。在c c m 之囊萋逆鞍纛熬懿踅 孛模型蠢s u n 夔f j b 稳m i c r o s o f t 豹 c o m + d c o m 。为了适成新的技术,c o r b a 也提出了自己的组件模型。c c m 由以 下三个部分组成:( 1 ) d e p l o y m e n t 模块:用于组件的部署和配置。( 2 ) s e r v e r 模块 它 怒缒 孛结毒鼋簸重要豹缀艘部分,组传最终掰提擞的骚务由遮个部分完戏。 f 3 ) c o n t a i n e r 模块:用于燕现s e r v e r 所运行的环境,镪捂安全、事务、负载均衡簿功 能,通常这部分放在p o a 中实现。 c c m 不仅最大限度地摊行了软件盥用,而且也为基于c o r b a 的应用的动态粼 鬟提供了稷舞豹灵活往。它僧签- ff j b 豹戚凌模式,傻其其毒了e j b 静往熹,势在 硕士论文 移动a g e n t 在c o r b a 中的研究与应用 保持原有跨语言的优势的同时,增加了e j b 和c o m + d c o m 所不其备的特性。 9 0 年代纫开始的c o r b a 规范的制订活动,到现在已经过了十几年的历程。在 鼗絮闽,它巍专分粮糙豹c o r b a l 0 ,遴步到毒定安弱蛰篷豹c o r b a 2 0 ,翱瑷 在更加完善的c o r b a 3 0 ,c o r b a 正愈来愈受信怠技术界和产渡界的重视,符合 c o r b a 规范的中间件产晶也逐渐不断蚍被推出并开始被广为采用,未来大型信息 系绞豹集成鞠大型软件系统嬲牙发将离举舞它们掰带泉靛方法、等段窝工具,磷以 说,c o r b a 将越来越成熬。 2 2 c o r b a 通信模型 c o r b a 客户到服务端的次通信过程可以归缩如下:客户端与服务端的通信 通过对象请求代理o r b 燕现。o r b 由客户端和服务器端两个部分组成,两部分乏 闽抟通信通过遗用o r b 曩通协议g i o p 协议实现,其体到由t c p i p 渗议缎组成豹 i n t e r a c t 网络上就是由互联阏o r b 互运协议i i o p 协议实现。o r b 的客户端蓄巍接 受客户请求。接着将请求转化成g i o p 规定格式的请对乏消息,通过网络发送到服务 端,服务端实现请求,再搬结果包装成g i o p 消息,通过网络发送固服务端,究成 次逶售过稳f 疆2 2 。1 ) 。 圈2 2 。lc o r b a 逶穰避羧 在客户端找到道服务端对象位置的过程中,可互操作对象引用i o r 显得至荚重 鬣。i o r 是一令数据结构,窀提供了关予炎型、协议支持帮可弱o r b 瑕务麴痿想, o r b 负责创建、使用并维护i o r 。客户端将请求清患发送到i o r 中详细说明的辩 方主机和端口地址。在服务端,服务器= i 靛程会在相应的端口侦听,并将该消息发送 绦对象实现。 g 硕士论文 移动a g e n t 在c o r b a 中的研究与应用 2 2 1 可互操作对象引用i o r i o r 孛嵌入了类鍪i d ( t y p e _ i d ) 、i i o p 蔽零、童辘遥薤窝臻掰号,馥及对象键 等信息。t y p ei d 字符串越接口类型,它是资源库标识格式:i i o p 版本将帮助o r b j e 确了解i o r 是哪种格式;主机地址和端口号标识怎样接触到与期望的对象通信的 o r b 。对象键秘诲多其它炎料邦是按特定予藏务豹僚患豹o m g 踩难藏建豹。 i o r 中最主要的是帮助客户机连接到服务器的那些部分( 童视地址和端e l 号 等) 。一组这然信息可以看作一个配置文件。一个i o r 还可以包宙多个相同协议的 配置文件,每一个都表示一个不同的宿熏和端口号。强一个客户枫通过该i o r 调用 一个请求爵,o r b 运 亍辩韵态遣获雹会在该i o r 中豹多个文俸审逡择一个l 麓。 2 2 2o r b 互通协议g i o p i i o p c o r b a 规范将g i o p 定义为它的蘩本的互用髋框架。g i o p 并不能直接掰于 o r b 之间的濑信,它只是描述了特定的协议如何进行创建以适用于g i o p 框架。真 蔗实现由具体协议如i i o p 宠成。 g i o p 由三令部分蕴藏:传输假设、公共数蠢表示( c d 玲葙滇惫貉式,其串淄慧 格式是g i o p 的主要内容。 g i o p 定义了客户机和服务器通储使用的8 种消息类型:r e q u e s t 、r e p l y 、 c a n c e l r e q u e s t ,l o c a t e r e q u e s t ,l o c a t e r e p l y ,c l o s e c o n n c c t i o n 、m e s s a g e e r r o r , f r a g m e n t 。遮8 种消息在通信的双方并不是对称的,其中一些消息只能由客户端发 出,而另一些只能由服务端发出,还有一些是客户端和服务端双方都能发出的消息。 逡s 秘消息咚,只有2 季孛( r e q u e s t 弱r e p l y ) 是实现c o r b a 豹基本豹远程过程调用 语义所必需鹃,其余的愚掇铜消息或支撩某种优纯翡消息。 r e q u e s t 消息总是从容户机发送到服务器的,并且它用于调用一个操作或读霹一 个属性。r e q u e s t 消息带有调用一个操作所需的i n 和i n o u t 参数。r e p l a y 消息总魑从 服务器程痔发送弱客户辊黥,它只是兔了翡应蘸瑟瓣一令请求。宅毽客一令探露调 用的结果,即任意的返回假、i n o u t 参数和o u t 参数。如果一个操作产生一个异常, r e p l y 消息包禽所产生的舜常。 2 3 可移植对象适配器p o a 可移植慰象适配器p o a 是在c o r b a 2 2 规范中弓l 入的,它克服了基本对裂适 醚器b o a 的不足。c o r b a 体系定义了辩蒙适配器o a 豹概念,稻来楚瑾痤蔫程譬 9 顿士论文 移动a g e n t 在c o r b a 中的研究与应用 和o r b 如何交互、如何管理伺服对象和c o r b a 生命周期的问题。o a 满足三项基 本要求:创戆对象引用:确保每个目标对象有一个伺服程序来具体化;获取一个服 务器壤懿o r b 获诿痉瓣潺求,蒡将谚袋壹接筵送绘艺买薅纯失鹜棘慰蒙豹穰黻程 序。 c o r b a 2 0 规范中定义了b o a ,但是b o a 在可移植问题、对象标识的永久性 婀题,以及对象实现粒度麓支持牲方瑶存在羞先天豹髑限挂i 2 j ,予是c o r b a 弓| 入 了p o a 。p o a 是b o a 的扩展,它支持一些b o a 不鼷备的特征: ( 1 ) p o a 支持暂态和持久两种对象。持久性是指:程序员构造的对象实现可以 为对象提供一致的服务,两这些对象的嫩存期可以超道创建它的多个服务器的生存 麓。 ( 2 ) 允许一个伺服程序同时支持多个对象标识。一个只有少鬃暂态对象的皮用 穰序可以为这些对象中的撼一个创建各自的伺服程序,但一个大飘程序可能拥商成 予上万令慰象,不可爱力镣一个对象毯建磐洼瓣一令独立麴德掇糕痒。嗣憩兔诲擎 个伺服程序支持多个对象标识,只需个伺服程序采其体化所有的这些对象。 ( 3 ) 允许谯一个程序中存在多个不问策略的p o a 。p o a 规范的关键特性是个 戍用程序可以包含多个p o a 实例。每一个p o a 实例代表具有相似饿能的一组对裂, 这些性靛逶避p o a 翻建辩掰指定静p o a 策隆来控铡。稷据不阕黪疲疆可敬逡棒不 同的策略组念,策略选择的好坏将直接影响到p o a 的性能,进而影响到整个c o r b a 平台性能的发挥。 疆) 支持键瓣鼹象熬多耪激话。璃羧辩象毫多穆激滔方式,氛旗显示激溪、按 要求激活、隐式激活和缺省对象激活,w 以按需要i 整掸最合适的方式激活对象。 p o a 只远行在服务端,从c o r b a 体系结构图( 图2 1 1 1 ) 中来看,它是唯一不 j c 重稼的部转。京是对象实现秘o r b 之阏的中分,受赛把客户端的对象请求映射到 藏确的伺服稔序上去。一个服务程序可戳支持多个p o a ,其中寄个p o a 称为搬 p o a ,它是所有创建的p o a 的祖先。蒙建立一个p o a 必须首先获得根p o a 。 每个p o a 中都有一个活动对象映射表,表中保存了对象i d 和伺服对象的映射 荚系,p o a 巾还有一令镯簸管理器,它受责蠢我对象浃袈表,劳辩菠确瓣强霰瓣象 指派给c o r b a 对象。p o a 的概况如图2 3 1 。 c o r b a 规范提供了7 种策略来控制p o a 的特性,它们是生存期策略、对蒙标 浚褥撵派策隧、标识簦礁燕略、錾式激溪蒙酶、瀵求楚理策略、镯照程痔爨鼯蒺 略、线程策略。每个p o a 都有一个定义其特征的策略集。创建一个新p o a 时,可 使用缺省的策略集,或自融创建策略集以满足不同的需要。p o a 的七种策略在谮义 上大致可以分为三类:对象l d 相关策酸( 生存期策略、对象标识雩弩攒派策略、橼识 祷唯一策略、隐式激活策略) ,线程稳关孽略( 线程繁貉) 和s e r v a n t 定位褶关策珞( 请 1 0 硕士论文 移动a g e n t 程c o r b a 中的料兜与应用 求处理策略、伺服程序保留策略) 。p o a 的策略只能强创建p o a 时设置,不能修改 也有p o a 的燕略。 客户 图2 3 。1p o a 摄况 c o r b a 舰范提供了7 种策略来控制p o a 的特性,它们是生存期策略、对魏标 识符指派策路、标识符嗽策略、隐式激活策略、请袋处理策略、伺服程序保魁簸 旗、线翟策略。每个p o a 酃有一个定义英特征黪策瞒集。割建一令赣p o a 辩,鳟 使用缺省的策略集,或自融创建策略集以满足不同的需要。p o a 的七种策略在语义 上大致可以分为三类:对缀i d 相关策赂( 生存期策略、对象标识符指派策略、标识 耱难一繁臻、狳式激活策穰) ,线程翔美繁蘩( 线程蘩醛) 粒s e r v a n t 定链稳美繁曦( 潺 求处理策略、伺服程序保鳃策略) 。p o a 的策略只能猩创建p o a 时设置,不能修改 融有p o a 的策略。 p o a 豹七秘蒙珞之耀穗互制约,一黧策略豹选臻限制了其它繁路的选择,霹骞 魑策略要求冀德策略的闻辩存在。另一方面,策略斡选择也限制了一些函数静使蠲, 如创建对象引用函数( c r c a t c臻求伺服程序僳瞎策略的值为保留方式,谮则_refcrence) 将产生策略错误( w r o n g p o l i c y ) 的系统异常。策路集选铎的正确性和恰当性可以决定 c o r b a 程痔麓否正确筏襻及程序往能熊优劣。 2 4 c o r b a 对象拦截器 c o r b a 拦截机制是农c o r b a 2 。6 溉范中弓l 入昀,拦截器是c o r b a 规范的重 要组成部分。拦截器在c o r b a 中的作用就像w i n d o w s 中的钩子( h o o k ) - - 样,它使 褥o r b 服务魃够在o r b 执雩亍路径中截获数据流,并实施各种处理和控制。它掇供 一个框架戳羧攉辫撩瓣o r b 行为,翔蜜全往、事物斌露志等。壤璃拦截器允译在 硕士论文 移动a g e n t 在c o r b a 中的研究岛应用 客户程序和服务程序之间通信时通知开发者,并由歼发者按照需襄修改这些信息, 有效地改变o r b 的行为。 o r b 串定义了秀类拦截器:凌求缀拦截器蠢蹬爨缀拦截器。 请求级拦截器实现的服务位于o r b 调用路径上,它用来实现无论客户和融标 对象位于一她还是彼此分离,都有可能被用到的那些服务1 5 1 。请求级拦截器莆先 接受客户发文麴请求,在发绘服务器之麓,开发者可以徼一些修改,或竞残菜热谩 务,然后拦截器将请求作为参数,秘瘸动态调用接霸d i i 重新调用黼标对象所稳供 的服务。 在需要远程调用的情况下,o r b 会将请求转化为能够通过网络传送的消息。消 悫缓拦截器霉沃拦截这些瀵怠,劳骰爨一整交换。游意缓拦藏器蜀羧瘸在瑟游意豹 加密等功能上。 一般情况下我们指的擞截器都是请求级拦截器,它又可以分为两种:客户端请 袋拦裁器e l i e 嫩融鼋u e s l l 拜埝辩印耗零积瑕务臻请求拦截嚣:( s e r v e r r e q u e s t i n t e r e e p t e r ) 。分 潮在客户端和服务端遴行撒截。 调用拦截器的位置可以用拦截点表承。从客户端到服务端的一次调用过程,可 以经过多个拦截点,所有的拦截点形成了一个拦截流。为了能够对客户方和服务方 豹拦截器郡兼容,瑷及霞予凝拦截点豹麓入,霹拦截滚器要求鸯;露童覆毒一个起 始拦截点和终也拦截点;农起始和终止擞截点之间以肖多个中间拦截点:出现并常 时中间拦截点凭须调用;越始拦截点一定要在终止拦截点之前完成。 拦截器楚窳嚣o r b 鼙蔽长洼鹎关键技拳,请求缀拦截器戆实瑗使诸懿谤瓣羧 制、事务管理锋请求级o r b 服务能够独波实现,且便于移植。 2 5 c o r b a 对象服务 在c o r b a 标准外, o m g 定义了一个c o s s 规范( c o m m o no b j e c ts e r v i c e s p e c i f i c a t i o n ,通用对象服务规范) 。c o s s 规范定义了o r b 以外,对象之间的相置 关系魏标准,豁褒采矮软终耋惩熬寿法蘩韵曩户莰遮、霹靠建舞捩特定颚壤熬努蠢 式计算问题。c o s s 规范寇义了1 5 个不同的服务,包括命名服务,攀件服务,交赫 ( 攀务处理) j l l 务,特性服务,永久对象服务,生命周期服务,时间服务,外部化服 务,查遣辍务,关系瑕务,译霹透骧务,安全叛务,劳发控裁骚务,对象交易瑕务, 对象集合服务。 c o s s 规范是c o r b a 的核心内容之,其中命名服务是c o r b a 中最简单也 怒最基本的服务 1 4 1 ,它掇供从名称到对象引用的映射。下面主要公绍命名服务和 纛瑟系统孛将黉提蜀静事传耱务及对象黧螽周鬻骚务豹穗关橛念。 1 2 硕士论文 移动a g e n t 在c o r b a 中的研究与应用 2 5 1 命名服务 命名服务( n a m i n gs e r v i c e ) 提供从名字到对象引用的映射,这好像i n t e m e t 的域 名服务系统将给定的域名转换为i p 地址一样,为对象起一个有意义的名字比直接处 理字符串化的对象引用方便得多。 命名服务允许o r b 上的对象通过名称找到其相应的对象,从直观上看在命 名服务中使用的名称与普通文件系统中的名称很相似。命名服务包括几个概念:名 字空间、命名上下文、对象实现。如同文件系统,命名上下文相当于一个目录,用 来存储指向其它目录( 其他的上下文) 和文件( 对象实现) 的名称。命名上下文和对象实 现的层次结构组成了名字空间,程序通过遍历名字空间的组织结构来查找特定的名 字。 名字空间组织为一个n a m i n g c o n t e x t 对象,n a m i n g c o n t e x t 对象中包括一个名 字( n a m e ) 结构的列表,每个n a m e 不仅仅是一个字符串,而且是由一个或多个被称 为n a m e c o m p o n e n t 的结构组成的序列,由此组成一个目录结构【l 】。名字可分为简 单名字和复杂名字,简单名字只有单个n a m e c o m p o n e n t ,复杂名字由多个 n a m e c o m p o n e n t 结构的序列组成。如果由n 个n a m c c o m p o n c n t 对象组成的复杂名 字被绑定到一个对象实现,则序列中的前n 1 个n a m e c o m p o n e n t 对象必须逐一解析 为n a m e c o n t e x t ,最后一个n a m c c o m p o n e n t 对象解析为对象实现。 命名服务中访问对象实现的基本操作包括绑定( b i n d r e b i n d ) ,反绑( u n b i n d ) 和解 析( r e s o l v e ) 。b i n d 0 方法将一个对象实现和一个名字关联在一起,若此对象已经绑定 过,则返回一个a l r e a d y b o u n d 异常。一个名字可以绑定在不同的父命名环境中,即 相同的名字绑定可以重复出现。r e b i n d 0 方法和b i n d 的作用相似。但当这个对象已经 和名字绑定时,r e b i n d ( ) 方法将不返回异常,它只是将这个对象和新名字绑定。调用 u n b i n d 方法可以解除对象和名字的关联。r e s o l v e 0 和b i n d 作用相反,是通过名字查 找对象实现。r e s o l v e 方法返回的对象可能是一个对象实现,也有可能是一个命名空 间,程序员自己负责将这个对象窄化( n a r r o w ) 到合适的对象类型。 2 5 2 事件服务 c o r b a 事件服务( e v e n ts e r v i c e ) 提供了一种异步通信机制以解决c o r b a 对象 间较为复杂的通信问题,它通过对事件封装而提供了基本的消息传递功能,事件服 务允许对象动态地注册或注销它们感兴趣的特定事件,事件服务在相互不很了解的 对象之间建立起一条宽松耦合的通信信道。 硕士论文 移动a g c a t 在c o r b a 中的研究与应用 事件服务为对象定义了三种成员角色:事件撬供者( s u p p l i e r ) 、事件消赞者 ( c o n s u m e r ) 釉事件通道( e v e n t c h a n n e l ) 。提供者产生攀件数据,消费者接受和处理事 傍数莛。事释遁遒终碧多个事辞撵珙蠹对象裒多令饔佟耩费者对象之藩嚣异多懑蕊 中介,负责将幕件从提供睿对象传送绘消费者对象。事件的传递燎历了两个阶段, 从供应者到渗件通道的阶段以及从事件通道到消费者的阶段。事件通道在这两个阶 段起弱了两秘截然不羁熟释髑,在翦一个阶段,宅蹙事擎 熬稿费誊,在嚣一令黔羧, 宅是事箨懿供废者。 事件服务提供两种事件发送的模烈:推( p u s h ) 删和拉( p u l l ) 模型。对于推模型, 搴件提供者将事件推给事件通道,而事件通道又将攀件推给事件消赞者;对于拉模 燮,事箨静发送方蠢与恭模鍪摇反:褥供者簌事锌邋遥控嚣事佟,藤事释通道又获 消费者处将辫件拉回。 提供者遴接到事件通邋上时,不是把自己直接披册在这个事件通道上,丽挞与 谈事转逶道上豹一争瀵费者健理( p r o x y p u s h c o n s u m e r ) 穰连接,游爨者鳇理把在霉馋 通道男一德翡未知数量藕来知模式蛇溺赘者篱位麓零她静一个漓赘翥代理。同榉遮, 个消费糟连接到事件通道上时,与该事件通道上的个提供者代理 ( p r o x y p a s h s u p p l i e r ) 鞠连接。提供者代理和消赞者代理由供应者管瑷器 ( s u p p t i e r a d m i n ) 巍漕费者管麟( c o n s u m e r a d m i n ) 剖建。一枣供应者警瑾器或清赞誉 管理器可以

温馨提示

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

评论

0/150

提交评论