




已阅读5页,还剩50页未读, 继续免费阅读
(计算机应用技术专业论文)基于soap+rpc实现异构组件互操作的应用模型研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于s o a pr p c 实现异构组件互操作的 应用模型研究 摘要 学科专业- 计算机应用技术 指导教师张小真教授 研究方向t 网络应用技术 研究生t 慕红宇 软件技术的不断发展,使基于组件撇传开发技术己被越来越多的软件开发 人员所接受。与此同时随着网络技术的兴起,企业的计算机应用系统开始从企业 内部信息的集成迈向跨企业( 或者称为企业间) 的信息集成时代。作为实现这种 跨企业的分布式组件互操作的解决方案,d c o m 、c o r b a 和e j b 等分布式组件 规范已成为主流的选择,遵循这些规范开发的各类应用已经有很多。现在人们关 注的下一个目标是:在i n t e m e t 应用已经深入人心的今天,如何在i n t e m e t 范围 内实现这些不同体系结构的应用系统间更广义的互通? 由于已有这些分布式组件规范都是在因特网应用呈爆炸性增长之前出现的, 受特定的体系结构和通信协议的制约,它们在i n t e m e t 范围内使用时扩展性并不 好,存在这样那样的问题。然而这类分布式异构组件间的交互或集成需求其增长 性却是可以预见的因此寻找这一问题的解决方案已成为当前网络应用研究的又 一个热点。 s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c o l ,简单对象访问协议) 是一种应用程序 间进行数据通信的机制,它顺应网络时代的需求产生。s o a p 最初起源于让分布 式计算工作与具体的计算平台无关这一目的,目前它己成为一个开放的标准协 议,在基于i n t e m e t 的应用中发挥出越来越重要的作用。本文将基于对s o a p 技 术进行的深入研究,探讨一种新的、能实现异构组件互操作的解决方案。 论文2 1 节先从总体上介绍并分析了组件技术及组件互操作机制,阐述了文 中异构组件互操作的内涵。分析现有的b r i d g e 技术方案在目前情况下存在的技 术难点和不足。2 2 节对几种主要的远程过程调用机制进行了详细的分析比较。 2 3 节中阐述了s o a p 技术原理及与其密切相关的几项关键技术:x m l ,w s d l 和u d d i 规范。这部分内容构成了论文的基础理论部分。 本文在3 。l 节介绍了几种常用的软件体系结构模型;之后在3 2 节中提出了 一个基于s o a pr p c 的、能实现异构组件互操作的应用模型- m h c s r ,并对 m h c s r 模型中各层的功能进行了分析,3 3 节中我们从另一个侧面对m h c s r 模型进行了刻画,描述了松散耦合的系统l 中,不同体系结构的子系统a 和子 系统b 之间通过s o a pr p c 实现组件间交互的过程。3 4 节对m h c s r 模型的特 点进行了分析。 论文的第4 、5 章将基于一个原型实例来验证前面提出的m h c s r 模型的可 行性。b t b a s 原型系统是为a t & g 国际商贸公司开发的一个b 2 b 的网上拍卖系 统,完成后的项目除了将有效地集成原有的e r p 系统之外,还允许其它的应用 系统通过s o a pr p c 参与公司的网上拍卖业务。实例证明,基于s o a pr p c 的 异构组件互操作的应用模型( m h c s r ) 确实可以满足i n t e m e t 环境下异构组件 的交互需求,对类似的跨企业的电子商务应用项目开发具有一定的理论价值和实 际意义。 论文分六章,包括:1 、引言:2 、相关基础理论;3 、基于s o a p r p c 实现 异构组件互操作的应用模型( m h c s r ) :4 、b t b a s 原型系统;5 、础h c s r 模 型在b t b a s 中的应用;6 、系统评价及今后工作。 i 关键词】t 简单对象访问协议;远程过程调用;异构组件;互操作性 am o d e lt oi m p l e m e n t i n t e r o p e r a b i l i t y o f h e t e r o g e n e o u s c o m p o n e n t s b a s e do ns o a pr p c a b s t r a c t m a j o r , :c o m p u t e rt e c h n o l o g ya p p l i c a t i o n s u b j e c t :n e t w o f ka p p l i c a t i o n s u p e r v i s o r :z h a n g x i a o z h e n p o s t g r a d u a t e :m uh o n g y u w 碘t h ed e v e l o p m e n to fs o f t w a r et e c h n o l o g y t h es o f t w a r e , d e v e l o p i n gt e c h n i q u e b a s e do nc o m p o n e n t sh a sb e e nm o r ea n dm o r ee x t e n s i v e l ya p p l i e db ys o f t w a r e d e v e l o p e r sd u e t oi t sf e a t u r e so fo p e n i n g , e a s yu p g r a d i n ga n de a s ym a i n t e n a n c e a t t h es a m et i m et h e c o r p o r a t ec o m p u t e ra p p l i c a t i o n s h a v e d e v e l o p e d f r o mt h e i n f o r m a t i o ni n t e g r a t i o nw i t h i ne n t e r p r i s e st oi n t e x - e n t e r p r i s ei n f o r m a t i o ni n t e g r a t i o n a n d d y i m r i a i 6e - b i i s i n e 盛a p t i l i t a f i o 凼t h e m a i ns o i u i i d - f i s 一- o - i n t d r b 阐b l l 畸o f _ c o m p o n e n t ss u c h 站c o r b a e j b a n dd c o m c o m + h a v eb e c o m es t a n d a r dc h o i c e s p e o p l eh a v ee s t a b l i s b e d l o r so fa p p l i c a t i o ns y s t e m sb a s e do nt h e s ed i s t r i b u t e d c o m p o n e n t sa r c h i t e c t u r e 。n o wt h e n e x tf o c u si so nh o wt om a k ei tw o r ki nt h ec o n t e x t o f i n t e m e t ? t h ee x i s t i n gd i s t r i b u t e dc o m p o n e n ta r c h i t e c t u r es t a n d a r d sh a v ec o m ei n t ob e i n g b e f o r et h ee x p l o s i v ed e v e l o p m e n to fh a t e m e ta p p l i c a t i o n s ,t h e r e f o r et h e i rs l e i a l a r c h i t e c t u r ea n dp r o t o c o l sc a u :s e c ls o m ep r o b l e m s mn e e d so fi n t e r o p e r a b i l 蚵o f d i s t r i b u t e dh e t e r o g e n e o u sc o m p o n e n t sa r ep r e d i c t a b l es ot h a ts e a r c h i n gf o rs o l u t i o n s t ot h ep r o b l e m sh a sb e c o m eah o t s u b j e c t i nt h en e t w o r kr e s e a r c ht h e s e d a y s s o a p ( s i m p l eo b j e c t a c o e s s p r o t o c 0 1 ) i s t h em e c h a n i s mf o rd a t a c o m m u n i c a t m no fd i f f e r e m a p p l i c a t i o n s ,w h i c h c a l lb e e x t e n s i v e l y u s e df o r i n f o r m a t i o nt r a n s m i s s i o na n dr p c b e c a u s es o a p i sa p p l i c a b l ei nd i f i e r e n to p e r a t i n g s y s t e m sa n dc o m p u t e rp l a t f o r m sb yu s i n gd i f f e r e n tp r o g r a m m i n gl a n g u a g e s ,i th a s b e c o m ean e wm e t h o do ff u n c t i o ne a l lo nd a t ar e l a t e da n dd a t ao b j c o t sf r o mr e m o t e s e r v e r s t h e i d e ao ft h i sa r t i c l ei st oc a l ld i s t r i b a t e dh e t e r o g e n e o u sc o m p o n e n t s t h r o u g h t h i ss t a n d a r dn e t w o r k p r o t o c o la n d d a t af o r m a t i nc h a r p t e r 2 1w ef i r s ta n a l y z e dt h ec o m p o n e n tt e e h n o l o g ya n d t h em e c h a n i s mt o i m p l e m e n ti n t c r o p e r a b i l i t yo fc o m p o n e n t s ,i n t r o d u e e d t h ec o n c e p to f i n t e r o p e r a b i l i t y o fh e t e r o g e n e o u sc o m p o n e n t s i nc h a r p t e r 2 2 w ed i s c u s s e ds e v e r a lm a i nk p c m e c h a n i s m si nd e t a i l i ne h a r p t e r 2 3t h ea u t h o re l a b o r a t e dt h et h e o r yo fs o a p a n d s o m er e l a t e dc o r et e c h n o l o g i e s :x m lw s d l a n du d d i t h e s ea r e 也et h e o r e t i c a l p a r to f t h ea r t i c l e i nc h a r p t e r 3 1t h e r ew a sa l li n t r o d u c t i o nt os o f t w a r ea r c h i t e c t u r e i nc h a r p t e r 3 2 t h ea u t h o rp u tf o r w a r dam o d e lo fh e t e r o g e n e o u sc o m p o n e n t sb a s e do ns o a pr p c 一 一k 婀c s ra l s o i n c l u d et h ef u n c t i o n a n a l y s i s o fe a c hl a v c li n c h a r p t e r 3 3 w e d i s c u s s e dt h em h c s ri na n o t h e r a s p e c t a n di n e h a r p t e r 3 4 w ea n a l y z e dt h e c h a r a c t e r i s t i co fm h c s r i nc h a r p t e r 4a n dc h a r p t e r 5 t l l ea u t h o rv e r i f i e dt h er e a s o n a b l e n e s sa n df e a s i b i l i t y o fm h c s ro nt h eb a s i so fac a s ea i l a l y s i r 吨t b a s ( b u s i n e s st ob u s i n e s sa u c t i o n s y s t e m ) t h i sp r o j e e tc a n n o to n l yi n t e g r a t et h eo r i g i n a le r p ( e n t e r p r i s er e s o u r c e s p l a n n i n g ) s y s t e r ao fa t & gi n t e r n a t i o n a l c o b u ta l s o p r o v i d e a l ls o a pr p c i n t e r f a c ef o ro t h e ra p p l i c a t i o ns y s t e mt op a r t i c i p a t ei na na u c t i o n i ti n d i e a t e st h a t m h c s rc a n t r u l yf h l f i nt h ei n t e r o p e r a b i l i t yo fh e t e r o g e n e o u sc o m p o n e n t s t h e r ea r e s o m et h e o r e t i c a la n d p r a c t i c a lv a l u e i ns i m i l a r i t ye - c o m m e r c e p r o b l e m t h e r ea r es i xc h a p t e r si nt h i st h e s i s i ti n c l u d e s :1 e x o r d i u m 2 s u m m a r yo f r e l e v a n tt h e o r i e s 3 1 1 l em o d e it o i m p l e m e n ti n t e r o p e m b i l i t y o fh e t e r o g e n e o u s c o m p o n e n t sb a s e d o ns o a p l 冲c ( m h c s r ) 4 b u s i n e s st ob u s i n e s sa u c t i o ns y s t e m 饵t b a s ) 5 i n t e r o p e m b i l i t yo fh e t e r o g e n e o u sc o m p o n e n t sb a s e do nm h c s r w a s c a r r i e - o u ti i ib t b a s 6 a n a l y s i sa n df l l l 恤e rr e s e a r c h k e y w o r d s :s o a p ;r p c ;d i s t r i b u b e dh e t e r o g e n e o u sc o m p o n e n t s ;i n t e m p e m b i l i t y 6 第一章引盲 1 1 论文研究背景、现状 在软件技术不断发展的今天,基于组件的软件开发技术以其可以切实地提高 代码重用比例和生产效率被越来越多的软件开发人员所接受。近年来随着 i n t e m e t 网络技术的兴起,人们的目光开始关注如何在更大范围内有效地实现软 件问的分工与合作让软件开发人员能够在网络环境里使用基于组件的软件, 于是分布式计算模式出现了,目前已有的主要分布式组件技术标准包括:分布式 计算环境( d i s t i b u t e dc o m p u t i n ge n v i r o n m e n t d c e ) 、分布式组件对象模型 ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ,d c o m ) 、和通用对象请求代理体系结构 ( 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 ,c o r b a ) 和e j b ( e n t e r p r i s e j a v a b e a n ) 。 遵循这些技术标准形成的各种分布式的应用已经有很多,通常在某个单一的 解决方案中,分布式组件规范要求客户端访问服务器端的分布式组件必须通过特 定的框架( s k e l e t o n ) 和桩模块( s t u b ) 迸行,同时要求服务器端和客户端间的 通信只能通过明确的、同类型基本构架的具体的对象模型协议( 如c o r b a 的 i i o p 协议和e j b 底层所依靠的r m i 协议) 才能进行。 1 现在的问题是在依照不同体系结构形成的应用系统间,当它们的分布式组件 之间要求进行协调、调用时,这种互操作如何实现? 以前针对这一问题通常是在 异构组件之间建立一个桥( b r i d g e ) ,然而采用桥技术的解决方案要求对于任意2 种不同分布式组件都实现一个b r i d g e ,这对于较简单的应用当然可行,但是当这 种互操作涉及的应用系统扩展到整个i n t e m e t 上时,实现起来是相当繁琐的,将 形成非常复杂的连接,几乎难以管理。 实际上,已有这些分布式组件规范都是在因特网应用呈爆炸性增长之前出现 的,当人们已经习惯于以简单地点击网页超链接来浏览不同网站的网页信息后, 对不同应用系统间的互操作要求也朝着简单、异步性强、容错性好、松散耦合、 安全性高的方向转变,原有的解决方案已不能很好地满足需求。首先对于软件开 发人员来说,要使异构组件之间的调用顺利通过不同应用系统间构筑的防火墙就 很困难:其次,在i n t e r n e t 环境中要确保一个集成商业应用程序的所有参与者间 采用单一、统一的体系架构也是不切实际的。其三,实现这种互操作的复杂性对 开发人员要求较高,他们必须充分了解不同系统采用的技术规范和相关协议标 7 准。而在网络应用日益频繁的今天,这种对不同体系规范的分布式组件进行交互 或集成的需求,其增长性将是可以预见的,因此寻找新的解决问题的方案已成为 当前网络应用研究的又一个热点。 s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c o l ,简单对象访问协议) 是一种应用程 序间进行数据通信的机制,它顺应网络时代的需求产生,x m l 语言的出现、h t t p 协议的风行和i n t e r n e t 上数不胜数的w e b 服务器都使它的出现顺理成章。s o a p 起源于让分布式计算i 作与具体的计算平台无关这一目的,最初是由微软提出, 目前它已成为一个开放的标准协议。s o a p 的主要设计目标是简单性、可扩展性。 它通过提供一个有标准组件的包模型和在模块中编码数据的机制,定义了一个简 单的表示应用程序语义的机制。这使s o a p 能够被用于从消息传递到r p c ( 远程 进程调用) 的各种系统。 s o a p 能把x m l 的使用代码化为请求和响应参数编码模式,并用h t t p 协 议传输,采用几行代码和一个x m l 解析器,h t t p 服务器( 如m s 的i i s 或a p a c h e ) 立刻成为了s o a p 的o r b s ( s o a p 对象请求代理) 。由于s o a p 能够用多种程序 设计语言在多种操作系统和多种计算机平台上实现,目前它已成为一种对远程服 务器上的数据类和数据对象进行函数调用的新方法。 本文将对这一新兴技术进行分析研究,重点分析s o a pr p c 机制的特点和 优势,在与已有的分布式组件规范中不同类型的分布式组件调用方法充分比较的 基础上,探讨基于s o a pr p c 实现异构组件互操作的解决方案的可行性。 1 2 研究意义 首先,在全球化和竞争加剧的今天,企业间的商务活动和交往日益频繁,企 业应用系统间的这种开放和交互的需求急剧增加,这种情况在电子商务盛行的网 络时代已经形成一种不容忽视的趋势;与此同时,同一企业中不同时期引入的应 用系统间也存在着整合的需求,很多情况下,它们也同样归结于类似问题的表述 如何实现异构组件间的互操作? 我们知道使用) ( 】l 来描述商务信息使得各种b 2 b 应用在数据层上获得了开 放集成的能力,但在模块层、应用层仍停留在不利于集成的阶段,而s o a p 规范 的运用可使模块层以一种开放、自说明、统的方式进行集成和交互。因此对异 构组件互操作机制、r p c 机制、s o a p 技术及相关标准进行深入研究是十分必要 的。本文在对s o a pr p c 及相关技术的原理特点进行深入研究的基础上,提出 了一种基于s o a pr p c 的异构组件的应用模型一- - m h c s r 模型,并且基于这 模型开发了一个b 2 b 模式的网上拍卖系统一- - b t b a s 系统原型。 其次,采用分层的应用模型解决不同规范的异构组件互操作是一种新的思 路,它使得复杂的问题有可能分解为一个个较小的问题逐一解决。对于该应用模 型进行深入的研究探讨,对解决异构组件互操作问题有着重要的理论意义。 其三,b 2 b 类型的电子商务应用系统具有开放、分布、异构的特点。目前的 分布式解决方案中,异构组件互操作在开放环境下很难越过防火墙这一关,而这 里给出的基于s o a pr p c 方案却可以克服这一难题,并且它还是一种跨协议和 平台的解决方案,这对于今后开发类似的b 2 b 类型的电子商务应用有着重要的 现实意义。 1 3 论文主要工作 本文在对组件技术、组件对象模型、异构组件互操作机制、r p c 、o r p c 技 术、s o a pr p c 技术、s o a p 协议及规范等相关理论进行深入研究的基础上,提 出了一种基于s o a pr p c 的异构组件应用模型一一m t i c s r 模型,对该模型中各 层的功能进行了描述,并且依据m h c s r 模型开发了一个b 2 b 模式的网上拍卖 系统原型实例一- - b t b a s ( b u s i n e s s t o b u s i n e s s a u c t i o n s y s t e m ) ,分析了b t b a s 中不同组件间基于s o a pr p c 实现互操作的通信机制,最后对m h c s r 模型在 原型系统开发中的运用效果作了评价和展望。 论文分六章,包括:1 、引言:2 、相关基础理论;3 、m h c s r 模型概述;4 、 b t b a s 原型系统;5 、m h c s r 模型在b t b a s 系统中的运用:6 、系统评价及今 后工作等六章组成。 1 4 小结 本章节主要概述了论文的研究背景、研究现状、研究意义及论文主要工作。 第二章相关基础理论 在跨企业的应用集成项目中,有一个问题一直在困绕着开发人员:如何使 松散分布于i n t e m e t 上的不同应用系统中的异构组件之间通过一种统一、一致的 远程调用机制实现彼此间的通信和互操作? 为了弄清这一问题,在2 ,1 1 和2 1 2 小节分别介绍了组件技术及异构组件互操作的机制;2 2 节中回顾了从r p c 到 o r p c 的发展过程,分析它们的异同点及它们在松散耦合环境运用时中存在的不 足;介绍了s o a pr p c 的实现过程,说明该方案在客户端穿越防火墙调用服务 器端组件时豹优势。最后在2 3 节中是对s o a p 协议及相关技术规范的概述。 2 1 组件技术及异构组件互操作机制 组件是“一种物理上的、可以相互替换的软件模块,这些模块封装了内部 的实现,同时提供了一系列的接口”。【3 i 】 组件技术的基本思想是创建和利用可复用的软件组件来开发应用软件。基于 组件开发软件必须解决两个重要问题:一是复用:二是互操作,它使来源不同的 组件能相互协调、通信,共同完成更复杂的功能。 组件模型由组件( c o m p o n e n t ) 与容器( c o n t a i n e 0 两种主要成分构成。组件通 过其接口向外界提供功能入口。接口是组件内一组功能的集合,它包含的是功能 函数的入口,外界通过接口引用或接口指针来调用组件内的功能函数。容器是存 放相关组件的“器皿”,用于安排组件,实现组件间的交互,其形式有多种,如 表格( f o r m ) 、页面( p a g e ) 、框架( f r a m e ) 、外壳( s h e l l ) 等。 将组件模型和对象模型相结合即为组件对象模型。 在组件对象模型中,对象是一种功能单元,是一种组件。它既可以指对象类 又可指对象类的实例。与面象对象编程中的对象类不同的是:它有自己的唯一的 标识号。对象之问只能通过标准的接口调用来相互作用。目前,分布式组件对象 模型的规范主要有c o r b a 、e j b 、和d c o m c o m + 。 采用组件技术可以使原来周期较长、复杂的软件开发工作变得简单、快速并 且成本低廉。它具有以下优点: 提离开发速度。由于组件开发商已编制了大量的可复用组件,因此减少 了用户开发的工作量,使开发周期大大缩短。 j o 降低开发成本。一般来说,基于组件开发的应用软件费用相对于传统方 法开发成本来说是微不足道的 增加应用软件的灵活性。由于应用软件是在组件基础上编制的,因此对 于使用者的不同需要,往往通过更换、修改应用中的一个或几个组件就 可实现。 降低软件维护费用。基于组件的应用软件修改起来比较简单,不需要对 整个软件进行全方位的大规模修改。 2 1 2 异构组件互操作机制 “互操作”一词描述了两个或多个组件合作的能力( 即使其实现的编程语 言、接口及运行平台是在完全不同的情况下) 。互操作性是网络计算中跨空间、 跨平台、跨语言的组件互访能力的重要指标。 在本文中,异构组件的互操作主要有两层含义:一是基于不同组件规范开 发的客户端蝗辨访问服务器端的分布式组件;另一层含义是不向韵服务器端之阀 也会存在着异构组件间的交互。 2 1 2 1 组件的互操作 如下图所示: 假设组件a 和组件b 是对称的、可互换的它们之间不能互操作的原因可 能是它们在数据表示、通信、包装、同步、语法、控制等方面( 这些统称为形式: f o r m ) 不匹配。要实现a 和b 之间的互操作,文 5 】中列举了几种方法: 1 f o m 叭一 f o m l b 。彻底重写a 代码的代价很大。 2 公布f o m - j a 的抽象化信息。如应用程序编程接口a p t 就公布了控制一 个组件的附加抽象信息。 3 在数据传输过程中从f o r m a 转变到f o r m b 。如某些分布式系统在数据 传输中进行从b i g - e n d i a n 到l i t t l e e n d i a n 的转变。 4 使b 成为支持多种形式。 5 为b 提供i o 转换器。可选方法有两种,一是独立的应用程序提供表 示转换服务。二是某些系统协调扩充或利用外部的a d d o n s ,以完成内外部数据 格式之间的相互转换。 6 在a 上添加一个适配器( a d a p t e r ) 或w r a p p e r 。 7 引入中间形式。也有两种方法:一是通过外部相互交换表示,通过界面 描述语言( i n t e r f a c ed e s c r i p t i o nl a n g u a g e s ,i d l s ) 支持,提供一个中介层。二是 通过标准的发布形式,提供一种广泛应用的表示方法。 遵循同一组件规范开发的应用系统间在实现分布式组件互操作时,客户端访 问服务器端是通过特定的框架( s k e l e t o n ) 和桩模块( s t u b ) 进行,服务器端和 客户端的组件间的交互则通过明确的、同类型基本构架的具体的对象模型协议 ( 如c 0 砌j a 的h o p 协议和e j b 底层所依靠的r m i 协议) 进行。 但是在更复杂的、遵循不同组件规范开发的应用系统间实现分布式组件互操 作时,则需要通过桥( b r i d g e ) 技术进行。 2 1 2 。2 b r i d g e 技术 b r i d g e 技术是最早尝试解决异构组件之间互操作的方法,它经历了从单向桥 技术到双向桥技术的发展过程【4 。 虽然b r i d g e 技术允许不同的组件模型之间的集成和交互,但是它也有自身 的不足之处:首先,它对组件的版本变化反应灵敏:其次。它的跨平台性能太不 好:最后也是最重要的一点就是它使应用系统变得很复杂。b r i d g e 软件的工作就 是转换不同的组件模型之间的数据封包,并且解决不同平台之间字节排列不同问 题。这使得b r i d g e 软件和特定的组件模型紧密依赖,任意2 种不同分布式组件 间交互都要实现一个特定b r i d g e ,因此当这种互操作涉及的应用系统扩展到整个 i n t e m e t 时,实现起来是相当繁琐的,由于形成非常复杂的连接,几乎难以管理。 2 1 2 3 $ 0 1 l o 技术 实际上,已有这些分布式组件规范都是在因特网应用呈爆炸性增长之前出现 的,随着时代的发展,原有的解决方案己不能很好地满足需求。 首先对于软件开发人员来说,要使异构组件之间的调用顺利通过不同应用系 统间构筑的防火墙很困难: 其次,在i n t e m e t 环境中要确保一个集成商业应用程序的所有参与者间采用 单一、统一的体系架构也是不切实际的: 其三,实现这种互操作的复杂性对开发人员要求较高,他们必须充分了解不 同系统采用的技术规范和相关协议标准。 s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c o l ,简单对象访问协议) 起源于让分布 式计算工作与具体的计算平台无关这一目的,最初是由微软提出,目前它已成为 一个开放的标准协议,是一种应用程序间进行数据通信的机制。s o a p 的主要设 计目标是简单性、可扩展性,通过提供一个有标准组件的包模型和在模块中编码 数据的机制,它定义了一个简单的表示应用程序语义的机制。目前s o a p 已被用 于从消息传递到r p c ( 远程进程调用) 的各种系统中。 下文将对这一新兴技术进行分析研究,重点分析s o a pr p c 机制的特点和 优势,在与已有的分布式组件规范中不同类型的分布式组件调用方法充分比较的 基础上,探讨基于s o a pr p c 实现异构组件互操作的解决方案的可行性。 2 2r p c 概述 为了更好的理解基于s o a pr p c 实现异构组件互操作的通信机制。有必要 对几种常见的r p c 机制进行分析和简介。 2 2 1r p c r p c i l l 2 3 】的概念最早由美国人b j n e l s o n 在其博士论文“r e m o t ep r o c e d u r e c a l l ”中提出并很快引起了广泛的重视。1 9 8 9 年,国际标准化组织( i s 0 ) 已将r p c 作为计算机网络、分布式计算机系统的国际标准化草案。该草案目前已成为计算 机、终端用户、进程、网络之间进行信息交换的一种标准规范。八十年代,两个 主要的r p c 协议是s u nr p c 和d c er p c 。s u nr p c 应用是大多数i 脚x 系统 所使用的n e t w o r k f i l e s y s t e m ( n f s ) 。d c e r p c 应用则是w m d o w s n t 系统,它 采用d c er p c 协议来实现许多系统服务。 1 , ( 4 ) ( 5 ) i ( 6 ) r ( 7 ) 同络传输端口映射服务器 图1r p c 调用 r p c 调用的一般过程如图l 所示1 4 1 : ( 1 ) 服务器把端口号登入端口映射。 ( 2 ) 服务器读端口,阻塞并监听到达端口的请求。 ( 3 ) 客户查询服务器的端口映射以得到服务器的端口号。 ( 4 ) 端口映射响应出服务器端口号。 ( 5 ) 客户通过主机和端口号联系服务器。 ( 6 ) 服务器完成读块。 ( 7 ) 服务器返回结果和异常。 2 2 20 r p c 九十年代随着面向对象技术的风靡,o r p c ( 对象r p c ) 出现,它把面向对 象和网络协议联系起来。与r p c 相比,o r p c 代码化了从通信终端到语言级对 象的映射,在o r p c 的两个端点间传递的表达方式是对象引用,这是一种在网 络上寻找对象端点的高级机制。 本节将通过探讨两种主流的分布式组件对象模型:d c 0 m c o m + 和 c o r b a 规范中的o r p c 机制,来说明基于这两种对象模型开发的异种分布式组 件之间的交互存在的不足之处。 d c o m c o m + 中的o r p c 使用全局唯一的1 2 8 比特的c l s i d 来标识对象类 和其接口,接口由i d l 写成,m i d l 编译器根据该接口生成相应的s t u b s 模块代 码。对于给定的c l s i d ,c o m 通过其自身的一部分系统部件,称为s c m ( s e r v i c e c o n t r o lm a n a g e r ) 来完成定位,并由它来管理和调用r p c 。 客户 划 叫l 叫a ;,、- i 旧 :li j t 远程 服备罂端对象 图2d c o m c o m + 中的o r p c d c o m 中分布式组件通信的过程如下: ( 1 ) 客户进程申请创建一个对象。 ( 2 ) c o ml i b r a r y 调用本地的s c m 。 ( 3 ) s c m 返回一个类工厂。 ( 4 ) c o m l i b r a r y 利用该类工厂创建相应的对象。 ( 5 ) 本地s c m 与远程系统的s c m 建立连接查询。 ( 6 ) 远程s c m 定位并装载相应服务器,取得其类工厂,同时它将维护该 类工厂的一个联系。 ( 7 ) 返回本地s c m 一个r p c 连接。 ( 8 ) 本地s c m 将该r p c 连接传递给c o m 。 ( 9 ) 客户进程内建立的服务器的代理( p r o x y ) 通过该r p c 连接与服务器 进程内的s t u b 进行通信。 与d c o m c o m + 不同,c o r b a 是通过o r b ( o b j e c tr e q u e s tb r o k e r ) 来 实现不同机器和网络中的组件间的通信。 客户 r r ( 3 ) 1 ( 4 )i。 ( 5 ) i r 务器 图3c o r b a 中的o r p c c o i u j a 中分布式组件通信的过程如下: ( 1 ) 客户进程通过客户端的s t u b 对服务器端的方法发出调用请求。 ( 2 ) o r b 处理激活b o a ( 基本对象适配器) 对服务器端的请求。 ( 3 ) 服务器端通告b o a 它是a c t i v e 的和a v a i l a b l e 。 ( 4 ) b o k 通过服务器端的s k e l e t o n 传递方法请求给服务器端。 ( 5 ) 服务器端通过o r b 返回结果或异常。 由上文的分析可知,d c o m 和c o r b a 中的0 i 心c 请求都是由一个对象端 点i d 来确定目标对象,用方法标识符来决定调用哪个方法,不同的是c o r b a 中接口标识符是隐含的。在d c o m 中,传输体用网络数据表达( n d r ) 的格式 来写,在c o r b a 中,传输体用公共数据表达( c d r ) 的格式来写。这两种格式 之间有一些小的差别,相互之间不兼容,分别用于处理位于不同平台上的不同的 数据表达。 传统上认为d c o m 和c o r b a 都是合理的服务器到服务器端的通信协议。 但是二者在因特网范围内的应用中则存在明显的弱点,这种情况在客户到服务器 端的通信过程中表现得尤其明显: 1 依赖于单个厂商的解决方案:为能最大优势地使用协议,d c o m 和 c o r b i i o p 中客户到服务器端的通信需要采用单一厂商的实现。在d c o m 的 情况下这意味着每个机器要运行在w i n d o w sn t 。在c o r b a 情况下。这意味 着每个机器要运行同样的o r b 产品。 2 依赖于周密管理的环境。在任意两台计算机间使得d c o m 或c o r b a 在 环境之外被成功调用( c a l l so u to f t h eb o x ) 的几率是很低的。特别是在考虑安全 性的时候尤其是这样。 3 依赖于相当高技术的运行环境。尽管进程内的c o m 似乎特别简单,但 c o v i d c o m 远程处理程序绝不是很容易解决的事情。c o r b a 的i i o p 是一个 比d c o m 更容易实现的协议,但这些协议都有相当多的深奥的规则来处理数据 排列、类型信息和位操作。 4 对被防火墙或代理服务器分隔开的客户机和服务器,i i o p 或d c o m 包要 通过的可能性很低。而客户机散布于i n t e m e t 的情况实际上是很普遍的。 2 2 3s o pr p c s o a p 技术【2 2 j 是w 3c 于2 0 0 0 年5 月提出的一种新的对象远程过程调用 ( o r p c ) 技术,与前面介绍的分布式对象模型不同,s o a pr p c 与具体的对象模型 无关,它只需将要传递的数据打包成有自我描述功能的文本消息。发往对方即可。 我们知道r p c 定位一个远程对象的网络地址方案不够完善,它需要有机器 地址和程序用来监听和等待响应的端口地址,而如果打开的端口太多,网络管理 员很难做好本网络的安防工作,同时他们也无法监察自己网络上都有哪些r p c 被调用了。而s o a p 协议定义了如何将客户端的请求串行化的机制,并提供了一 个打包模型,使得它能把远程过程调用中的请求和应答信息进行封装,通过 h t t p 协议发送请求,并用u r l 来识别所调用的目标对象。 与前面所述的o r p c ( 对象远程调用) 机制相比s o a pr p c 要简单很多。 s o a pr p c 使用基于终端的面向对象的通信方式,一个s o a p 终端可以看作一 个基于h t t p 的u r l ,并用此来识别所调用的目标。具体的调用对象并不是被 绑定到一个给定的终端,而是由具体实现程序来决定怎样把终端标识符映射到服 务器端的对象。s o a pr p c 的基本调用如图4 所示: ( 2 ) r ( 3 ) 1 ( 4 )( ” 。 rr ( 7 )( 6 ) 客户 u d d iw e b服务器端对象 注册中心服务嚣 豳4s o a p r p c ( 1 ) 服务器端把对外提供的w e b 服务登入u d d i 注册中心。 ( 2 ) 客户连接到u d d i 注册中心。 ( 3 ) 返回某项已知服务的查询结果数据。 ( 4 )客户从得到的相关w s d l 文档中提取最终提供服务的目标对象的 u r ! 地址和相关数据。客户发出s o a p 请求,请求信息应包含目标 对象的u r i 、目标对象的有效函数方法名、该函数方法的参数。 ( 5 ) w e b 服务器端读8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国微型真空泵行业市场调查研究及投资前景展望报告
- 2025年 湛江市雷州市教育系统招聘教师考试试题附答案
- 2025年中国充气混凝土行业市场发展监测及投资前景展望报告
- 2025年中国固体颗粒物料炒锅行业市场调查研究及发展战略规划报告
- 2025年中国塑钢窗行业市场发展监测及投资战略规划研究报告
- 中国工业氯化铵行业调查报告
- 2025年中国卤味休闲食品市场竞争格局及投资战略规划报告
- 中国橡胶线机头行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 中国涡轮式粉碎机行业市场前景预测及投资战略研究报告
- 中国汽车空气弹簧行业市场全景评估及发展战略规划报告
- 2024版压力容器设计审核机考题库-多选3-2
- 2025年国防教育课件
- 贵州国企招聘2024贵州贵安发展集团有限公司招聘68人笔试参考题库附带答案详解
- 园林行业职业道德
- 副校长笔试题库及答案
- 2025年湖北恩施州检察机关招聘雇员制检察辅助人员40人历年高频重点模拟试卷提升(共500题附带答案详解)
- 陕西省滨河2025届中考生物模拟预测题含解析
- 招标代理招标服务实施方案
- 《煤矿事故分析与预防》课件
- 幼儿园园长,教师轮训工作制度及流程
- 2025下半年江苏南京市浦口区卫健委所属部分事业单位招聘人员24人高频重点提升(共500题)附带答案详解
评论
0/150
提交评论