(计算机科学与技术专业论文)基于wsrf的corba资源封装的研究与实现.pdf_第1页
(计算机科学与技术专业论文)基于wsrf的corba资源封装的研究与实现.pdf_第2页
(计算机科学与技术专业论文)基于wsrf的corba资源封装的研究与实现.pdf_第3页
(计算机科学与技术专业论文)基于wsrf的corba资源封装的研究与实现.pdf_第4页
(计算机科学与技术专业论文)基于wsrf的corba资源封装的研究与实现.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(计算机科学与技术专业论文)基于wsrf的corba资源封装的研究与实现.pdf.pdf 免费下载

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

文档简介

国防科学技术大学研究生院工学硕士学位论文 摘要 随着计算机网络的迅猛发展,基于i n t e m e t 的多机计算环境变得越来越普遍。 与此同时,越来越多的计算资源、存储资源和网络资源依托i n t e m e t 成为可被访问 和获取的公共资源,各领域的实际需求对分布计算环境提出了更高的要求。网格 技术的目标是互联网上各类资源的全面连通,其最新技术规范w s r f ( w e bs e r v i c e r e s o u r c ef r a m e w o r k ) 试图实现网格和w e b 服务的融合。w s r f 的中心思想是关 注如何在w e b 服务中对状态信息进行建模以达到网格对互联网上所有资源互联互 通和协同工作的目的。 c o r b a 作为一种成熟的中间件技术,己被广泛地运用于解决各种分布式计算 和集成问题。如何将现有的c o r b a 服务发布为网格域中有状态的w e b 服务,以 便能重用于新的网格客户系统中,实现c o r b a 的重用和扩展是一个具有实用意 义的研究课题。 本文以w e b 服务资源框架和c o r b a 中间件为技术背景,对c o 脚j a 和w s r f 及其相关规范进行了深入分析,研究网格环境中有状态的w e b 服务和c o r b a 服 务的互操作问题,详细介绍了相关概念、原理及实现的关键技术。本文主要工作 包括: 1 分析了实现有状态的w e b 服务和c o r b a 服务之间的互操作需要解决的关 键问题,设计了基于w s r f 的c o r b a 服务资源框架系统模型,并给出了该框架 模型的实现步骤。 2 从一般中间件互操作解决思路出发,提出了一个基于虚拟w s r e s o u r c e 的 网关系统模型,针对该网关的设计目标,分别在互操作查找方式、互操作接口定 义层次和互操作协议层对实现网关系统的技术进行了对比和选择。 3 提出基于c o r b aa t t r i b u t e 的资源表示方法,对基于w s r f 的c o r b a 资 源属性、资源的封装进行了设计,并对设计中各模块的功能特点展开详细的讨论, 包括采用工厂方法设计模式来创建基于c o r b a 规范实现的资源,资源的创建和 管理分离等。 4 基于c o r b as t a r b u s 4 0 j 和网格g l o b u st o o l k i t4 平台实现了基于w s r f 的 c o r b a 资源属性、资源的封装设计。资源的创建和管理分别由r e s o u r c e f a c t o r y 和r e s o u r c e h o m e 来完成。对r e s o u r c e h o m e 的功能进行了修改和扩充,使其具备 管理基于c o r b a 实现的资源的能力。 5 对c o r b a 资源封装进行了相应的功能和性能测试,表明基于w s r f 的 c o r b a 资源封装可以很好的在w e b 服务中为基于c o r b a 实现的状态资源进行 建模。 第i 页 国防科学技术大学研究生院工学硕士学位论文 主题词:c o r b a ,网格,w s r f ,w e b 服务,有状态资源,封装,互操作 第i i 页 国防科学技术大学研究生院工学硕士学位论文 a b s t r a c t w i mt h er a p i dd e v e l o p m e n to fc o m p u t e rn e t w o r k s i n t e r a c t - b a s e dc o m p u t i n g e n v i r o n m e n th a sb e c o m ei n c r e a s i n g l ym o r ec o m m o n m e a n w h i l e ,ag r o w i n gn u m b e ro f c o m p u t i n gr e s o u r c e s ,s t o r a g er e s o u r c e sa n dn e t w o r k1 e s o u r c e sm a yb er e l y i n go nt h e i n t e m e tt ob ev i s i t e da n da c c e s s e dp u b l i c l ya sp u b l i cr e s o u r c e s a i s os t r o n gd e m a n di n v a r i o u sf i e l d sp r o m o t e st h ed e v e l o p m e n to f d i s t r i b n t e dc o m p u t i n gt e c h n o l o g y g r i dt r i e s t oa c h i e v e 伽lc o n n e c t i v i t yo fa l lr e s o u r c e so nt h ei n t e m e t , w s r f t h el a t e s tt e c h n i c a l s p e c i f i c a t i o n so f 酣d ,t r yt or e a l i z et h ei n t e g r a t i o no fw e bs e r v i c e sa n dg r i d t h e c e n 打a lc o n c e mo fw s r fi st om o d e ls t a t e nr e s o u r c e si no r d e rt oa c h i e v et h es t a t u so f a l lr e s o u r c e so nt h ei n t e r n e ti n t e r o p e r a b i l i t ya n ds y n e r g i e sw o r k i n g a so n eo ft h em a t u r e dt e c h n o l o g i e s c o r b ah a sb e e nw i d e l yu s e dt ot a c k l et h e p r o b l e m so fd i s t r i b u t e dc o m p u t i n ga n di n t e g r a t i o ns o l u t i o n si nv a r i o u sd o m a i n s t oo u r k n o w l e d g ei ti ss t i l la no p e np r o b l e mc o n c e r n i n gt op u b l i s h i n gt h ee x i s t i n gc o i m a s e r v i c e sa saw s r e s o u r c ei nt h eg r i dd o m a i ni no r d e rt or e u s ea n de x t e n dt h e f u n c t i o n a l 时o f c o r b ao b j e c t b a s e do nc o r b aa n dw e bs e r v i c er e s o u r c ef r a m e w o r k , a na n a l y s i so fc o r b a a n dw s r fs p e c i f i c a t i o ni sp r e s e n t e d 血s tf o l l o w e db yar e s e a r c hw o r ko nt h e i n t e r o p e m b i l i t yo fc o r b aa n dw s - r e s o u r c ei n 鲥de n v i r o n m e n t d e t a i l so ft h e c o n c e p t s ,p r i n c i p l e sa n dt h ek e yt e c h n o l o g i e sa r ep r o p o s e d t h e s em a i nc o n t r i b u t i o n so f t h i st h e s i sc a nb es u m m a r i z e da sf o l l o w s : 1 a n a l y s i st h ek e yi s s u e s t or e s o l v et h ei n t e r o p e r a b i l i t yo fc o r b aa n d w s r e s o u r c e b a s e do nw s r f ,kd e s i g nt h ec o r b as e r v i c er e s o u r c ef r a m e w o r k w ea l s od e s i g nt h es t e d st oa c h i e v et h ef r a m e w o r ko f t h em o d e l 2 f r o mt h eg e n e r a li d e ao fi n t e r o p e r a b i l i t ya m o n gd i f f e r e n tm i d d l e w a r e ,w e p r o p o s eav i r t u a lw s r e s o u r c eg a t e w a ym o d e l i nv i e wo ft h eg a t e w a yd e s i g n ,w e c o m p a r ea n dm a k ec h o i c ea m o n gi n t e r o p e r a b i l i t yi ni d e n t i f y i n gw a y s ,t h el a y e ro f i n t e r f a c ed e f i n i t i o na n dt h ep r o t o c o ll a y e r 3 b a s e do i lc o r b aa t t r i b u t e s ,w ep r o p o s e dar e s o u r c e - i n d i c a t e dm e t h o d w e d e s i g n e dt h ee n c a p s u l a t i o no f r e s o u r c e p r o p e r t ya n dr e s o u r c ea n dd e t a l l e dt h ef u n c t i o n a n df e a t u r e so fe a c hm o d u l e ,i n c l u d i n gl l s et h ef a c t o r ym e t h o dd e s i g np a r e mt oc r e a t e r e s o u r c eb a s e do f tc o r b 氏t h ei m p l e m e n t a t i o na n dm a n a g e m e n to fr e s o u r c ea r e s e p a r a t e d 4 b a s e do nc o r b as t a r b u s 4 0 ja n d 面dg 1 0 b u st o o l k i t4p l a f f o r m s ,w e i m p l e m e n t e dt h ee n c a p s u l a t i o no fr e s o u r c e p r o p e r t ya n dr e s o u r c e t h ee s t a b l i s h m e n t a n dm a n a g e m e n to fr e s o u r c e sa n db yr e s o u r c e f a c t o r yr e s o u r c ei sc r e a t e db y r e s o u r c e f a e t o r ya n dm a n a g e db yr e s o u r c e h o m e w er e v i s e da n de x p a n d e dt h e f u n c t i o no f r e s o u r c e h o m ei no r d e rt om a n a g er e s o u r c eb a s e d0 1 2c o r b a 5 d i dc o r r e s p o n d i n gf u n c t i o n a la n dp e r f o r m a n c et e s t sa n di n d i c a t e dt h a tt h e 第i i i 页 国防科学技术大学研究生院工学硕士学位论文 e n c a p s u l a t i o no f r e s o u r c e b a s eo nc o r b ac a l lw e l lm o d e ls t a t e f u lr e s o u r c e k e yw o r d s :c o r b a ,g r i d ,w s r f w e bs e r v i c e s 。s t a t e f u lr e s o u r c e 。 e n c a p s u l a t i o n ,i n t e r o p e r a b i l i t y 第i v 页 国防科学技术大学研究生院工学硕士学位论文 表目录 表1 1 主要中间件技术互操作核心要素3 第页 国防科学技术大学研究生院工学硕士学位论文 图目录 图1 1 基于w e bs e r v i c e s 的中间件互操作体系 图2 1 公共对象请求代理体系 图2 2w e bs e r v i c e s 体系结构 图2 3o g s a 、w s r f 和w e b s e r v i c e 的关系 图3 1c o r b a 与w e bs e r v i c e s 互操作模型 图3 2 图3 3 图3 4 图3 5 8 l l 1 7 c o 赃i a ,w e bs e r v i c e s 入站适配网关系统模型2 1 基于虚拟w s - r e s o u r c e 对象的网关系统模型2 3 i d l 2 w s d l 编译器架构 资源封装 图4 1w s r f 中的资源和属性 图4 2f i l e r e s o u r c e 的c o r b a 资源封装表示 图4 3 图4 4 图4 5 w s - r e s o u r c e 示意图 端点引用( e p r ) 的结构 i m p l i e dr c p a t t e r n 示例图 3 l 3 2 图4 6 通过w s - r e s o u r c e 创建有状态资源的过程3 5 图4 7e p r 描述 图4 8 本地属性和异地属性 图4 9c o r b a 对象封装为w s r f 资源属性( 部分) 图4 1 0 属性的创建和管理 图4 1 1c o 砒l a 对象封装为w s r f 资源属性( 全都) 图4 1 2 单一资源模式。 图4 1 3 单一资源封装设计 3 9 图4 1 5g t 4 中的w s - r e s o u r c e 工厂模式4 l 图4 1 6 资源封装设计方案一 图4 1 7 资源封装设计方案二4 3 图5 1 工厂方法设计模式( 创建资源属性) 。 图5 2 资源属性封装中各组件交互图4 6 图5 3 图5 4 资源创建序列图 本地资源属性的访阎 图5 5 异地资源属性的访问4 8 铂” 鲳 国防科学技术大学研究生院工学硕士学位论文 图5 6 本地属性和异地属性的混合访问4 9 图5 7 基于w s r f 的资源封装设计5 l 图5 8 基于w s r f 的c o r b a 资源封装总体结构5 l 图5 9 资源创建序列图5 6 图5 1 0 资源激活( 基于c o r b a 实现的资源) 序列图5 7 图5 11 测试网络环境5 8 图5 1 2 基于w e b 服务实现的资源的测试 图5 1 3 基于c o r b a 实现的资源的测试5 9 图5 1 4 资源创建结果比较 图5 1 5 资源激活响应时间 第页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了魄确的说明并表示谢意。 学位沦文题目:基王坚竖曲竣b 丛鲞婆塑箍鲤蛭蠹耋塞塑 学位论文作者签名 套 日期:1 朋红f 蝴膨目 学位论文版权使用授权书 率人竞全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权国 防科学技朱大学可以保留并向国家有关部门或机构送交论文的复印件和电子文裆,允 许论文被查阗和借阕;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存,汇编学位论文 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:g 基盂竖鲤鳇婴b 坠逢攫量装鲍疆窟量塞垫 学位论文作者獬:_ 终日期:伽口饵f 硼,口日 作者指导教师签名: f 羔li 型皂 日期:砂g 年,2 月扩日 国防科学技术大学研究生院工学硕士学位论文 第一章绪论 随着计算机网络的迅猛发展,分布式计算技术已广泛渗入到金融、电信、商 业等应用领域;与此同时,越来越多的计算资源、存储资源和网络资源依托i n t e m c t 成为可被访阿和获取的公共资源,推动了i n t c r n e t 由传统意义上的信息发布平台逐 渐演变成了一个分布式的计算基础设施。各领域的实际需求又促进了分布计算技 术的发展,对分布计算环境提出了更高的要求。网格技术试图实现互联网上所有 资源的全面连通,i n t e r n e t 环境下各类丰富的资源为创建这样一个环境提供了基础, 网络带宽的大幅度提高为这种设想的实现提供一种可能。然而,广域网环境下资 源本身的异构、所属组织和管理方式的不同、复杂多样的网络连接等问题为把它 们当作一个整体来使用提出了许多挑战。如何有效的聚合开放网络环境下的各种 资源成为了一个具有广泛需求的基础性研究,如:网格环境下访问基于c o r b a 规范实现的服务及资源,这是一个很有现实意义的研究闯题。本文就是围绕这样 一个具有广泛应用前景的问题展开研究的。 1 1 应用需求 网格【l 】是近年来发展起来的重要信息技术,其目标是实现互联网上所有资源的 互联互通和协同工作,这些资源包括计算资源、存储资源和网络资源等。网格的 根本特征是资源共享,消除资源孤岛。w e bs e r v i c e s 提出了面向服务的分布式计 算框架,具有松散耦合、与平台无关、易于集成等优点,为i n t e m e t 上的分布式应 用提供了有效的支持。目前很多技术都是基于w e bs e r v i c e s 实现的,2 0 0 4 年m m 、 g l o b u s 联盟和i - i p 共同提出w s r f t 2 j ( w 曲s e r v i c er e s o u r c ef r a m e w o r k ) ,实现了 网格与w e b 服务唧的融合。w s r f 的中心思想是关注如何在w e b 服务中对状态信 息进行建模以达到网格对互联网上所有资源互联互通和协同工作的目的。w s r f 是表示有状态资源和w e b 服务之间关系的一种新方法,是网格技术与w e b 服务 相结合的具体体现,也是网格技术发展史上的一座里程碑。 由o m g ( o b j e e tm a n a g e m e n tg r o u p ) 组织提出的c o r s a t 4 j ( c o r a o no b j e e r r e q u e s tb r o k e ra r c h i t e c t u r e ) 是典型的分布计算中间件技术,主要用来构造企 业系统应用。作为2 0 世纪9 0 年代初兴起的分布对象计算技术和标准,c o r b a 技术 具有良好的开放性、跨平台多语言支持特性等优点。c o r b a 通过提供面向对象应用 的互操作标准和标准的面向对象应用程序体系规范,具备了在异构分布环境下不 同机器上的不同应用的互操作能力和将多个对象系统无缝互连的能力,因而在电 信、金融、保险等领域中得到广泛应用。 第1 页 国防科学技术大学研究生院工学硕士学位论文 将c o r b a 对象封装为网格域中有状态的w e b 服务,使应用客户端可以在网格 环境中透明地调用已经构造好的c o r b a 对象,从而实现c o r b 对象的复用,是非 常有实际应用价值的: 网格系统上的应用能够利用i n t e m e t 上已存在的c o r b a 应用,避免企业 在同类型的服务上重复投资。 将c o 妯服务封装为有状态的w e b 服务增强了网格协议和c o 髓a 规 范的互操作性,也为网格应用提供了一种统一的功能扩展机制。领域相关 的功能可以通过引入新的应用服务扩展到网格系统中,而新引入的 c o r b a 服务与网格应用的交互则采用一致的服务交互模型。 网格平台下开发人员可以在程序设计过程中用自己熟悉的网格环境中的 编程模式快速方便的调用c o r b a 服务,而不用考虑调用和实现的细节, 实现调用过程的透明化( c o r b a 类型与s o a p 的数据类型之间的映射对 用户不敏感) 。 企业能够减少人员培训的投资,并快速平滑地实现网格环境中w e b s e r v i c e s 调用向传统r p c 调用的过渡。 通过将网格客户程序调用c o r b a 服务过程中重复的步骤包装起来并予 以透明实现,可以极大减少开发时间、降低开发难度、提高代码的重用率。 本文尝试将企业内部使用的c o r b a 对象封装成有状态的w e b 服务供网格用户 调用。基于c o r b a 的网格服务资源框架的好处表现在:一方面它能利用企业内已 有的c o r b a 服务,使企业内部的应用程序保持不变,实现c o r b a 的重用和扩展; 另一方面,能利用已有的成熟的w e b 开发技术和网格技术,使传统的分布式应用 开发能够直接使用网格上丰富的资源。 1 2 1 异种中间件互操作 1 2 研究现状 中间件是指位于计算机硬件和操作系统之上,支持分布式应用的有效开发和 运行的系统软件,它为企业级的分布式应用提供了一个标准的平台,使得应用软 件开发和运行能够独立于特定的计算机硬件和操作系统平台,实现企业应用系统 的集成。目前主流的中间件平台有o m g 的c o r b a 平台、s u n 的j 2 e e 平台和微 软的c 0 m d c o m 平台。 中间件技术出现的初衷是通过提高抽象层次,屏蔽底层计算模型的复杂性和 分布性。虽然不同的中间件技术通过提高抽象层次达到了预期的目的,但由于在 提高抽象层次的过程中,不同中间件技术采用了不同的手段,造成了在跨越不同 第2 页 国防科学技术大学研究生院工学硕士学位论文 中间件系统时出现了较大的鸿沟。尤其在当前经济全球化及各个企业的各种应用 系统需要重建、集成的需求下,解决“中间件孤岛”蜘的问题显得格外重要。 中间件互操作就是在不同中间件上的应用之间交换信息和使用信息。中间件 的互操作性也就是不同中间件平台上的应用在底层中间件异构状况下的合作能 力。按照中间件技术的思想,我们解决异构中间件互操作问题,桥接不同中间件 系统,自然而然联想到对底层的中间件也进行抽象。因为中间件本身也是软件, 也需要对其进行某种类型的封装或间接层次的附加。 近年来出现的w e bs e r v i c e s 技术提供了一个“中间件的中间件”层次的抽象, 成为解决中间件互操作问题的一种方案。首先它是比较轻量级的,它避免了侵入 其他中间件系统所要求我们实现的对象模型和单一编程语言;其次它的规范标准 化是朝着非私有的方向努力的。表1 1 列出了c o r b a 、d c o m 、j 2 e e 和w e b s e r v i c e s 四个中间件技术在互操作体系下的核心要素: 表1 1 主要中间件技术互操作核心要素 互操作体系名称互操作协议互操作接口定义互操作查找方式 d c o mo r p ch d l 系统注册表 c o r b a g i o p ( h o p ) ) l 命名服务 j 2 e ej 瑚衄i i o pj a v aj n d i ,e bs e r v i c e ss c 惰pw s d lu d d i w e bs e r v i c e s 作为“中间件的中间件”,旨在将所有中间件上的应用逻辑都抽 象封装成独立的w e bs e r v i c e s ,在w e bs e r v i c e s 各个协议栈即w e bs e r v i c e s 这条总 线的支持下进行无缝集成,实现互易操作。不管在哪一种中间件平台上实现的应 用逻辑都可以发布成w 曲s e r v i c e s ,不管用什么中间件技术实现的应用逻辑都可以 透明地访问w e bs e r v i c e s 。这样在解决n 个中间件系统互操作时,就只需解决n 个不同的中间件与一个w e bs e r v i c e s 之间的互操作问题即可,基于w e bs e r v i c e s 的中间件互操作体系如图1 1 所示: 第3 页 国防科学技术大学研究生院工学硕士学位论文 图1 1 基于w e bs e l v i c , e 8 的中间件互操作体系 因为w e bs e r v i c e s 自身也是一个中间件系统,所以在采用基于w e bs e r v i c e s 的解决方案来解决异构中间件之间的互操作问题时,同样需要采取对当前中间件 系统进行扩展的方法。在具体实现上往往是通过在当前中间件系统的域上搭桥的 形式,例如c o r b a 仍c o m 桥,o m g 对此有专门的互易规定。桥的位置与通信 协议有关,如d c o m 客户对c o r b a 服务器,放在客户端,采用h o p 协议;c o r b a 客户对d c o m 服务器,也放客户端,但采用o b j e c tr p c 通信。s u n 公司发布的 c o m - - e j b 桥、j 2 e e 客户存取服务c a sc o m 桥,允许微软窗口应用存取j 2 e e 服务器上的e j b 构件,它是一组c o m 对象。客户应用可用c o md i s p a t c h 接口并 通过l m i i o p 协议与服务器通信。 中间件互操作的实现可以是对当前的中间件系统进行扩展以封装另外一个中 间件系统,也可以是采用第三方的中间件系统作为中介,提取需进行互操作的中 间件系统的共性来解决中间件系统之间的互操作性问题。对于n 个中间件系统的 互操作问题来说,采用对原有中间件系统进行扩展的方法来解决,需要解决n 2 类 对象之间的互操作性问题。而采用基于w e bs e r v i c e s 的解决方案,只需要解决n 类中间件系统与w 曲s e r v i c e s 问的互操作性问题,大大减少了在n 个中间件系统 件实现互操作所需进行的工作。 1 2 2c o r b a 与w s r f 互操作 网格技术规范w s r f 的本质是在w e b 服务中为有状态资源建模,引入状态资 源的概念来存储应用客户端同w e b 服务交互所产生的状态信息,w s r e s o u r c e 即 是w e b 服务及其对应资源的组合。c o r b a 与w s r f 之间的互操作与一般的 c o r b a 与w e bs e t v i c e $ 的互操作是不同的。 第4 页 国防科学技术大学研究生院工学硕士学位论文 我们使用基于w s r e s o u r c e 的中间件互操作解决方案来解决c o r b a 与w s r f 互操作的问题,通过将已有的c o r b a 应用发布成w s - r e s o u r c e ,网格应用客户端 便可以得到被封装成w s - r c s o u r c c 的c o r b a 对象的描述信息,并通过s o a p 总 线来访问该c o r b a 应用。在这种互操作技术的实现方案中,既要做到将c o r b a 中间件平台上的应用发布成w s - r e s o u r c e ,又要使得网格平台上的应用能访问到 w s - r e s o u r c e 。为了叙述方便,我们将前者定义为出站适配( o u t b o u n da d a p t e r ) , 后者定义为入站适配( i n b o u n da d a p t e r ) 。 ( 1 ) 出站适配涉及到以下研究问题: 如何将c o l u a 应用封装成w s r e s o u r c e 如何将封装成的w s - r e s o u r c e 的描述信息进行注册,使应用客户可以查询 服务和资源的描述信息。 如何将访问该w s - r e m c e 所需的c o r b a 应用信息明确地表达在部署描 述中。 ( 2 ) 入站适配涉及到以下研究问题: 如何将w s - r e u r c e 表达成c o r b a 域内的应用逻辑。 如果特质中间件域内存在特定的服务发现机制,如何把由c o r b a 对象转 换过来的应用逻辑描述信息添加到其中。 如何通过某种方式将c o r b a 域内缺少但访问w s - r e s o u r c e 所需的信息按 某种方式表达在部署描述中 1 3 课题研究主要开展的工作 课题研究从分析w s r f 及相关规范、g l o b u st o o l k i t 4 o 嘲的w s r f 实现w s - c o r e 源代码以及s t a r w e b s e r v i c e q 入手,首先给出了一个中间件互操作模型,并以该 模型为基础,对可能的异构中间件互操作解决方法进行对比与分析,提出了基于 虚拟w s r e s o u r c e 的中间件互操作解决方案。s t a r w 曲s e r v i c e 的w e b s e r v i c e s c o r b a 入站适配嘲的研究与实现可对上述设计方案的解决提供良好的借 鉴,在此基础上确定了课题研究的重点主要包括以下几个方面: ( 1 ) 相关规范和协议的分析与研究。首先分析与研究w s r f 规范,明确w s i l f 对w e b 服务相关标准进行了哪些扩展,w s r f 与o g s i 相比有什么不同;借鉴 s t a r w e b s e r v i c e 所解决的问题,如何解决c o i m a 与w s r f 的互操作问题以及如何设 计总体结构;我们的课题实现环境是g 1 0 b u s t o o l k i t4 0 ( g t 4 ) ,因而在熟悉w s r f 协议等相关知识后,对g t 4 源代码进行初步的分析,对比w s r f 的要求,进行代码 跟踪,深入理解g t 4 是如何实现w s r f 规范的,重点是与资源有关的实现。 ( 2 ) 从中间件互操作的一般解决思路出发,提出了基于虚拟对象的网关系统 第5 页 国防科学技术大学研究生院工学硕士学位论文 模型来解决c o i i b a w s r f 入站适配的问题。为了能透明地将c o r b a 入站适配到 骼一r e s o i l r c e ,我们在中间件互操作模型的几个层次上对其所涉及到的问题展开了 讨论,提出了基于虚拟髂一r e s o u r c e 对象适配网关模型。 ( 3 ) 在提出基于c o r b a 的网格服务资源框架模型后,按照将c o r b a 对象封装 为资源属性、资源、有状态的w e b 服务顺序逐步实现该框架模型。本文对如何将 c o r b a 对象封装为资源属性、状态资源进行设计 ( 4 ) 基于c o r b as t a r b u s 4 0 j 和网格g l o b u st o o l k i t 4 平台,对资源属性、 资源封装的设计进行实现;在此基础上进行相应的功能和性能测试。 1 4 论文结构 本文共分为五章,组织如下: 第一章:绪论,主要介绍课题的背景、应用需求、研究现状、本课题的研究 内容以及论文的组织情况。 第二章:介绍了关于c o r b a 、w e bs e r v i c e s 和网格的基础知识。 第三章:从一般中间件互操作解决思路出发,针对c o r b a 与w s r f 互操作 提出相应的框架模型,并对设计方案中不同技术层次所涉及到的问题作出分析和 讨论。 第四章:根据粒度和模式的不同,如何将c o r b a 对象封装成资源属性、资 源,分别进行了设计,并对设计方案中各模块的功能进行了阐述。 第五章:实现基于w s r f 的c o r b a 资源属性、资源封装,介绍了具体实现 时的模块划分、模块功能、重要类的设计及重要方法的逻辑,并进行相关测试分 析。 第6 页 国防科学技术大学研究生院工学硬士学位论文 第二章基础知识与相关工作 c o r b a ( c o m m o no 场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 ,公用对象请求代理体系 结构) 为可移植的、面向对象的分布式计算应用提供了不依赖于平台的编程接口 和模型,它不依赖于编程语言、计算平台、网络协议。 2 1 1c o r b a 重要术语 c o r b a 对象( c o r b ao b j e c t ) 它是一个“虚拟”的实体,它可以由o r b 9 1 ( o b j e c tr e q u e s tb r o k e r ) 定位, 并且可以被客户程序请求调用。虚拟是指实际上它并不存在,除非已用某一编程 语言编写了它的具体的实现稻分。由编程语言构造的c o r b a 对象实现部分类似 于操作系统中并不存在的虚拟内存,但是可用物理内存来模拟的方式。 客户程序( c l i e n t ) 它是一个实体,可调用c o r b a 对象的一个请求。它可能有一个地址空间, 但完全独立于c o r b a 对象,或者客户程序和c o r b a 对象可能在同一个应用程序 中存在。术语“客户程序”仅仅是对一个特定请求的上下文而言的,因为这个应 用程序( 提出一个请求的客户程序) 可能是另一个请求的服务器程序。 服务器程序( s e r v e r ) 它是一个拥有一个或多个c o r b a 对象的应用程序。与客户程序一样,这个 术语仅仅是对一个特定请求的上下文而言的。 对象引用( o b j e c tr e f e r e n c e ) 它是一个用来标识、定位和赋给一个c o r b a 对象地址的一个句柄。对于客 户程序来说,对象引用是不透明的实体。客户程序用对象引用直接指向所请求的 对象,但是客户程序不能从它们的组成部分中创造对象引用,也不能访问或修改 对象引用的内容。一个对象引用仅仅指向单个c o r b a 对象。 伺服程序( s e r v a n t ) 它是一个编程语言的实体,它用来实现一个或多个c o r b a 对象。伺服程序 也称为具体化的c o r b a 对象,因为它们为这个对象提供了函数体或实现。伺服 程序存在于服务器应用程序的上下文中。 2 1 2c o r 队特性 在讨论c o r b a 特性前,先给出一个公共对象请求代理体系图,如图2 1 所 第7 页 国防科学技术大学研究生院工学硕士学位论文 刁丐: 与i 阢相美的一对脯应用耕黼同m有多个对艏黯 图2 1 公共对象请求代理体系 一般请求流程: 客户应用程序提出请求,服务器应用程序接受这些请求并作出响应。请求流 由客户应用程序向上提交,通过o r b ,上传到服务器应用程序。可由下列几种形 式实现这个过程: l客户机有两种选择方式提出请求。第一种,使用由对象接口定义,用i d l 编译器生成相应编程语言的静态存根( s t a t i cs t u b s ) ;第二种,使用动态 调用接口d i i ( d y n a m i ci n v o c a t i o ni n t e r f a c e ) 。不论哪种方式,客户机都 直接将请求传送给与这个进程链接的o r b 核心。 2客户机o r b 核心通过网络传送给与服务器应用程序相链接的服务器o r b 核心。 3 服务器o r b 核心将这些请求分配给对象适配器( o b j e c ta d a p t e r ) ,由它 产生目标对象。 4对象适配器进一步将请求分配给实现目标对象的伺服程序。与客户机一 样,服务器可以选择静态或动态调度机制用于它的伺服程序。这取决于是 由对象接口定义,用i d l 编译器编译的静态框架,还是其伺服程序可使用 动态框架接口( d y n a m i cs k e l e t o ni n t e r f a c e ,d s i ) 5伺服程序执行请求后,将返回结果给客户应用程序。 静态调用和调度 采用这种方法,o m gi d l 将翻译成特定语言的存根和框架,这些存根和语言 的框架被编译成应用程序。在将存根和框架编译成一个应用程序时,它给出编程 语言类型的静态信息和由远程对象的i d l 描述所映射成的函数的静态信息。一个 存根是一个客户端函数,它允许请求调用作为平常的本地函数调用。同样框架是 一个服务器端函数,它允许将服务器接收到的请求调用被调度给合适的伺服程序。 第8 页 国防科学技术大学研究生院工学硕士学位论文 动态调用和调度 这种方法涉及到c o r b a 请求的结构且调度是在运行时进行的,而不是在编 译时产生的( 静态方法是在编译时产生的) 因为没有编译状态信息,所以在运 行时请求的创建和解释需要访问服务程序,由它们来提供有关接口和类型的信息, 或通过编程方式从接口池( i n t e r f a r e p o s i t o r y ) 获得,该接口池是一个提供在运 行状态下访问i d l 定义的服务程序。 对象适配器( p o a ) 在c o r b a 中,对象适配器可作为伺服程序和o r b 之间的纽带,它作为一个 插入式对象,用来作为代理,允许调用程序在不知道对象实际接口的情况下调用 一个对象的请求。c o r b a 对象适配器的功能: l 创建允许客户机对对象寻址的对象引用t 2 确保每个目标对象都应由一个伺服程序来具体化; 3获取由一个服务端o r b 所调度的请求,并进一步将请求直接传送给已具 体化为目标对象的伺服程序。 对象引用和对象引用的获取 对象引用类似于编程语言中的指针,但是可以表示为在不同的进程中实现的 对象( 可能在另一台机器上) 以及在客户机自己的地址空间中实现的对象。除了 具有分布式寻址能力以外,对象引用还具有像编程语言中实例指针相同的语义 它具有以下特点: 每个对象引用必须准确表示一个对象 一个对象可以由多个引用 引用是不透明的 对象引用是客户机获得目标对象的唯一途径。客户机必须拥有一个对象引用 才能进行通信。客户机获得的引用是服务器以下列几种方式发布的: 返回一个引用作为一个操作的结果 以某些已知的服务程序公告一个引用,比如:名字服务或交易服务 通过将对象引用转换成一个字符串和将它写在一个文件上,来公布个对 象引用 通过其他可外传的方式来传送对象引用,比如,用电子邮件发送或在w 曲 网页上公布 2 1 3s t a t u s 4 0 j 介绍 s t a r b u s 4 0 j 是由国防科技大学网络与信息安全研究所开发的遵循c o r b a2 5 规范的分布式软件计算平台。s t a r b u s 4 0 j 在结构上是一个先进的模块化结构,支 第9 页 国防科学技术大学研究生院工学硕士学位论文 持应用开发者配置和改变功能而不需要修改应用代码。 s t a r b u s 4 0 j 在结构上是高性能的、具有良好的灵活性和可扩展性,支持面向 大型企业的计算;基于s t a r b u s 4 0 j 所创建的分布式应用是开放、灵活的,并且应 用之问可以进行跨平台的互操作。s t a r b u s 4 0 j 的h o p 协议引擎经过改良,具有很 高的性能,通过它可以方便的实现i n t c r n c t 、i n t r a n c t 以及企业计算环境中分布式应 用。课题所研究的基于w s r f 的c o r b a 资源封装的设计与实现等都是基于该平 台的。

温馨提示

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

评论

0/150

提交评论