已阅读5页,还剩65页未读, 继续免费阅读
(通信与信息系统专业论文)corba在tmn中应用的研究和实践.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
! 旦型堂垫查查兰堡主兰垡兰兰 一! 哩 c o r b a 在t m n 中应用的研究和实践 摘要 t m n 是i t u t 在8 0 年代中期提出的关于网络管理系统化的解决方案。在这种框架中 采用分布式计算技术,以增加网络的智能性,适应性,扩充性是t m n 最新发展方向。而 c o r b a 则是计算机网络中最成熟的分布式对象平台。研究如何在t m n 中应用c o r b a 具 有重要的实际意义。 ( 在仔细分析了t m n 和c o r b a 的结构和特点以后,本文对在t m n 中如何应用c o r b a 提出_ 建议。作为c o r b a 在t m n 中应用的一种,o m g 提出了f t p f t a m c o r b a 接 1 :2 1 ,这个接口统一了在t m n 上对于文件的操作。详细分析了这个接口以后,本文首先分析 了f t p 协议,然后实现了其中的一个子集及c o r b a f t p 接口。在c o r b a 进行数据传 输有特殊的难题,这是因为要保持c o r b a 的特性即接口和实现的分离,通常意味着不能直 接处理和底层网络相关的属性。在和可能的几个方案比较之后,本文选择了a v s t r e a m s 接口。 这个接口是o m g 为在c o r b a 环境下传输多媒体数据而提出的,它既能够成分利用和控制 网络,又能够保持c o r b a 本身的优点,而且无需改变o r b 内核。本文对它的结构进行了 分析,它的主要特性是把数据传输之前的协商以及传输时的控制交给o r b 总线处理,而实 际传输则直接通过低层网络。然后对它作了一些简化,进而在t c p i p 网络环境下实现了这 个接口。实现以上的接口的时候,还需要使用实现一些通用接口的服务,p r o p e r t y s e r v i c e 就是其中比较重要的一种。为了优化o o p 程序设计,本文还对范式( p a t t e r n ) 作了分析, 它是o o p 程序设计中非常重要的概念,这个思想也应用到了本文的接口实现中以优化程序 设计。 本文在最后讨论了实现c o r b a 接口时遇到一些细节问题,并介绍了解决这些问题的经 验和体会。1 关键字 c o r b a ,t m n ,f t p ,f t a m c o r b a ,a v s t r e a n l s ,p r o p e r t y s e r v i c e ,范式7 ( 主堕堂翌垫查查兰堡:! 兰丝堡塞 垒生塑! ! 竺 t h er e s e a r c h a n dp r a c t i c e o ft h e a p p l i c a t i o n o fc o r b at ot m n a b s t r a c t i o n t m ni st h em o s tw i d e l ya c c e p t e da r c h i t e c t u r eo f t e l e c o m m u n i c a t i o nn e t w o r km a n a g e m e n t a p p l y i n gt h et e c h n o l o g yo fd i s t r i b u t e d p r o c e s s i n gt o e n h a n c et h ef l e x i b i l i t y ,i n t e l l e c t u a l i t ya n d e x p a n d a b i l i t yi st h et r e n di nt m n c o r b ai st h em o s ts u c c e s s f u ld i s t r i b u t e do b j e c tp l a t f o r mi n t h ec o m p u t e rn e t w o r k h o wt oa p p l yc o r b a t ot m ni sab i gc h a l l e n g e a f t e ra n a l y z et h ea r c h i t e c t u r e sa n dt h ec h a r a c t e r so f ! h e mc a r e f u l l y , w eb r i n gf o r w a r dt h e p o t e n t i a ls o l u t i o no ft h ea p p l i c a t i o no fc o r b a i nt m n w e a n a l y z e df t p f t a m _ c o r b a i n t e r f a c ec a r e f u l l y , w h i c hi so n eo f t h em a n ya p p l i c a t i o n so f c o r b ai nt m n i to f f e r sac o m m o n i n t e r f a c ef o rh a n d l i n gt h ef i l e si nt m n a f t e rd i s c u s s i n gf t pp r o t o c 0 1 am o s tp o p u l a rp r o t o c o l f o rt r a n s f e r r i n gf i l e so n 也ei n t e r n e t ,w ei m p l e m e n tp a r to ff t p f t a m ( o r b a ,f t p c o r b ai n t e r f a c e t h e r ea r es p e c i a ld i f f i c u l t i e sf o rt r a n s f e r r i n gd a t ai nc o r b a b e c a u s et h e s e p a r a t i o no ft h ei n t e r f a c ea n dj m p l e m e n t a t i o ni m p l i e st h ea p p l i c a t i o nc a n th a n d l et h ei o w e r i n f o r m a t i o ni nn e t a t i e rd i s c u s s i n gs o m ep o t e n t i a ls o l u t i o n s w ec h o s ea v s t r e a m sa so u r s w h i c h i sp r o v i d e db yo m gf o rt r a n s f e r r i n gd a t ai nc o r b ac o n t e x t a v s t r e a m sc a nu t i l i z ea n dc o n t r 0 1 t h el o w e rl a y e ro fn e t w o r kw h i l ek e e p i n gt h ec h a r a c t e r so fc o r b aw i t h o u tc h a n g i n gt h ek e m e l o fo r b i tt r a n s f c r st h ed a t af o rc o n t r o l l i n gs t r e a m sa n dn e g o t i a t i n gi nc o r b aa n dt r a n s f e r st h e d a t as t r e a m si nt h en e t w o r ki nl o w e rl a y e r w es i m p l i f i e da n di m p l e m e n t e di ti nt c p i pn e t w o r k w b i l e i m p l e m e n t i n g t h ea b o v ei n t e r f a c e s o m ec o m m o ni n t e r f a c e sa r e n e e d e da n dt h e p r o p e r t y s e r v i c ei s o n eo ft h e m p a t t e r ni sa l s oa ni m p o r t a n tc o n c e p ti n0 0 p :w ea l s os t u d i e di t a n da p p l i e di ti nt h et h e s i st oo p t i m i z et h ei m p l e m e n t a t i o no f t h ei n t e r f a c e s a tt h el l a s tp a r to ft h i st h e s i ss o m ed e t a i j p r o b l e m so fi m p l e m e n t i n gt h ei n t e r f a c e sw e r e d i s c u s s e da n da l s ot h ee x p e r i e n c ea n dc o m p r e h e n s i o no f t h es o l u t i o nf o rt h e mw e r ei n t r o d u c e d k e y w o r d c o r b a ,t m n ,p a t t e m ,f t p f t a m o r b a ,a v s t r e a m s ,p r o p e r t y s e r v c i e ! 里型兰丝查查堂堡:! 堂垡堡苎 笙二童里里塑垒兰翌堕堕塑塑三旦! 壁旦 第一章c o r b a 在网络管理中的应用 1 1t m n 概述 申信管理网一t m n ( t e l e c o m m u n i c a t i o n m a n a g e m e n t n e t w o r k ) 是i t u - t 在8 0 年代中期 提出的关于网络管理系统化的解决方案。在公用电信网络管理领域中t m n 是最为广泛接受 的框架。t m m 的技术特点主要可以从为结构、功能需求、信息模型、协议、一致性、剖面 图和方法等方面来理解。尽管t m n 的技术基础是依然大部分是建立在o s i 的结构上,但是 分布式管理的需求意味着必须考虑正在出现的分布式计算技术。这种趋势意味着t m n 标准 必须在符合现存技术要求的同时也必须满足将来的需要。 t m n 将电信网络功能分解为管理者和管理对象代理的协同操作关系,为它们建立了通 用标准模式和接口,并且提供了传送和处理电信网络管理及业务有关信息的方法。它的构思 关键是采用了面向对象和信息建模技术,对网络中被管理的资源建立抽象模型。网络单元内 部所有和管理功能有关的各种资源都被抽象为管理对象。t m n 的管理功能都源于资源的抽 象模型视图,及管理者通过代理向管理对象发送管理操作模型,管理对象响应该消息,产生 相应的行为作用于实际资源完成该操作。同时管理对象也可以产生相应的报告通过管理代理 向相应的管理者发送。不同的网络运营者只要遵守公共标准,就能屏蔽不同类设备之间的差 异。总之,t m n 用统一的思想和体系来管理电信网,适合多种设备类型,多种业务,开放 式的环境。 1 1 1t m n 的结构特点 t m n 的结构在m 3 0 1 0 中定义。它负责从三个角度( 功能,信息,物理) 定义t m n 实 体和实体之间的通信。尽管t m n 的具体实现和物理层相关,但是结构基础在本质上是功能 性的 t m n 的功能结构可以从两层描述:简单的和扩展的。在最简单的情形下,功能结构以 t m n 模块的形式描述了两种t m n 实体,其中一个主要关心管理系统。 1 n e f :n e t w o r k e l e m e n t f u n c t i o n b l o c k 网络元素功能模块 2 m f :m e d i a t i o nf u n c t i o nb l o c k 仲裁功能模块 3 o s f o p e r a t i o ns y s t e mf u n c t i o nb l o c k 操作系统功能模块 4 w s f :w o r k s t a t i o nf u n c t i o nb l o c k 工作站功能模块 ! 堕型兰垫查叁堂塑兰堂丝堡苎翌二垦翌型塑垄望竺堕翌墅型! 些旦 n e f :网络部件功能模块 q a f :q 适配模块 m f :仲裁功能模块 o s f :操作系统模块 w s f ;工作站功能模块 图1 1t m n 功能模块视图 所有以上的功能模块之问的通信应该是标准化的。为了使以前的网络也可以和标准的功 能模块通信,定义了q 适配功能模块( q a f ) 以作为中介。 在功能模块之间的通信以模块之间的关系的形式定义,被称为t m n 参考点,也就是 在没有相交的管理模块之间进行信息交换的概念点。一个参考点可以有好几个实例,但是 所有的实例采用的是相同的功能模块。 q x 参考点是m f 和n e f ,q a f ,m f 之间的边界; q 3 参考点是o s f 和n e f ,q a f ,m f ,o s f 之问的边界; x 参考点是不同的t m n 的o s f 之间的边界; f 参考点是w s f 和o s f ,m f 之间的边界: 在功能模块之间的实际信息传输由数据传输功能( d s f ) 实现,它被假定可以支持多个 不同的信息传输模式 t m n 的物理结构完全建筑在以下简单功能概念上: 1 t m n 的物理模块是个对应的概念模块或几个对应的概念模块混合的物理实现。 而物理模块的名字则由主要的功能模块的名字而定。 2 t m n 接口就是参考点的物理实现,也就是通信的物理模块之间的联系。 扩展的t m n 功能结构以两种形式提供。第一种t m n 参考模型定义了组成每个功能模 块的功能构件。 第二种是以逻辑层次结构的形式定义。它把o s 的管理功能分为四类: 1 单元管理( e l e m e n t m a n a g e m e n t ) 。管理作为一个子网的网络单元子集;也包括网络单 元和t m n 剩下的成分的仲裁。 2 网络管理( n e t w o r km a n a g e m e n t ) 。从端到端管理网络,也就是说把网络单元和他们 之间的联系作为一个整体来管理。也提供对所有服务的支持。 3 服务管理( s e r v i c em a n a g e m e n t ) 。管理对最终用户和其他服务提供者提供的服务,包 括服务预定,抱怨,记帐,测量服务质量等。 4 商务管理( b u s i n e s sm a n a g e m e n t ) 。主要从一个企业的角度来管理网络,包括经济, 预算目标制定,产品和人力资源计划。 这些层次指出了功能的等级。但是,非相邻层次的通信是允许的。另外,高层可以被认 2 ! 里! ! 兰丝查叁堂堡主堂垡笙兰竺二童翌型塑塑坚墅塑兰生! ! ! 塑 为是t 比m 底n 焉戮熟三种对于t m n 结构的视图,这种视图是基于面向对象原则信息结构则提供了第三种对于 纬构的视幽,这种砚圈是基于回h 用豕脉州 的。在这样的结构下,被管理的系统和管理系统以管理对象的形式交换信息。管理对象可能 被表示为三种形式的抽象:网络资源是可视的,并且可以被管理的属性集合;可以被管理的 网络资源之间的联系:对一种网络应用的特定属性的支持。t m n 定义了信息交换中的两个 角色( r o l e ) : 1 管理者角色。它主要是向代理者发布关于网络实体的指示以及从代理者接受关于网络 实体的信息; 2 代理者角色。它根据来自管理者的指示行动,并且把网络实体的信息提供给管理者。 值得注意的是t m n 的这种信息结构和分布式计算有类似的地方,但是仍然有很大的差 别。t m n 的操作模式需要在管理者和代理者的协作进程之间交换信息t 从这个角度说t m n 也是一种分布式的操作环境。但是这种信息结构对分布式计算的支持是有限的。比如说,分 布式计算中的位置透明性在t m n 中就是不可能的:管理者必须知道需要处理对应操作的代 理者的位置。 1 2t m n 的发展 目前的电信网中,网络操作的智能性主要存在与操作系统o s 中,而网络单元则没有智 能性。这样,低等级的,与业务无关的设备管理就成为;l o s 消耗时间的工作,阻碍了o s 有效的管理网络和业务。而由于电信网整体规模的增加以及增添新业务的需要,网络管理就 变的更加复杂,t m n 的物理结构从几种的智能管理向分布式的智能和管理已经迫在眉睫。 为了取得完全的分布式管理,1 t u t 正在努力分布式管理的概念加入到t m n 中去。这 样的努力包括把t m n 的原则和结构分成两个部分:一个主要强调t m n 的基本的原则,这 样的原则是和通信技术无关;另个部分则是和通信技术有关的。基础特点必须和现在和以 后的具体技术无关。例如,o s l 管理结构构成了t m n 信息结构的基础,但是,它不能被看 作是基本的,因为它限制了可以采用的通信技术。另一方面,建筑于分布式计算技术之上的 特点则必须被考虑进来。另一个努力则包括建立一个与技术无关的开放的分布式管理结构 ( o d m a ) ,它应该是建立在开放的分布式计算( o d p ) 原理之上。t m n 本身可以被看作一 个o d p 系统。现在已经建立的初步的标准包括o d m a 结构的以及o s i 管理体系对o d m a 的支持,还有利用i d l 语言对o d m a 的描述。这后者是由o m g 正在研究的。 此外,t i n a 也是一种很有竞争力的结构,它是为“开放”的电信业务定义的种一致 性软件结构。通过它的计算结构和业务结构可以提供可再用的软件结构,支持全网软件的互 操作性,使软件的构建,测试。部署和运行更加容易。t i n a 中采用了很多开放式分布处理 的概念,方法。t m n 可以借鉴t n a 的机制,但是不一定要采用它。 未来的t m n 结构越来越具有以下的特征:分布式软件结构;基rw e b 的新结构:比例 可以调整。电信网络管理论坛提出了以下基于w e b 的分布式网络管理结构。 主里型兰丝查查堂堡土兰丝堡塞一生二垦三竺型垫兰坐塑堡坠坠型! 丝旦 a 图12 s m a r t t m n 基于w e b 的分布式模型 1 3 基于c o r b a 的网络管理体系结构 无论采用什么样的技术,多厂商环境下的网管系统都必须能够支持多种网管接口( 二郝$ $ 接1 7 2 ,s n m p ,i t u t o s i 和c o r b a ) 的接入。因此最有效的解决方案就是在运行系统中 引入中间件的概念。而现在流行的t m n 管理平台,c o r b a 平台以及所谓的三层体系结构 产品都属于中间件的范畴。传统的电信行业和计算机技术的融合是当前的趋势。而目前网络 管理系统的开发过程已经被认为是一种专用的面向对象的管理信息系统开发过程。在计算机 领域,面向对象的分布式系统主要只有两种结构,一种是微软的o l e d c o m 技术,一种是 o m g 的c o r b a ,而根据c o r b a 的特性,完全可以做到和o l e 仍c o m 的互操作。因此利 用独立于厂家的技术c o r b a 来开发多厂商环境下的网管系统具有一定的合理性。电信网络 管理论坛( t m f o r u m ) 在提出s m a r tt m n 的概念中,已经把c o r b a 作为其分布式计算的 首选技术。 但是t m n 作为电信网的支撑网,可能更加适合于计算机网。而从网元层接口处,及网 络信息从电信网络到计算机网的过渡处,q 3 起了历史性的作用,我们可以预计在未来很长 一段时期里面,c o r b a 依然没有能力代替q 3 接口。而在网络管理信息从电信网进入计算 机网的以后,则可以也应该考虑利用计算机领域的技术,这正是c o r b a 所关注的地方。 c o r b a 技术可以在以下三个方面应用与t m n 框架: 1 在开发t m n 的运行系统( o s ) 时,c o r b a 可以为组成o s 的内部单元问的交互 提供通信方式。 2 在t m n 的o s 间互操作时,c o r b a 作为标准的中间件,支持和编程语言无关的接 口定义。 3 o m g 的c o r b a 可以替代o s i 的上层协议栈,及j = = c o r b a 的h o p 代替管理系统 和被管理资源的通信接口。 4 ! 里型堂丝查叁兰堡! :兰丝监兰一翌二要翌型塑塑翌堂堕! 塑:! ! 丝旦 1 3 1c o r b a 用于被管理系统 如果利用c o r b a 对象描述被管理资源,那么c o r b a 同样可以用于实现电信管理接口, 即c o r b a 可以作为被管系统的通信接口。 在采j dc o r b a 对象描述管理对象的情况下,可以将每一个管理对象类定义为一个i d l 接口,这样对于所有的c o r b a 的管理系统,都有必要定义一个通用的管理对象。它应该包 括管理对象的类,管理对象实例的标识,管理对象的特性等信息。它还必须可以被系统中任 一个管理对象实例化。管理系统可以使用c o r b a 的静态和动态接口取得被管理对象的服 务。 以上这种方法比较直观,被称为细粒度( f i n eg r a i n ) 方法,该方法的优点主要有: 1 采用的纯粹的面向对象的方法; 2 可以将对象彻底分布在o r b 上,最大限度的利用了c o r b a 的分布性; 3 客户可以将服务器上的所有对象纳入自己的直接视图,具有很大的对对象操作的灵 活性; 4 可以确保较强的对象类型安全控制。 它的缺点是o r b 上的c o r b a 对象过多,会占用较多的系统资源,降低系统的整体性 能。 与之对应的是一种称为粗粒度( c o a r s eg r a i n ) 方法。它的思想是一个c o r b a 的接口对 象实例化以后可以维护多个管理对象。通过对c o r b a 接口定义的操作的使用可以访问管理 对象的信息,对于管理系统来说,管理对象的具体组织方式是透明的。本质上该方法也就是 t m n 框架下的代理者角色的概念。它的优点是性能比起前者有很大提高,缺点是没有充分 利用面向对象的特点,也不能实现管理对象的分布性。 一般采用粗细结构结合的方法,以取得结构和性能的折衷。一般的说可以根据管理对象 的类,管理方法域等方法来建模,也就是说属于同一个管理对象类的所有管理对象映射为一 个对象,或者把属于同一个管理域的所有管理对象映射为一个c o r b a 对象。这样就在满足 系统一定分布性的前提下,又能够满足一般系统性能的需要。 另外值得注意的问题是t m n 中的管理对象是用g d m o a s n 1 描述的,比起 g d m o a s n 1 来o m g 的i d l 是一种更加接近于编程语言的描述语言,它缺乏关于对象的 功能,行为以及对象之间关系的描述。因此o m g 建议采用u m l 中的u s e c a s e 图,s e q u e n c e 图和c l a s s 图等与o m gi d l 一起作为c o r b a 信息建模的工具。在o m g 的文档中对此进行 了详细阐述。 1 3 2c o r b a 用于管理系统 传统的t m n 管理系统一般采用以c m i p 为中心的电信网络管理系统。通过m d 或者 o - a d a p t o r 与其它的采用私有协议的网络相连接。考虑到c o r b a 在分布式计算领域的领先 地位,有必要提出一种以c o r b a 为中心的电信网络管理体系结构,该结构在和采_ l f ;| 其它通 信方式的系统相连的时候,可以使用对应的网关或者代理实现互连。 主里! :! 堂垫查叁兰塑! :兰垡堡兰翌二蔓l 曼型塑垒鱼旦竺笪兰塑:! ! 堕旦 图1 3 以c o r b a 为中心的电信网络管理模型 对于一个以c o r b a 为中一0 的网络管理系统,不仅要考虑以c o r b a 为中心的运行系统 开发的框架,还需要考虑和已经存在的管理系统进行交互和系统管理等问题。 在上图中,一个管理应用( m a f ) 单元和t m n 中的m a f 具有相同的意义。也就是说 一个m a f 实现一个管理业务。m a f 被看作是o m g o m a 中的应用对象。以c o r b a 为中 心的运行系统要管理传统的标准电信网络资源必须通过网关及代理进行。在这样的体系结构 中,有两个标准的电信系统的接口被明确的提出,即t m n q 3 和i n t e m e ts n m p 的接口,也 就是说它包括了c m i p c m i s 和s n m p 接口。 本体系结构不仅可以管理网络上的电信设备和业务,同时也承载管理运行系统的计算机 系统。 1 3 3c o r b a 在网管中应用的简单概括 c o r b a 代表了分布式计算技术的将来,但是,在现有的网管系统中要完全实现分布式 系统,及为分布式系统提供有效的环境( 包括可靠的网络,高速运算的硬件等) ,其代价是 相当昂贵的。许多网络运营者不可能为电信管理者提供代价昂贵的分布式计算机网络。因此, 就目前情况而言,投入实施的实际网络管理系统,只是把q 3 技术或者c o r b a 技术作为一 个通信接口技术来使用。然后通过该通信接口,把所有的网管数据都收集到本地的n m s 。 然后再对这些数据进行集中式处理。它们其实没有充分利用分布式计算的特性。 在网管系统的分析和设计阶段,与i d l 语言相比,q 3 接口技术采用的g d m o a s n 1 描述语言可以更方便的进行系统建模,如果u m l 和i d l 相结合,就有可能满足电信管理网 的建模要求。但是,目前的情况是,用g d m o a s n 1 描述语言描述的信息模型可以花费很 少的时间就可以精确的理解;而用i d l 语言描述的信息模型,则会需要接口的双方花费很 长时问对其细节进行讨论。 此外,目前c o r b a 的标准对象服务还不足以对网络系统进行方便的开发。在基于0 3 接口的t m n 框架内,类似于事4 1 :管理,日志管理,性能管理等一系列通用的系统管理功能 已经被作为标准普遍接受。但是o m g 为c o r b a 定义的人部分通剧服务都是支持分布式处 理的,针对网络管理领域的服务还和1 t u t 的建议有一定的出入。 6 中罔科学技术人学硕士学位论文 第一章c o r b a 在网络管删中的心用 但是,从系统开发的角度来看,o m gi d l 到编程语言映射的标准化工作要优于 g d m o a s n 1 到编程语言的标准化工作。在g d m o a s n 1 到编程语言的映射工作上,i t u t 没有涉及。而电信网络管理论坛( t m f ) 作过一些努力,但是由于历史和商业上的原因得 不到大多数网络管理平台开放商的支持,而归于失败。而对应o m g1 d l 则在规范制定过程 中就直接完成了i d l 到编程语言的映射的标准化任务,从而得到了所有c o r b a 开发商的 支持。 目前的现状是经过十几年的发展,基于q 3 技术的网管开发运行平台已经在实际应用中 得到了验证,产品之间的互连互通得到了较好的保证。而c o r n a 虽然其规范非常完美,但 是实际的c o r b a 产品还有很多缺陷,没有完全达到c o r b a 本身所要达到的目标,及 c o r b a 的互连性并没有真正做到无缝连接。但是我们相信c o r b a 经过一段时间的检验, 这样的问题会得到解决。 总之t m n 提供了统一的方法来管理各种资源和业务的管理框架,在实际应用中已经得 到了巨大的成功。同时c o r b a 也已经在信息及计算机网络领域取得了巨大的成功。c o r b a 在t m n 中的应用是一种趋势,因此o m g 提出了基于c o r b a 的电信网络管理框架,并且 根据电信管理的特殊需求提出了对c o r b a 服务的需求,为在t m n 的框架内采用c o r b a 技术提供了可行的道路。 7 中田科学挫术人学坝j 一学位论文 第二二章c o r b a 概述 第二章c o r b a 概述 随着网络计算技术的飞速发展,不同的软硬件产品之间对互操作性的需求也日益突山, c o r b a 就是o m g 对此提出的一种解决方案。o m g 是一个包含7 0 0 多家公司在内的协会, 也就是对象管理集团( o b j e c tm a n a g e m e n tg r o u p ) 。这个协会几乎代表了整个计算机行业。 只有微软公司是个例外,它提出了自己的解决方案分布式组件对象模型( d c o m ) 。对 于计算机行业的其它厂家来说,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 允许用户创建一个通用的对象,然后通过让对象多继承相应的服务,使之具有 事务处理特性以及安全型、可锁定性和持久性等特点。这就是说可以设计一个具有常月j 功能 的通用对象接口,然后在运行时再根据需要,插入适当的中间件( 也就是接口的实现) 。这 是一种灵活的定制机制。 2 1c o r b a 对象参考模型 o m g 在1 9 9 1 年确定了c o r b a 规范的11 版本,在该版本中主要对o m g i d l ( i n t e r f a c e d e f i n i t i o nl a n g u a g e ) 和程序开发所使用的应用编程接口( a p i ) 进行了规范,从而确保在使 用特定技术实现的o r b ( o b j e c tr e q u e s tb r o k e r ) 内部可以实现客户与服务器之间的透明交 互a 1 9 9 4 年1 2 月c o r b a 规范的2 0 版被o m g 采纳。该版本对不同厂家之间的o r b 如何 操作进行了规范,从而实现了真正意义上的互操作性。目前c o r b a 的3 0 版正在被讨论。 o m g 只制定接口的规范,而不是具体的代码。它规定的接口都是来自它的会员公司提 交的已经得到验证的技术。这些接口是用一种中性的接口定义语言( i d l ) 编写的。这科,语 言定义了组件的边界也就是它和潜在客户的交互规范。实现这些i d l 的组件应该可以 跨语言,平台,网络和工具等进行访问。 1 9 9 0 年o m g 发表了对象管理体系结构指南( o m a 指南) ,1 9 9 2 年进行了修改,1 9 9 5 年1 月又加进了一些公用设施的细节。下图显示了该体系结构的四个主要单元:1 ) 对象请 求中介( o r b ) 定义了c o r b a 对象总线;2 ) c o r b a 服务( c o r b a s e r v i c e s ) 定义了系统 级对象框架- 用来扩展总线:3 ) c o r b a 设施( c o r b a f a c i l i t i e s ) 定义了直接被商务对象 使用的水平和垂直应用程序框架:4 ) 应用程序对象( a p p l i c a t i o no b j e c t ) ,即商务对象及其 应用程序一一它们是c o r b a 基础结构的最终用户。 ! 堕盟兰垫查叁堂塑兰堂些堡兰丝三里翌里! 垒坚堕 2 1 1 分布式对象 图2 1o m g 对象管理体系结构 c o r b a 对象是能够放在网络任 口位置的智能实体。它们被包装成二进制的组件,客户 端可以通过方法来访问它们。用来创建对象的语言和编译器对用户都是透明的。客户端不需 要知道分布式对象在哪儿或者在什么搛作系统上。 2 1 2o m g 定义接口语言( o m gi d l ) o m g 采用i d l 语言来描述2 m t :v j 边界,也就是客户与服务器之间进彳亍交互的接口。 o m gi d l 是一种中性的语言,也就是说和具体的编程语言无关的说明型语言。它遵守的语 法是a n s i c + + 标准的子集,另外,增加了一些构造以支持i d l 特有的操作调用机制。o m g i d l 支持c + + 语法中的常量,类型和操作说明,但是不含任何语法结构和变量。 1 d l 的中立性是通过语言映射( l a n g u a g em a p p i n g ) 的原则做到的。所谓语言映射就是 把一个用i d l 语言描述的接口用相应的特定语言描述。例如,在i d l 里面的i n t e r f a c e 被映 射成j a v a 里面的c l a s s 语言的独立性是c o r b a 的一个重要特征。由于c o r b a 并不限制使用的特定的语言, 因此它就给了应用开发者选择最适合1 也f f j 特定领域的语言的自由。而且,程序开发者甚至可 以为一个应用采用不同的语言来开发不同的组件。c o r b a 的目标是可以把所有的客户机 服务器中间件和所有在对象请求中介( o r b ) 上的组制:都“1 d l ”化。o m g 通过两个步骤 达到这个目标: 将任何组件都用i d l 语言描述。组件供应商用一种标准定义语言米规定他们所提供 的对象的接口和结构,i d l 定义f 阿约定将分布式对象服务的提供者和i 他们的拜户联 9 中国科学技术大学硕士学位论文 第二章c o r b a 概述 的对象的接口和结构,i d l 定义的约定将分布式对象服务的提供者和他们的客户联 编在一起。如果一个对象需要向另外一个对象请求什么东西,它必须知道目标对象 的接口。c o r b a 接口储存库包含了所有这些接口的定义t 组件能够在运行的时候 彼此发现所需要的源数据。这就使的c o r b a 称为一个自描述系统。 o m g 为c o r b a 提供了一组分布式服务。这些服务将确定网络上有哪些对象,这些 对象会提供哪些方法,这些对象提供哪些接口适配器。对象的位置对用户应该是透 明的,比如说对象是在统一个进程里面还是在世界的尽头对用户来说应该都是一样 的。 2 1 3 对象请求中介o r b ( o b j e c tr e q u e s t b r o k e r ) 对象请求中介( o r b ) 是c o r b a 的基本部件。o r b 的原则是:当一个部件需要使用 另外一个部件的服务的时候,它首先必须取得那个对象的引用( r e f e r e n c e ) ;取得引用以后 部件就可以调用那个被引用部件的方法,也就是说可以取得那个部件的服务。o r b 的主要 功能就是解决对象引用的请求,从而使得部件之间建立连接。 o r b 的主要职责可以简化为: 当一个客户给出一个对象引用的时候,o r b 可以为客户定位对应的对象实现( 服务 器) 。 当服务器被定位以后,o r b 可以确认服务器已经准备好接收服务请求。 在客户端的o r b 接收来自应用层的方法调用及其参数,并且把参数排列( m a r s h a l ) 到网络里面。 在服务器端的o r b 则把来自网络的参数反排列( u n m a r s h a l ) 到服务器。 如果有返回参数的话,则服务器和客户以同样的方式把参数m a r s h a w u n m a r s h a l 。 所有这些过程都是对客户透明的。 m a r s h a l 和u n m a r s h a l 的过程可以参考下图: 图2 2m a r s h a l u n m a r s h a 如上所述,o r b 及对象请求总线,通过它,各个对象可以透明的向本地或者远端的其 它对象发出请求或者接收响应。客户并不知道联系,激活或者存储对象的具体过程。以f 我 们简单举出c o r b a 请求对象的特点: 静态和动态的方法调用。静态方法调用是指c o r b a 对象在编译的时候就定义好需 1 0 ! 里翌兰垫查查兰堡! :兰丝堡兰 一坠三量三旦型! 垒塑查 要调川的方法,它的好处是可以进行类型检验:而动态方法调h j 则是指在程序开始 运行之后,再找到适当的方法并且调用它它的好处是非常灵活。 高级语言联编( m a p ) 。c o r b a 将接口与实现分开,而提供了中性语言的数据结构, 这样就可以跨越语言昶1 操作平台进行对象的调用。相反的是其它类型的中间件只提 供底层的,及语言专用的接1 5 ;而且没有把接口与实现分开,从而使得系统对语言 和操作平台的变化过于敏感。 自描述系统。c o r b a 提供运行时的元数据,蚪米描述系统所了解的每个服务器接 口。每个c o r b a 对象的o r b 必须支持一个接v i 储存库,这个储存库里面包含了描 述服务器功能及其参数的实时信息。客户可以利用元数据发现井调用服务。元数据 是由接口定义语言( i d l ) 预编译器产生:某些编译器能够把一种面向对象的语言 ( j a y a ,c 等) 转化成对应的i d l 接口,利用它们,我们甚至可以从特定的编程语言直 接产生元数据 本地远程的透明性。一个对象请求中介可以单独运行在一台机器上,或者也可以利 用c o r b a2 0 的i n t e r n e t 对象间通信协议( i i o p ) 与网络中其它对象进行通信。o r b 可以代理单进程间的对象调用,也可以代理在同一台机器运行的多进程中的对象间 代理,还可以代理整个网络和操作系统中运行的对象间调用。这在对象看来都是透 明的。 内部安全性和事务处理。o r b 在它的消息里面包含了语言环境用来处理跨机器和 o r b 边界的安全性和事务处理。 多态消息接发。o r b 和其它形式的中间件不同,它不是简单的调用一个远程功能, 而是调用一个远程目标对象的功能。这就意味着同样的功能调用可能有不同的结果, 这取决于调用的具体的对象,以及这个对象当前的状态。 与现有的系统共存。c o r b a 将对象的定义和实现分开,非常有利于封装现有的应 用程序。即使现有的应用程序是用完全和c o r b a 无关,甚至不是面向对象的,通 过用i d l 语言描述,并用相应的对象封装,就可以使它看起来o r b 上的对象一样。 这就使得c o r b a 可以成为一个循序渐进的改良方法。从而使现有的系统保存下来。 2 1 4c o r b a 的通信模型 c o r b a 应该是中立的,因此与也应该于网络协议无关。c o r b a 标准制定了g i o p ( g e n e r a li n t e r - o r bp r o t o c 0 1 ) 协议,它在高层制定了o r b 之间以及部件之间进行通信的标 准。g i o p 是只是一种概括的协议。o m g 还定义了其它的协议来使得g i o p 可以在特定的传 输协议上使用。例如g i o p 协议可以在t c p i p 或者d c e 上传输。此外,厂商完全可以根据 自己的喜好为c o r b a 部件之间的消息传递定义相应的协议,只要它们建筑在g i o p 协议之 上,就可以和其它厂商的o r b 兼容。 c o r b a 对象请求中介体系结构层次大致可以用下幽表示: 宣避型堂垫查盔堂堡! :堂堡鲨兰 , 一堡兰至翌整! 垒! 堕 对 蒙 i 鸯 求 滔 义 翁篱f 息语 气 泣 l 篡 l 罢一- z ;r j c o r b a2 。0 强制性要求 e 三珂 可选 图2 3c o r b a2 0 对象请求中介体系结构 g i o p 规定了o r b 间通信的一继搬文揍式和公用数据表示。g i o p 是专f l 为o r b 与o r b 之间的交互焉设计的。g i o p 协议定义了7 种报文格式,涵盖了所有的o r b 请求回复语义。 它不需要任何格式协商。丽i i o p 则规定了g i o p 如何在t c p i p 蹦络上交换。i i o p 使得o r b 可以萃用i n t e r n e * 作为骨干对象请求中介,其它的对象请求中介可以通过这个骨于请求中分 建立桥路。对客户来说,1 1 0 p 是完全透明的,它们只需要取得对象的引髑就可以和对象交 互。 c o r b a2 0 规范规定了基于g i o p 传送的远其= ! 对象g f 刈格式,称为i o r ( i n t e r o p e r a b i e o b j e c tr e f e r e n c e ) 。一个f o r 包括一个或多个引硐
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园消防安全管理队伍建设方案
- 污水提升泵站建设实施方案
- 年产xxx声音传感器角度传感器项目可行性分析报告
- 2025年涂装设备电气系统安全生产试题及答案
- 初中消防安全设备采购与安装方案
- 汽车销售顾问专业技能培训手册
- 2025年成人专升本法律伦理道德判断题及答案
- 建筑施工区域生态环境保护措施
- 填埋场渗滤液膜过滤处理技术应用
- 操作人员职业技能提升培训项目
- 施工生产管理培训课件
- 静脉留置针堵管预防策略与护理质量提升实践
- 早产儿生后黄金1小时管理
- 2025年大队委员笔试题库及答案
- 2025年网球理论基础知识考试题及答案
- 2025江西吉安市遂川县城控人力资源管理有限公司招聘34人笔试考试参考试题及答案解析
- 初中期中质量分析会校长讲话:正视短板精准发力共筑初中教学质量新高度
- 2025-2026学年度上学期一中高三11月月考物理试卷
- 苏炳添的精神
- DB11-T 1860-2021 电子信息产品碳足迹核算指南
- 苏教版五年级上学期科学知识点
评论
0/150
提交评论