(计算机应用技术专业论文)用面向对象技术解决领域数据异构问题的研究.pdf_第1页
(计算机应用技术专业论文)用面向对象技术解决领域数据异构问题的研究.pdf_第2页
(计算机应用技术专业论文)用面向对象技术解决领域数据异构问题的研究.pdf_第3页
(计算机应用技术专业论文)用面向对象技术解决领域数据异构问题的研究.pdf_第4页
(计算机应用技术专业论文)用面向对象技术解决领域数据异构问题的研究.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机应用技术专业论文)用面向对象技术解决领域数据异构问题的研究.pdf.pdf 免费下载

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

文档简介

b yo b j e c t o r i e n t e d t e c h n i c ,t h e m a i n m a t t e r ,c o n s t r u c t i n g ,e x p r e s s i o n , c l a s sf r a m eo ff i e l dc o m m o nd a t am o d e l ( f c d m ) a n dc o n s t r u c t i n gt e c h n i c s l i k i n ge n t i t yd e f i n i t i o n ,a t t r i b u t e s ,c o n s t r a i n tr u l e s t h eo b j e c ts t a t et r a n s f o r m r u l ea n d o b j e c t b a s e do n c o n c e p t u a l c l u s t e r r o l e m e c h a n i s m ( c c r m ) a r e i m p o r t a n t l yp r o p o s e d t h eo b j e c t s a c t i o nb a s e do ne e c a ( e x t e n t e de v e n t c o n d i t i o n a c t i o n ) d r i v i n g r u l e m a yb e d e s c r i b e d a c c o r d i n g t or u l es t a t e t r a n s f o r m i n gm e t h o d t h er u l e - o b j c o tc h e c ki t sc o n d i t i o ns t a t ew h e n t h ee v e n t i sm o n i t o r e d i te x e c u t er e l a t e d o p e r a t i o n i fc o n d i t i o ni st r u e c c r m ( c o n c e p t u a l c l u s t e rr o l em e c h n i s m ) b a s e do nc l u s t e ra n dr o l ep e r m i tt h a t s a m es t r u c t u r eo rh e t e r o g e n e o u so b j e c t si n t e g r a t ei n t oc l u s t e rd y n a m i c l ya n d a c td i f f e r e n tr o l e si nt h ec l u s t e r t h ei n i t i a t i v er u l eb a s e do ne e c ac a n p r e f e r a b l e l y r e s o l v es e m a n t i ca n ds t r u c t u r a lc o l l i s i o nw h e n o b j e c t s a r e c o m m u n i c a t e da n dt r a n s f e r r e de a c ho t h e r t h eo b j e c tc l u s t e rm e c h a n i s mb a s e d o nc c r mo v e r c o m et h ed i s a d v a n t a g eo ft r a d i t i o n a l s t r o n gc l a s sa n dw e a k c l a s s i nt h i sw a y ,t h em o d e li sm o r ef l e x i b l ea n ds t e a d i e r i nt h e e n d ,i t s d i s c u s s e dt ot h e a d v a n t a g e ,p e r f o r m a n c e ,b o u n d a n d n o t e w o r t ha s p a c to ns o l v i n gd a m a i nd a t ah e t e r o g e n e o u sp r o b l e mb yo b j e c t - o r i e n t e dc o m m o nd a t am o d e l t h e f e a s i b i l i t y o ft h em o d e li s p r o v e db y e x p e r i m e n ta n du s ec a s e k e y w o r d s :0 0 ,d a t am o d e l ,d o m a i n d a t a e n g i n e e r i n g ,s o f t w a r e e n g i n e e r i n g , s o f t w a r e i n t e g r a t i o n ,h e t e r o g e n e o u s , c o d er e u s e ,d i s t r i b u t e o b j e c t ,r u l e 一、概述 l 、背景 计算机自诞生以来,被大量用于数据处理工作,由于在选择数据处理 时存在时间和空间上的差异,使得人们使用的数据源千差万别。各种软件 系统一般都带有自己的数据模型和数据管理系统,软件之间的数据共享十 分困难,这就造成了在对同一领域用不同的数据进行处理时,需要反复对 数据进行加载和数据转换,导致人力和财力的浪费,尤其是那些数据密集 型的应用。如,石油勘探开发,数据类型复杂,联系多样,而且数据量大, 由于缺乏公共数据模型,造成了信息交换的困难以及各种统计报表数据自 下而上传递的麻烦,也造成了自上而下信息查询的不方便,特别是在分布 式环境下更为严重。有人统计,全球每年由于数据不能共享而造成的数据 管理上的浪费达数十亿美元。彻底解决这一问题的关键是构造领域公共数 据模型作为数据描述的标准,同时设计标准的数据存取规范和应用程序通 信规范,并在此基础上设计软件集成平台。数据模型是对数据结构、数据 间联系和数据操作约束的描述。 2 、异构的种类 目前,异构主要有以下几种: ( 1 ) 数据库模型异构。如关系型数据库与面向对外数据库。 ( 2 ) 数据库物理结构异构。如o r a c l e 和d b 2 。 ( 3 ) 系统控制异构。如分布式控制与集成式控制。 ( 4 ) 网络异构。主要体现在协议的不同,如i n t r a n e t 和n o v e l l 网。 ( 5 ) 操作系统异构。如l i n u x 、w i n d o w s ( 6 ) 平台异构。主要表现在解决方案、数据模型的差异。 ( 7 ) 应用异构。不同的领域有不同的信息系统管理机制。 特定领域内都会统一选择适合本领域的数据库、网络和操作系统平 台,所以领域数据异构主要体现在以下三个方面l 。 a 使用软件不同,信息格式也不同。 b 相类似的系统在开发时选择的模型不同,导致了信息结构的不同。 c 语义自成体系,相关性差。 这些差异为企业信息交换和统一管理带来了极大困难。 二、目前已有的异构解决方案1 1 4 l 用户对异构分布对象系统的集成有各种各样的要求,提供异构分布对 象系统集成的工具也多种多样。在领域工程里现有的异构分布对象系统成 工具可以归纳为四种集成模型:基于互操作的集成模型、基于迁移的集成 模型、基于多协议栈的集成型和基于多接口的集成模型。 l 、基于互操作的集成模型 o m g 组织在其c o m c o b r a 互操作规范中提出了基于互操作的c o m 和c o r b a 的集成模型,该模型也可以用来描述j a v a 和a c t i v e x 的互操作 工具,例如s u n 公司的j a v a b e a n sa c t i v e x 桥。互操作模型如图l 所示,其 中a 、b 代表两个不同的分布对象系统。 模型中异构对象系统之间的互操作由桥( b r i d g e ) 来实现。从概念上讲, 桥拥有目标对象的引用,并为系统a 中的客户提供视图( v i e w ) 对象。图 l 中,b 中对象在a 中的视图代表了b 中对象在a 中的对象实体和接口, 视图接口( v i e wi n t e r f a c e ) 是b 中对象接口在系统a 中的映射。a 中 客户按照视图接口访问视图对象,通过访问视图对象来访问b 中的对象。 视圈对象的方法( m e t h o d ) 将来自a 中客户的请求转换为对b 中对象的 请求,按照b 中对象的接口访问b 中对象,将转换后的请求发送给b 中 对象,在得到调用结果之后,将调用结果转换为a 中的格式,并将转换后 的词用结果返回给a 中的客户。 对象系统a a 中的对象引用 对象系统b b 中对象实现 镝 b 中对象在a 中ii 的视图li b 中的对象引用 图1互操作模型 2 、基于迁移的集成模型 由于各种分布对象计算技术之间的竞争结果还难以预料,因此提供异 二、目前已有的异构解决方案1 1 4 l 用户对异构分布对象系统的集成有各种各样的要求,提供异构分布对 象系统集成的工具也多种多样。在领域工程里现有的异构分布对象系统成 工具可以归纳为四种集成模型:基于互操作的集成模型、基于迁移的集成 模型、基于多协议栈的集成型和基于多接口的集成模型。 l 、基于互操作的集成模型 o m g 组织在其c o m c o b r a 互操作规范中提出了基于互操作的c o m 和c o r b a 的集成模型,该模型也可以用来描述j a v a 和a c t i v e x 的互操作 工具,例如s u n 公司的j a v a b e a n sa c t i v e x 桥。互操作模型如图l 所示,其 中a 、b 代表两个不同的分布对象系统。 模型中异构对象系统之间的互操作由桥( b r i d g e ) 来实现。从概念上讲, 桥拥有目标对象的引用,并为系统a 中的客户提供视图( v i e w ) 对象。图 l 中,b 中对象在a 中的视图代表了b 中对象在a 中的对象实体和接口, 视图接口( v i e wi n t e r f a c e ) 是b 中对象接口在系统a 中的映射。a 中 客户按照视图接口访问视图对象,通过访问视图对象来访问b 中的对象。 视圈对象的方法( m e t h o d ) 将来自a 中客户的请求转换为对b 中对象的 请求,按照b 中对象的接口访问b 中对象,将转换后的请求发送给b 中 对象,在得到调用结果之后,将调用结果转换为a 中的格式,并将转换后 的词用结果返回给a 中的客户。 对象系统a a 中的对象引用 对象系统b b 中对象实现 镝 b 中对象在a 中ii 的视图li b 中的对象引用 图1互操作模型 2 、基于迁移的集成模型 由于各种分布对象计算技术之间的竞争结果还难以预料,因此提供异 构分布对象系统之间互操作功能的产品很多,而提供应用向其它分布对象 系统迁移功能的产品则很少,目前仅有t a l i g e n t 公司的a c t i v e 到j a v a b e a n s 的迁移工具( m i g r a t i o na s s i s t a n t ) 可以提供a c t i v e x 组件到j a v a b e a n s 组 件的迁移。从异构分布对象系统集成的角度出发,基于迁移的集成模型可 以表示为图2 所示的模型。 对象系统a 对象系统b 应用i 应用 迁移 j 系统a 中的 系统b 中的l 桩,构架 桩,构架i 图2基于迁移的模型 其中,a 、b 代表两个不同的对象系统。由于分布对象系统具有相似 的体系结构,即客户方基于桩( c o m 中称为代理,即p r o x y ) 开发,服务 对象基于构架( c o m 中称为桩,即s t u b ) 开发。因此迁移所做的主要工作 是使用对象系统a 中的桩和构架替换为对象系统b 中的桩和构架。 此外,在t a l i g e n t 公司的a e t i v e x 到j a v a b e a n s 的迁移工具中,由于 j a v a b e a n s 只支持j a v a ,因此a c t i v e x 组件到j a v a 的迁移工作还包括将原来 的编程语言转换为j a v a 。 3 、基于多协议栈的集成模型 s u n 公司在其r m i i i o p 中实现了j a v ar m i 和c o r b a 的集成,其方 法是采用多协议栈的方式,即在原有的j a v a r m i 的基础上增加了对c o r b a 的支持,可以使用c o r b a 的i i o p ( i n t e r n e ti n t e r 。o r bp r o t o c 0 1 ) 作为对 象请求和应答的传输协议。用户在使用原有的j a v ar m i 编程接口的基础 上,可以选择将j a v a b e a n s 组件实现为j a v ar m i 对象或者c o r b a 对象, 也可以同时作为j a v ar m 对象和c o r b a 对象;j a v ar m i 客户机也可以 同时访问j a v ar m i 对象和c o r b a 对象。 s u n 公司提供r m i i i o p 的目的是为了借助c o r b a 来集成使用其它编程 语言开发的应用,方法是对原有的基于j a v ar m i 开发的应用进行扩充以 支持c o r b a ,同时将使用其它编程语言开发的应用改造为c o r b a 应用, 构分布对象系统之间互操作功能的产品很多,而提供应用向其它分布对象 系统迁移功能的产品则很少,目前仅有t a l i g e n t 公司的a c t i v e 到j a v a b e a n s 的迁移工具( m i g r a t i o na s s i s t a n t ) 可以提供a c t i v e x 组件到j a v a b e a n s 组 件的迁移。从异构分布对象系统集成的角度出发,基于迁移的集成模型可 以表示为图2 所示的模型。 对象系统a 对象系统b 应用i 应用 迁移 j 系统a 中的 系统b 中的l 桩,构架 桩,构架i 图2基于迁移的模型 其中,a 、b 代表两个不同的对象系统。由于分布对象系统具有相似 的体系结构,即客户方基于桩( c o m 中称为代理,即p r o x y ) 开发,服务 对象基于构架( c o m 中称为桩,即s t u b ) 开发。因此迁移所做的主要工作 是使用对象系统a 中的桩和构架替换为对象系统b 中的桩和构架。 此外,在t a l i g e n t 公司的a e t i v e x 到j a v a b e a n s 的迁移工具中,由于 j a v a b e a n s 只支持j a v a ,因此a c t i v e x 组件到j a v a 的迁移工作还包括将原来 的编程语言转换为j a v a 。 3 、基于多协议栈的集成模型 s u n 公司在其r m i i i o p 中实现了j a v ar m i 和c o r b a 的集成,其方 法是采用多协议栈的方式,即在原有的j a v a r m i 的基础上增加了对c o r b a 的支持,可以使用c o r b a 的i i o p ( i n t e r n e ti n t e r 。o r bp r o t o c 0 1 ) 作为对 象请求和应答的传输协议。用户在使用原有的j a v ar m i 编程接口的基础 上,可以选择将j a v a b e a n s 组件实现为j a v ar m i 对象或者c o r b a 对象, 也可以同时作为j a v ar m 对象和c o r b a 对象;j a v ar m i 客户机也可以 同时访问j a v ar m i 对象和c o r b a 对象。 s u n 公司提供r m i i i o p 的目的是为了借助c o r b a 来集成使用其它编程 语言开发的应用,方法是对原有的基于j a v ar m i 开发的应用进行扩充以 支持c o r b a ,同时将使用其它编程语言开发的应用改造为c o r b a 应用, 从而实现j a v ar m i 应用和其它应用的集成。为了尽量减少j a v ar m i 应用 到c o r b a 应用迁移所需的工作量,r m i - i i o p 中c o r b a 桩和构架都尽量 保留原有的j a v ar m i 的接口。这样,用户不需要了解c o r b a 的i d l 就可 以将自己的j a v ar m i 应用迁移为c o r b a 应用,而且历代源代码的修改量 也很小。多协议栈集成模型如图3 所示。 图3 基于多协议栈的异构分布对象系统集成模型 4 、基于多接口的集成模型 基于多接口的集成方法的基本思想是将视图对象嵌入到客户方或对象 方,从而减少客户到异种对象的访问代价。基于多接口的集成模型还考虑 了多个异构分布对象系统的集成需求。基于多接口的集成方法包括两个模 型,分别为客户方解决方案和对象方解决方案( 如图4 和图5 所示) ,其 中对象系统i ( i _ l ,2 ,n ) 代表各种不同的分布对象系统。在以下 的讨论中,c o r b a 和j a v ar m i 的s t u b 以及c o m 的p r o x y 统称为客户方 代理,c o r b a 和j a v ar m i 的s k e l e t o n 以及c o m 的s t u b 统称为服务方代 理。 2 4 1 客户方解决方案 在客户方解决方案中,客户方拥有所有对象系统i ( i = 1 ,2 ,n ) 的客户方代理,统一的对象系统i 的客户方代理为客户提供对象系统i 中 的客户方代理接口,基于对象系统i 的客户按照对象系统i 中的客户开发 模式开发,客户可以过过统一的客户方代理以对象系统i 中的方式访问同 种或异种对象。当客户访问同种对象时,统一客户方代理直接将请求转发 给对象系统i 的客户方代理;当客户访问异种对象( 假设对象在对象系统i ) 时,统一客户方代理的工作和互操作规范中的视图对象一样,将请求转换 从而实现j a v ar m i 应用和其它应用的集成。为了尽量减少j a v ar m i 应用 到c o r b a 应用迁移所需的工作量,r m i - i i o p 中c o r b a 桩和构架都尽量 保留原有的j a v ar m i 的接口。这样,用户不需要了解c o r b a 的i d l 就可 以将自己的j a v ar m i 应用迁移为c o r b a 应用,而且历代源代码的修改量 也很小。多协议栈集成模型如图3 所示。 图3 基于多协议栈的异构分布对象系统集成模型 4 、基于多接口的集成模型 基于多接口的集成方法的基本思想是将视图对象嵌入到客户方或对象 方,从而减少客户到异种对象的访问代价。基于多接口的集成模型还考虑 了多个异构分布对象系统的集成需求。基于多接口的集成方法包括两个模 型,分别为客户方解决方案和对象方解决方案( 如图4 和图5 所示) ,其 中对象系统i ( i _ l ,2 ,n ) 代表各种不同的分布对象系统。在以下 的讨论中,c o r b a 和j a v ar m i 的s t u b 以及c o m 的p r o x y 统称为客户方 代理,c o r b a 和j a v ar m i 的s k e l e t o n 以及c o m 的s t u b 统称为服务方代 理。 2 4 1 客户方解决方案 在客户方解决方案中,客户方拥有所有对象系统i ( i = 1 ,2 ,n ) 的客户方代理,统一的对象系统i 的客户方代理为客户提供对象系统i 中 的客户方代理接口,基于对象系统i 的客户按照对象系统i 中的客户开发 模式开发,客户可以过过统一的客户方代理以对象系统i 中的方式访问同 种或异种对象。当客户访问同种对象时,统一客户方代理直接将请求转发 给对象系统i 的客户方代理;当客户访问异种对象( 假设对象在对象系统i ) 时,统一客户方代理的工作和互操作规范中的视图对象一样,将请求转换 从而实现j a v ar m i 应用和其它应用的集成。为了尽量减少j a v ar m i 应用 到c o r b a 应用迁移所需的工作量,r m i - i i o p 中c o r b a 桩和构架都尽量 保留原有的j a v ar m i 的接口。这样,用户不需要了解c o r b a 的i d l 就可 以将自己的j a v ar m i 应用迁移为c o r b a 应用,而且历代源代码的修改量 也很小。多协议栈集成模型如图3 所示。 图3 基于多协议栈的异构分布对象系统集成模型 4 、基于多接口的集成模型 基于多接口的集成方法的基本思想是将视图对象嵌入到客户方或对象 方,从而减少客户到异种对象的访问代价。基于多接口的集成模型还考虑 了多个异构分布对象系统的集成需求。基于多接口的集成方法包括两个模 型,分别为客户方解决方案和对象方解决方案( 如图4 和图5 所示) ,其 中对象系统i ( i _ l ,2 ,n ) 代表各种不同的分布对象系统。在以下 的讨论中,c o r b a 和j a v ar m i 的s t u b 以及c o m 的p r o x y 统称为客户方 代理,c o r b a 和j a v ar m i 的s k e l e t o n 以及c o m 的s t u b 统称为服务方代 理。 2 4 1 客户方解决方案 在客户方解决方案中,客户方拥有所有对象系统i ( i = 1 ,2 ,n ) 的客户方代理,统一的对象系统i 的客户方代理为客户提供对象系统i 中 的客户方代理接口,基于对象系统i 的客户按照对象系统i 中的客户开发 模式开发,客户可以过过统一的客户方代理以对象系统i 中的方式访问同 种或异种对象。当客户访问同种对象时,统一客户方代理直接将请求转发 给对象系统i 的客户方代理;当客户访问异种对象( 假设对象在对象系统i ) 时,统一客户方代理的工作和互操作规范中的视图对象一样,将请求转换 为对象系统j 中的格式,并将转换后的请求转发给对象系统j 的客户方代 理。 ,、,- 、,一、 l 对象系统i 的il 对象系统2 的il 对象系统n 的l l 对象实现ii 对象实现ii 对象实现i 、- - - - - - - - - - - - - - - _ ,- 、- - 图4基于多接口的集成方法的客户方解决方案 2 4 2 对象方解决方案 在对象方解决方案中,服务器方同时具备所有对象系统的对象方代理, 统一的对象系统i 的对象方代理为对象提供对象系统i 中的对象方代理接 口,基于对象系统i 的对象按照对象系统i 中的对象开发模式开发,对象 可以通过统一的对象方代理以对象系统i 中的方式接收同种或异种客户的 调用。当同种客户访问对象时,统一对象方代理直接根据从对象系统i 的 对象方代理得到的客户请求调用对象实现;当导狰客户( 假设客户在对象 系统j ) 访问对象时,统一对象方代理的工作和i 操作规范中的视图对象 一样,将从对象系统j 的对象方代理得到的客户请求转换为对象系统i 中 的格式,并调用对象实现。 基于多接口的集成模型可以为应用提供可移植功能,方法是根据应用 所要移植的对象系统保留其相应的客户方代理或服务方代理。因此基于多 接口的集成模型有两种使用方法:一种使用方法是如图4 和图5 所示的那 样同时支持多种对象系统:另外一种使用方法是利用基于多接口的集成模 甲甲甲 为对象系统j 中的格式,并将转换后的请求转发给对象系统j 的客户方代 理。 ,、,- 、,一、 l 对象系统i 的il 对象系统2 的il 对象系统n 的l l 对象实现ii 对象实现ii 对象实现i 、- - - - - - - - - - - - - - - _ ,- 、- - 图4基于多接口的集成方法的客户方解决方案 2 4 2 对象方解决方案 在对象方解决方案中,服务器方同时具备所有对象系统的对象方代理, 统一的对象系统i 的对象方代理为对象提供对象系统i 中的对象方代理接 口,基于对象系统i 的对象按照对象系统i 中的对象开发模式开发,对象 可以通过统一的对象方代理以对象系统i 中的方式接收同种或异种客户的 调用。当同种客户访问对象时,统一对象方代理直接根据从对象系统i 的 对象方代理得到的客户请求调用对象实现;当导狰客户( 假设客户在对象 系统j ) 访问对象时,统一对象方代理的工作和i 操作规范中的视图对象 一样,将从对象系统j 的对象方代理得到的客户请求转换为对象系统i 中 的格式,并调用对象实现。 基于多接口的集成模型可以为应用提供可移植功能,方法是根据应用 所要移植的对象系统保留其相应的客户方代理或服务方代理。因此基于多 接口的集成模型有两种使用方法:一种使用方法是如图4 和图5 所示的那 样同时支持多种对象系统:另外一种使用方法是利用基于多接口的集成模 甲甲甲 型所提供的可移植功能,即应用按照一种对象系统i 的开发方式开发,而 实际上表现为其它对象系统的应用。 图5基于多接口的集成方法的对象方解决方案 5 、异构分布对象系统集成模型的比较 上述异构对象系统集成模型有着各自的特点。以下对这些集成模型的 功能、性能以及实现环境进行比较,在此基础上讨论这些集成法适用于哪 些集成需求。 2 5 1 功能 以上集成模型都实现这样一个功能,即基于一个对象系统开发的应用 可以被另外一个系统中的应用所使用,从而实现异构对象系统的集成。然 而由于集成方法不同,集成后的系统具有不同的特性。异构系统的集成主 要体现在互操作和可移植两个方面。以下就系统集成后是否具备互操作功 能和可移植功能来对上述模型进行比较。 ( 1 ) 互操作功能 这里所说的互操作功能是指集成系统是否提供了协议转换功能,从而 使得一个纯粹的对象系统a 中的客户可以访问纯粹的对象系统b 中的对 6 甲圆甲团 习罕匮 型所提供的可移植功能,即应用按照一种对象系统i 的开发方式开发,而 实际上表现为其它对象系统的应用。 图5基于多接口的集成方法的对象方解决方案 5 、异构分布对象系统集成模型的比较 上述异构对象系统集成模型有着各自的特点。以下对这些集成模型的 功能、性能以及实现环境进行比较,在此基础上讨论这些集成法适用于哪 些集成需求。 2 5 1 功能 以上集成模型都实现这样一个功能,即基于一个对象系统开发的应用 可以被另外一个系统中的应用所使用,从而实现异构对象系统的集成。然 而由于集成方法不同,集成后的系统具有不同的特性。异构系统的集成主 要体现在互操作和可移植两个方面。以下就系统集成后是否具备互操作功 能和可移植功能来对上述模型进行比较。 ( 1 ) 互操作功能 这里所说的互操作功能是指集成系统是否提供了协议转换功能,从而 使得一个纯粹的对象系统a 中的客户可以访问纯粹的对象系统b 中的对 6 甲圆甲团 习罕匮 型所提供的可移植功能,即应用按照一种对象系统i 的开发方式开发,而 实际上表现为其它对象系统的应用。 图5基于多接口的集成方法的对象方解决方案 5 、异构分布对象系统集成模型的比较 上述异构对象系统集成模型有着各自的特点。以下对这些集成模型的 功能、性能以及实现环境进行比较,在此基础上讨论这些集成法适用于哪 些集成需求。 2 5 1 功能 以上集成模型都实现这样一个功能,即基于一个对象系统开发的应用 可以被另外一个系统中的应用所使用,从而实现异构对象系统的集成。然 而由于集成方法不同,集成后的系统具有不同的特性。异构系统的集成主 要体现在互操作和可移植两个方面。以下就系统集成后是否具备互操作功 能和可移植功能来对上述模型进行比较。 ( 1 ) 互操作功能 这里所说的互操作功能是指集成系统是否提供了协议转换功能,从而 使得一个纯粹的对象系统a 中的客户可以访问纯粹的对象系统b 中的对 6 甲圆甲团 习罕匮 象。在上述模型中,互操作模型和多接口集成模型都提供了互操作功能, 这两个模型都提供了实现互操作功能的视图对象,而迁移模型和多协议栈 模型都不具备互操作功能,因为在这两个模型中都是通过把一个系统中的 对象改造为另一个系统中的对象来支持另一个系统中的客户的访问,或者 是把一个系统中的客户改造为另一个系统中的客户来访问另一个系统中的 对象。在迁移模型中,不支持互操作的结果是迁移后的对象不能再支持原 来系统的客户;在多协议栈模型中,不支持互操作的结果是一个对象系统 中的对象引用不能传递给另外一个对象系统使用。对于支持互操作的模 型,以上功能都可以支持。 ( 2 1 可移植功能 这里所说的可移植功能是指应用程序经过集成之后,是否具备了在前 后两个系统上的可移植性。互操作模型对原有的应用不做修改,因此应用 不具备在新的对象系统上的可移植功能:迁移模型虽然可以帮助用户将原 有的应用改造成新的对象系统上的应用,但新的应用不再支持原有的对象 系统,因此也不具备可移植功能;多协议钱模型和多接口模型都同时支持 前后两个对象系统,也可以选择支持其中任何一个对象系统,因此具有可 移植功能。 2 5 2 性能 在基于互操作的集成模型中,客户需要通过视图对象访问目标对象, 客户对视图对象的访问以及视图对象对目标对象的访问都是通过分布对象 系统进行的。在基于迁移和多协议栈的集成模型中,客户可以直接访问目 标对象;在基于多接口的集成模型中,虽然客户方在访问目标对象时需要 经过多个代理,但是由于这些代理和客户、对象实现在同一个程序中,在 运行时它们将在同一个线程或进程中,这些访问都是进程内或线程内的访 问,因此在性能上接近于客户对目标对象直接访问。为了向应用提供可靠 性、灵活性和可重用性,分布对象系统都自动实现了诸如对象定位、对象 激活、参数编解码和出错处理等功能,因此通过分布对象系统对对象进行 调用要比赢接调用进程内的对象花费的时间更多。因此理论上同种对象系 统中的调用性能最高,也就是说基于迁移和多协议栈的集成模型性能最 高;基于多接口的调用性能和同种对象系统中的调用性能很接近:基于互 操作的集成方式性能最差,但上述结论不是绝对的。测试结果表明不论本 地调用还是远程调用,c o m 的性能都高于c o r b a ( 就o r b i x 而言) ,特 别是在本地调用方式中c o m 的性能远远高于c o r b a 性能,因此通过代 7 象。在上述模型中,互操作模型和多接口集成模型都提供了互操作功能, 这两个模型都提供了实现互操作功能的视图对象,而迁移模型和多协议栈 模型都不具备互操作功能,因为在这两个模型中都是通过把一个系统中的 对象改造为另一个系统中的对象来支持另一个系统中的客户的访问,或者 是把一个系统中的客户改造为另一个系统中的客户来访问另一个系统中的 对象。在迁移模型中,不支持互操作的结果是迁移后的对象不能再支持原 来系统的客户;在多协议栈模型中,不支持互操作的结果是一个对象系统 中的对象引用不能传递给另外一个对象系统使用。对于支持互操作的模 型,以上功能都可以支持。 ( 2 1 可移植功能 这里所说的可移植功能是指应用程序经过集成之后,是否具备了在前 后两个系统上的可移植性。互操作模型对原有的应用不做修改,因此应用 不具备在新的对象系统上的可移植功能:迁移模型虽然可以帮助用户将原 有的应用改造成新的对象系统上的应用,但新的应用不再支持原有的对象 系统,因此也不具备可移植功能;多协议钱模型和多接口模型都同时支持 前后两个对象系统,也可以选择支持其中任何一个对象系统,因此具有可 移植功能。 2 5 2 性能 在基于互操作的集成模型中,客户需要通过视图对象访问目标对象, 客户对视图对象的访问以及视图对象对目标对象的访问都是通过分布对象 系统进行的。在基于迁移和多协议栈的集成模型中,客户可以直接访问目 标对象;在基于多接口的集成模型中,虽然客户方在访问目标对象时需要 经过多个代理,但是由于这些代理和客户、对象实现在同一个程序中,在 运行时它们将在同一个线程或进程中,这些访问都是进程内或线程内的访 问,因此在性能上接近于客户对目标对象直接访问。为了向应用提供可靠 性、灵活性和可重用性,分布对象系统都自动实现了诸如对象定位、对象 激活、参数编解码和出错处理等功能,因此通过分布对象系统对对象进行 调用要比赢接调用进程内的对象花费的时间更多。因此理论上同种对象系 统中的调用性能最高,也就是说基于迁移和多协议栈的集成模型性能最 高;基于多接口的调用性能和同种对象系统中的调用性能很接近:基于互 操作的集成方式性能最差,但上述结论不是绝对的。测试结果表明不论本 地调用还是远程调用,c o m 的性能都高于c o r b a ( 就o r b i x 而言) ,特 别是在本地调用方式中c o m 的性能远远高于c o r b a 性能,因此通过代 7 理访问对象甚至有可能比直接访问性能还要高,例如,假设c o m 本地访 问时间为x ,远程访问时间为4 x ,c o r b a 本地访问时间为2 x ,远程 访问时间为8 x ,那么c o r b a 客户通过本地c o r b a 代理访问c o m 对象 的时间约为2 x + 4 x = 6 x ,而若将c o m 对象改造为c o r b a 对象,则c o r b a 客户访问改造后的c o r b a 对象的时间为8 x ,这种情况下通过代理访问反 而更快。如果各种分布对象系统的性能相互接近,那么可以肯定基于迁移、 多协议栈和多接口的集成模型在性能上要比基于互操作的集成模型高得 多。就基于多协议栈和多接口的集成模型而言,可以通过使用不同的集成 方法( 基于客户方的集成方法或基于服务方的集成方法) 来选择客户和服 务器之间的通信协议,以此来提高客户访问服务器的性能。 2 5 3 实用环境 对于互操作模型,视图对象需要同时支持客户方和对象方的对象系 统,但是视图对象独立于客户方和对象方运行,因此只要有一个环境是 两个对象系统同时支持的就可以实现所有的互操作:对于迁移模型,虽然 不存在环境的限制,但是两个对象系统所支持的环境的差异会影响迁移的 工作量。例如,在使用t a l i g e n t 公司的a c t i v e x 到j a v a b e a n s 的迁移工具时, 由于j a v a b e a n s 只支持j a v a 语言,因此以往的a t i v e x 的应用在迁移成 为j a v a b e a n s 组件时,还需要将原有的代码转换为j 肌代码,如果 j a v a b e a n s 也可以支持多种编程语言,那么很多应用在迁移时就不需要进 行代码转换了;多协议栈模型和多接口模型都需要两个对象系统的混合环 境,例如,r m i i i o p 需要同时支持r m i 和c o r b a ,基于多接口的c o m 和c o r b a 的集成只能应用于c o m 和c o r b a 都可用的环境。 2 5 4 适用范围 从以上讨论可以看出,四种异构分布对象系统集成方法各有特点,以 下结合集成应用需求来讨论这些集成方法的适用性。 需求1 :异构分布对象系统环境下分布式应用的开发 这种根况下由于对象系统支持环境的限制,客户方和对象方不得不使 用异构的对象系统,显然基于迁移的集成方法不适用,由于实现环境的限 制,基于多协议栈和多接口的集成模型也不适用,因此只能使用基于互操 作的集成方法来实现集成。 需求2 :集成已有的分布式对象系统的应用,保护已有的投资 这种需求需要分两种情况考虑。如果遗产系统是用户开发的,那么用 户可以修改源代码,这种情况下如果用户不再需要支持原来的对象系统, 8 理访问对象甚至有可能比直接访问性能还要高,例如,假设c o m 本地访 问时间为x ,远程访问时间为4 x ,c o r b a 本地访问时间为2 x ,远程 访问时间为8 x ,那么c o r b a 客户通过本地c o r b a 代理访问c o m 对象 的时间约为2 x + 4 x = 6 x ,而若将c o m 对象改造为c o r b a 对象,则c o r b a 客户访问改造后的c o r b a 对象的时间为8 x ,这种情况下通过代理访问反 而更快。如果各种分布对象系统的性能相互接近,那么可以肯定基于迁移、 多协议栈和多接口的集成模型在性能上要比基于互操作的集成模型高得 多。就基于多协议栈和多接口的集成模型而言,可以通过使用不同的集成 方法( 基于客户方的集成方法或基于服务方的集成方法) 来选择客户和服 务器之间的通信协议,以此来提高客户访问服务器的性能。 2 5 3 实用环境 对于互操作模型,视图对象需要同时支持客户方和对象方的对象系 统,但是视图对象独立于客户方和对象方运行,因此只要有一个环境是 两个对象系统同时支持的就可以实现所有的互操作:对于迁移模型,虽然 不存在环境的限制,但是两个对象系统所支持的环境的差异会影响迁移的 工作量。例如,在使用t a l i g e n t 公司的a c t i v e x 到j a v a b e a n s 的迁移工具时, 由于j a v a b e a n s 只支持j a v a 语言,因此以往的a t i v e x 的应用在迁移成 为j a v a b e a n s 组件时,还需要将原有的代码转换为j 肌代码,如果 j a v a b e a n s 也可以支持多种编程语言,那么很多应用在迁移时就不需要进 行代码转换了;多协议栈模型和多接口模型都需要两个对象系统的混合环 境,例如,r m i i i o p 需要同时支持r m i 和c o r b a ,基于多接口的c o m 和c o r b a 的集成只能应用于c o m 和c o r b a 都可用的环境。 2 5 4 适用范围 从以上讨论可以看出,四种异构分布对象系统集成方法各有特点,以 下结合集成应用需求来讨论这些集成方法的适用性。 需求1 :异构分布对象系统环境下分布式应用的开发 这种根况下由于对象系统支持环境的限制,客户方和对象方不得不使 用异构的对象系统,显然基于迁移的集成方法不适用,由于实现环境的限 制,基于多协议栈和多接口的集成模型也不适用,因此只能使用基于互操 作的集成方法来实现集成。 需求2 :集成已有的分布式对象系统的应用,保护已有的投资 这种需求需要分两种情况考虑。如果遗产系统是用户开发的,那么用 户可以修改源代码,这种情况下如果用户不再需要支持原来的对象系统, 8 理访问对象甚至有可能比直接访问性能还要高,例如,假设c o m 本地访 问时间为x ,远程访问时间为4 x ,c o r b a 本地访问时间为2 x ,远程 访问时间为8 x ,那么c o r b a 客户通过本地c o r b a 代理访问c o m 对象 的时间约为2 x + 4 x = 6 x ,而若将c o m 对象改造为c o r b a 对象,则c o r b a 客户访问改造后的c o r b a 对象的时间为8 x ,这种情况下通过代理访问反 而更快。如果各种分布对象系统的性能相互接近,那么可以肯定基于迁移、 多协议栈和多接口的集成模型在性能上要比基于互操作的集成模型高得 多。就基于多协议栈和多接口的集成模型而言,可以通过使用不同的集成 方法( 基于客户方的集成方法或基于服务方的集成方法) 来选择客户和服 务器之间的通信协议,以此来提高客户访问服务器的性能。 2 5 3 实用环境 对于互操作模型,视图对象需要同时支持客户方和对象方的对象系 统,但是视图对象独立于客户方和对象方运行,因此只要有一个环境是 两个对象系统同时支持的就可以实现所有的互操作:对于迁移模型,虽然 不存在环境的限制,但是两个对象系统所支持的环境的差异会影响迁移的 工作量。例如,在使用t a l i g e n t 公司的a c t i v e x 到j a v a b e a n s 的迁移工具时, 由于j a v a b e a n s 只支持j a v a 语言,因此以往的a t i v e x 的应用在迁移成 为j a v a b e a n s 组件时,还需要将原有的代码转换为j 肌代码,如果 j a v a b e a n s 也可以支持多种编程语言,那么很多应用在迁移时就不需要进 行代码转换了;多协议栈模型和多接口模型都需要两个对象系统的混合环 境,例如,r m i i i o p 需要同时支持r m i 和c o r b a ,基于多接口的c o m 和c o r b a 的集成只能应用于c o m 和c o r b a 都可用的环境。 2 5 4 适用范围 从以上讨论可以看出,四种异构分布对象系统集成方法各有特点,以 下结合集成应用需求来讨论这些集成方法的适用性。 需求1 :异构分布对象系统环境下分布式应用的开发 这种根况下由于对象系统支持环境的限制,客户方和对象方不得不使 用异构的对象系统,显然基于迁移的集成方法不适用,由于实现环境的限 制,基于多协议栈和多接口的集成模型也不适用,因此只能使用基于互操 作的集成方法来实现集成。 需求2 :集成已有的分布式对象系统的应用,保护已有的投资 这种需求需要分两种情况考虑。如果遗产系统是用户开发的,那么用 户可以修改源代码,这种情况下如果用户不再需要支持原来的对象系统, 8 那么可以采用基于迁移的集成方法:如果用户仍需要支持原来的对象系 统,那么在环境许可的条件下可以采用基于多协议栈和多接口的集成方 法,否则需要使用基于互操作的集成方案。如果遗产系统是其它公司

温馨提示

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

评论

0/150

提交评论