




已阅读5页,还剩56页未读, 继续免费阅读
(系统工程专业论文)基于CORBA的数据交换技术的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硬士论文 基于c o r b a 的数据交换技术的研究与实现 摘要 随着移动通信网络规模的不断扩大和各种网络设备的不断增加,各个移动运营商 都陆续引进和自主开发了众多的两管系统,不可避免的带来了这些异构系统之间互操 作和资源共享的问题,而分布式对象技术的产生恰好弥补了这些缺陷。 c o r b a ,即公共对象请求代理体系,作为当前较为流行的分布式对象技术之一, 它通过与j a v a 语言以及电信管理网t m n 的良好结合,可以很好的解决各网管系统间 管理协议不兼容,操作界面多样性等系统异构性问题。 本文首先阐述了分布式对象技术产生和应用的背景,接着对几种分布式对象技术 进行了简单比较,然后介绍了c o r b a 的概念特点以及体系结构和原理。在此基础之上, 本文又对c o r b a 的i d l 映射机制、p o a 机制以及c o r b a 在数据交换应用中的开发流程 等进行了研究和分析。最后,本文给出了基于电信管理网t m n 的网管系统中配置管理 模块的重点部分的实现过程。 关键字lc o r b a ,分布式对象技术,电信管理网t m n ,配置管理 堡主笙苎薹三塑塑垒箜墼堡奎壅垫查竺里窒兰奎墨 a b s t r a c t a c c o m p a n yw i t ht h ed e v e l o p m e n to ft h es c a l eo ft h em o b i l ec o m m u n i c a t i o nn e t w o r k a n dt h ei n c r e a s i n go ft h en u m b e ro fn e t w o r kr e s o l r c e s ,i ns u c c e s s i o n ,e a c hm o b i l eo p e r a t o r i n 州u c e so fe x p l o i t sn e wn e t w o r km a n a g e t r l e n ts y s t e m sm d e p e n d e n a y s o m ep r o b l e m s s u c ha ss h a r i n gr e s o u r c e sa n dm u t u a lo p e r a t i o n so ft h eh e t e r o g e n e o u ss y s t e m sa l eb r o u g h t i n e v i t a b l y w l l i l ed i s t r i b u t e do b j e c tt e c h n o l o g yc o u l ds o l v e st h e s ep r o b l e m sb e t t e r c o r b 久a s 雠o ft h ep o p u l a rd i s t r i b u t e do b j e c tt e c h n o l o g i e s , t h r o u g ht h e c o m b i n a t i o no fc o r b a ,j a v aa n dt m n ,i tc o u l ds o l v et h e p r o b l e m s o ft h e s e h e t e r o g e n e o u ss y s t e m sc o m p l e t e l y t h i sp a p e rs u m m a r i z e st h eb a c k g r o u n da n dd i f f e r e n c e so ft h ed i s t r i b u t e do b j e c t t e c h n o l o g i e sa tf i r s t n e x t ,删t e c t u r ea n de l e m e n t so fc o r b aa l ei n t r o d u c e d t h e n 。w e a n a l y z ei d kp o aa n df l o wo fs y s t e md e v e l o p m e n to fc o r b a a tt h ee n d ,t h ep a p e r c a r r i e so t l tt h ep r i m a r yp a r to f c o n f i g u r a t i o nm a n a g e m e n tf u n c t i o no f n e t w o r km a n a g e m e n t s y s t e m sb a s e d 贺鼎 k e y w o r d s :c o r b a , d i s t r i b u t e do b j e c tt e c h n o l o g y ,t m n ,c o n f i g u r a t i o nm a n a g e m e n t 璺主丝苎 茎王竺婴垒塑墼塑奎苎茎查竺里塞兰壅墨 缩略语 名称全称 解释 o r b o b j e c tr e q u e s tb r o k e r对象请求代理 捻c l l e n t s e r v e r 客户端服务器 c o mc o m m o no b j e c tm o d e l 公共对象模型 d c o m d i s t r i b u t e dc o m m o no b j e c tm o d e l 分布式公共对象模型 r m ir e m o t em e t h o di n v o c a t i o n 远程方法调用 j 2 e ej a v a 2e n t e r p r i s ee d i t i o n j a v a 2 的企业级开发平台 c o r 卧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 公共对象请求代理体系 o m g o b j e c tm a n a g e m e n tg r o u p对象管理组织 g i o pg e n e r a li n t e r _ 0 明p r o t o c o l 标准通信协议 i i o p i n t e r n e ti n t e r - o r bp r o t o c o l 互联网o r b 间通信协议 i d li n t e r f a c ed e f i n i t i o nl a n g u a g e 接口定义语言 p q 盎p o r t a b l eo b j e c ta d a p t e r 可移植对象适配器 c 0 s s c o m m o no b j e c ts e r v i c e ss p e c i f i c a t i o n 对象服务规范 s i is t a t i ci n v o c a t i o ni n t e r f a c e 静态调用接口 d s i d y n a e i cs k e l e t o ni n t e r f a c e动态框架接口 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动态调用接口 s t u b 客户桩 s k e l e t o n l 服务端框架 i o r i n t e r - - o p e r a b l eo b j e c tr e f e r e n c e可互操作对象引用 q o s q u a l i t yo fs e r v i c e服务质量 n 州 t e l e c o m m u n i c a t i o nm a n a g e m e n tn e t w o r k电信管理网 c n e t w o r km a n a g e m e n tc e n t e r 网络管理中心 n m sn e t w o r km a n a g e m e n ts y s t e m 两络管理系统 0 l 啦 o p e r a t i o n s 龟m a i n t e n a n c em o d u l e操作维护模块 o m c o p e r a t i o n s m a i n t e n a n c ec e n t e r 操作维护中心 l 删c l o c a lo p e r a t i o n s m a i n t e n a n c ec e n t e r 地区操作维护中心 p o m cp r o v i n c eo p e r a t i o n s m a i n t e n a n c ec e n t e r 省级操作维护中心 n e n e t w o r ke l e m e n t 网元 o s i o p e ns y s t e mi n t e r - c o n n e c t i o n开放式系统互联模型 u e p u n i f i e de l e m e n tm a n a g e m e n ts y s t e mp l a t f o r m统一网管平台 c a f c o m m o na p p l i c a t i o nf u n c t i o n 公共应用功能 v 塑堕曼曼主丝三 赆fw o r k s t a t i o nf u n c t i o n工作站功能 姒fm a n a g e m e n ta p p li c a t i o nf u n c t i o n管理应用功能 e m fe l e m e n tm e d i a t o rf u n c t i o n网元中介功能 p s fp l a t f o r ms u p p o r t e df u n c t i o n 平台支撑功能 c m c o n f i gm o d u l e 配置模块 i r pi n t e g r a t e dr e f e r e n c ep o i n t 集成参考点 恕i le x t e n s i b l em a r k u pl a n g u a g e可扩展标记语言 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在本 学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发表或 公布过的研究成果,也不包含我为获得任何教育机构的学位或学历而使 , 用过的材料。与我一同工作的同事对本学位论文做出的贡献均己在论文 中作了明确的说明。 研究生签名:垄墨叁衫年7 月歹日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅或 上网公布本学位论文的部分或全部内容,可以向有关部门或机构送交并 授权其保存、借阅或上网公布本学位论文的部分或全部内容。对于保密 论文,按保密的有关规定和程序处理。 研究生签名:堑主查;- 4 年7 月歹目研究生签名:迢苎查年7 月j 目 硬士论文 基于c o r b a 的数据交换技术的研究与实现 1 绪论 1 1 课题研究背景 随着i p 网络的飞速发展,网络类型不断增加,不同网络之间的业务也在不断融 合。面对日益复杂的网络,我们需要一个系统来完成对网络的管理和支撑,即网络管 理系统。目前的网络管理系统面临着许多挑战,平台的异构性便是其中之一,网络管 理者需要以某种方式实现对被管理领域中各种异构网络的全面管理。 在目前的第三代移动通信网中,各个移动运营商都陆续引进和自主开发了众多的 网管系统。由于不同的开发商采用不同的技术和管理协议,不可避免地带来网络协议 互不兼容、管理信息不能互通、缺乏对整个网络的综合管理、管理内容庞杂、操作界 面多样等问题。在这种情况下,综合网络管理的问题也就随之变得突出了 在这种异构体系下,主要存在以下一些问题: 首先是互操作性的问题,在开发过程要考虑网络中不同硬件平台、操作系统 和通信协议的影响,以及网络中各个主机出现差错时的检测与恢复。同时, 设计时还要考虑通信的延迟和可能的拥塞等。 其次是平台的兼容性问题,即应用程序跨平台的移植。在同一网络中,不同 平台的数目越多,情况就会越复杂。 再者,由于软硬件平台以及通信协议等方面的差异,使得分布式系统的维护 变得十分复杂。 针对异构体系结构中存在的这些问题,需要寻求一种独立于平台的模型和抽象, 同时在不牺牲太多性能的情况下,尽可能的隐藏底层的复杂细节。于是一种技术随之 出现,这种技术建立在面向对象技术的基础上,能够支持异构多平台基础结构的集成, 这就是分布式对象技术。 分布式对象技术是伴随网络而发展起来的一种面向对象的技术,指在分布式异构 环境下建立应用系统平台和对象构件,在应用系统平台的支撑下,开发者可以将软件 功能包装成更易管理和使用的对象。分布式对象技术采用面向对象的多层客户服务器 计算模型,将分布在网络上的全部资源都按照对象的概念来组织。分布式对象存在于 网络的任何地方,可被远程客户应用以方法调用的形式访问,每个对象都有定义明晰 的访问接口。分布式对象使用的程序设计语言和编译器对客户应用透明,分布式对象 在网络中的具体位置以及运行的操作系统也是对客户应用透明的。同时分布式对象具 有动态性,可以在网络上到处移动。服务器中的分布式对象不仅能够被访问,而且自 身也可能作为其他对象的客户。在分布式对象技术中,客户与服务器的划分是相对的 或多层次的支持客户应用访问异地分布式对象的核心机制称为o r b ,o r b 如同一条总 线把分布式系统中的各类对象和应用连接成相互作用的整体。 1 硕士论文 1 2 分布式对象技术的发展现状以及应用前景 目前的各种分布式对象技术中,对象之间的通信都是基于c s 模式的。由于分布 式对象需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下 的通讯服务,我们将这种通讯服务称为平台。这些平台可向上提供不同形式的通讯服 务,在这些基本的通讯平台之上,可构筑各种框架,为应用程序提供不同领域内的服 务。平台为上层应用屏蔽了异构平台的差异,因此,基于分布式对象技术开发的应用 程序具有良好的可扩充性、高可用性、易管理性和可移植性分布式对象技术可以在 不同机器的对象间相互传递消息,共同协作实现系统功能。目前,比较流行的分布式 对象技术主要有m i c r o s o f tc o m d c o m 、j 2 e e r m i 和c o r b a 技术。 c o m 是微软w i n d o w s 操作系统的一部分,c o m 定义了基本类集合,以及用于构造和 动态链接对象的一种机制,c o m 还提供了适用于构件的基础对象模型,所有的c o m 对象 都需要实现其行为,这些行为使得软件构件即插即用。 d c o m 是微软的对象代理器,它是c o m 的一种扩充并把由c 0 m 引入的编程模式扩展到 了跨网络的工作环境,d c o m 通过使用远程过程调用来提供跨网络的通信。客户机能访 问在远程机器上的d c 0 m 对象,而不需要对网络进行特殊的编码,另外客户机也能通过 创建一个新的d c o m 对象的映射来指定被访问的远程主机。 另一种分布式对象技术j 2 e e ,利用j a v a 2 平台简化企业解决方案的规划和开发, 是管理相关复杂阅题的体系结构。j 2 e e 降低了多层应用程序开发的费用和复杂性,提 供了对现有应用程序的有力支持。同时,j 2 e e 的远程方法调用r m i 可以对自描述对象 进行序列化,跨平台且易于使用,但通信双方必须都使用j a v a 语言,这样一来,对象 实现与通信程序紧密相关,对于本地通信可能影响不大,但对于远程跨平台、跨系统 的通信就会出现很多需要解决的问题。 o m g 是一个至今包含9 0 0 多个组织的联合协会,o m g 于1 9 9 1 年发表c o r b a l 1 ,一直 到c o r b a 3 0 ,c o r b a 给出了一个在多种环境下面向对象的编程范例:在c o r b a 下的每一 个应用,无论它是运行在客户端还是服务器端,都是作为一个对象来对待的。c o r b a 体系中的核心成分是对象请求代理o r b ,它负责将客户机的需求传递到本地或远程服 务器上并将结果返回,在c o r b a 对象的通信中起到一个“桥梁”作用。换句话说,c o r b a 的c l i e n t 对象和s e r v e r 对象不直接联系,而是c l i e n t 和o r b 进行交互,由o r b 负责寻找 服务器对象并且调用服务器对象的方法。此服务器对象可能在不同的o r b 域上,这时 c l i e n t 请求就需要从一个o r b 域传送到另一个o r b 域,这种o r b 之间的通信可以在多种 流行通信协议之上实现。在t c p i p 上,来自于不同开发商的o r b 用i i o p 协议进行通讯, 这是c o r b a 2 0 标准的一部分。c o r b a 客户机也是通过接口与服务器组件进行通信的, 接口中存放了服务器组件的调用方法和可用函数。c o r b a 中这些接口是用标准的与编 2 硕士论文 基于c o r b a 的散据交换技术的研究与实现 程语言无关的接口定义语言来描述,通常情况下利用不同的编程平台的i d l 编译器 对i d l 文件进行编译,根据接口定义自动生成客户桩程序和服务端框架程序,用以完 成远程调用参数及其返回值的打包解包和与0 r b 通讯的细节嘲。 无论是m i c r o s o f tc o m i ) c o m 、1 2 e e r m i 还是c o r b a 技术都提供给开发者一种像本 地调用一样的标准的远程调用方法,多数情况下采用某种接口定义语言来实现。由编 译器产生的代码负责按发送方的格式接收数据,并且将其表示成接收方所需的格式。 但对于网管系统来说,由于c o m ,d c o m 的接口定义语言不支持继承以及缺乏对u n i x 平台 的支持,同时,n r 的网络稳定性还有待于提高,因此,在c o m d c o m 规范上实现电信 管理网的应用还没有得到广泛的应用。对于j 2 e e ,由于实现语言单一,主要集中在j a v a 平台,因此,目前在电信管理网的应用中也不能得到很好的实现。而c o r b a 具有支持 多种现存语言的优势,可在一个分布式应用中混用多种语言,支持分布式对象,提供 高度的互通性。另外,c o r b a 规范虽然目前还处于不断完善之中,但它与j a v a 的集成 形成了j a v ai d l 技术,j a v ai d l 在j 8 v a 平台上增加了c o r b a 的功能,提供了基于标准 的互操作性和互连接性,它已作为j a v a 企业计算a p i 集的一部分,为进行企业异构计 算中无缝的互操作和可连接提供了保证。因此,利用c o r b a 技术进行异构体系下的集 成开发逐渐成为当前企业级应用开发的主流技术。 1 3 本文的课题来源,研究内容以及结构安捧 论文课题来源于中兴通讯公司的研发项目z x c 0 m c3 g c n ,论文涉及中兴通讯公司 的c d m 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 的概念,系统原理和体系结构,并进一步介绍了 c o r b a 规范和c o r b a 的命名服务,事件通知服务等。 第三章:c o r b a 技术在数据交换应用中的实现机制。对c o r b a 技术的具体实现机制 进行研究,包括i d l 到j a v a 的映射机制,多p o a 机制以及开发c o r b a 应用程序的步骤等。 第四章:基于c o r b a 的数据交换技术在网管系统中的实现。以网管系统中的配置 模块为例,介绍了c o r b a 技术的实现。 硕士论文 基于c o r b a 的数据交换技术的研究与实现 2 1c o r b i 技术概述 2 1 1c o r b a 概念及特点 c o r b a ,即公共对象请求代理体系是对象管理组织o m g 为解决不同软硬件产品之 间互操作而提出的一种解决方案。简单的说,c o r b a 是一个面向对象的分布式计算平 台,它允许不同的程序之间可以透明的进行互操作,而不用关心对方位于何地、由谁 来设计、运行于何种软硬件平台以及用何种语言实现等“1 。 c o r b a 因为具有良好的分布式处理性能在网管领域得到了积极的应用。c o r b a 技 术本身具有跨平台和多语言支持的优点,为多厂家、多版本网管系统的协同管理提供 了可能。c o r b a 的技术特点如下: 面向对象的技术 c o r b a 是一种解决进程问通信的中间件,它采用面向对象技术,为异构环境中实 现对象之间的互操作提供支持。 引入了对象请求代理o r b o r b 是c o r b a 的一个重要核心,用于建立对象之间客户服务器关系的中间体, 不同的软件组件可以通过o r b 相互通信。o r b 通常使用的i i o p 协议,将t c p i p 作 为其下层传输协议,以实现o r b 之间的互连。i i o p 消息的传输是基于t c p i p 的码 流传输,具有面向连接和可靠的特点。 客户服务器程序的完全分离 c o r b a 的客户与服务器之间是松耦合的联系,在调用方式保持不变的前提下,服 务器可以自由地修改或升级,客户程序也可以修改或升级,而无须通知对方。 基于已有的系统并屏蔽实现细节 c o r b a 技术可以高效利用网元管理级系统的已有资源,使它们不再成为“孤岛” 系统,解决了n m s 应用开发过程的追切要求,并且使新系统尽量少了解已有系统的实 现细节。 c o r b a 命名和通知服务 通过c o r b a 命名服务对系统拥有的对象进行注册,给对象一个名字以便通过该名 去寻找对应的对象引用。利用c o r b a 命名服务,合理划分层次结构,可做到分区域、 有条不紊地表示t m n 中的不同管理对象和管理资源。c o r b a 还定义了提供松耦合传送 通信的通知服务,它允许多个对象之间异步通信,将数据在客户和服务器之间传递, 同时还可为特定的客户提供感兴趣的数据,这点有助于解决网元设备的紧急告警和性 能数据的上报。 5 c o r b a 技术硕士论文 目前,c o r b a 技术在电信领域中得到了越来越多的应用,它主要是由以下因素决 定的: 首先,目前电信运营商在设计企业i t 系统时所面i | 缶的主要问题是电信业务的分布 性和大规模扩展能力,为了提供远距离或全球范围的通信,网络部门之间必须进行有 效的集成和互操作。 其次,运营商需要不断地提供新的服务以适应分布式处理需求,例如视频会议、 i n t e r n e t 技术、点播服务或交互式服务等。 再者,c o r b a 的技术特点也为其在电信领域中的应用提供了方便,如c o r b a 技术采 用层次化的系统结构,可以使应用系统的结构更加清晰,便于实现和维护。采用基于 软构件的技术,可以迸行应用的快速构造,提高系统的可靠性及快速开发能力。采用 软总线结构,不仅能够支持应用集成框架的建立,满足协同工作的需求,而且建立了 多层次的软构件技术,更加便于应用领域框粲以及领域构件的开发,从而满足电信综 合业务的快速构造和灵活部署,真正做到“即插即用”。同时,基于c o r b a 技术,可以 方便地实现系统的可移植性、互操作性和分布透明性,方便地进行系统的扩展和升级。 应该说,c o r b a 技术对于n g n ,尤其在网络服务层提供了一种比较理想的解决方案, 同时在提供标准应用接口上也提供了一种很好的选择。 2 1 2c o r b a 体系结构与原理 在c o r b a 系统中,所有的应用程序都封装成对象,其接口定义了对象可提供的操 作,客户方只需知道目标对象及其接口,就可获得目标对象提供的服务。c o r b a 提供 了一个集成框架,应用程序只要给出用接口定义语言书写的接口,就可插入框架,与 其他对象互操作。 c o r b a 的结构基础是o m g 的核心对象模型,部件作为对象,以客户的身份通过封装 的接口提出请求,并获取服务对象所提供的服务,形成协同工作的系统。而其中的o r b 最基本的功能就是对应用程序或是其他o r b 的请求予以响应,保证各个对象之间的通 信。 如图2 1 i 是c o r b a 的体系结构图“1 ,本文在2 2 节中将会对体系结构中的各个部 分进行具体介绍。 c o r b a 工作的基本原理是:截获客户的请求,并负责找出实现其请求的服务对象, 传送参数及调用方法给服务对象,并负责返回结果。 c o r b a 的工作流程如图2 1 2 所示: 6 硕士论文基于c o r b a 的数据交换技术的研究与实现 j 燮li r 墨il 笪l ,_ _ _ _ _ i j _ _ _ _ _ _ _ _ _ _ - 一j _ _ _ _ o 囝。脚嘲cl 骶e 蛾娌o s t a n d a r d p r o t o c o l 图2 1 - lc o r b a 体系结构圈 图2 1 2c o r b a 工作流程示意图 从图2 1 2 中可以看出,客户向服务端的对象实现发出事务请求,其中客户是欲 对服务对象发出方法请求的实体,服务对象应包括该方法的数据资源以及实现代码。 对象请求代理的作用就在于定位服务对象,接收客户发出的服务请求并将服务对象的 执行结果返回给客户请求发出后,客户对象采用轮询等方式以获取服务对象计算的 结果。 按照客户提出请求的方式可以将c o r b a t 作方式分为两种:静态调用方式和动态 调用方式。 在静态调用方式中,客户端首先通过s i i 接口调用相应的服务,这里s i i 接口是指 从i d l 文件映射到客户端相应编程语言的客户桩程序s t u b ,s t u b 同客户端程序一同编 译到客户方应用中。s t u b 中包括了代理对象的定义和实现,代理对象的定义与i d l 一 样,包括对象名字,可用的操作和描述等,代理对象的实现封装在代理对象的内部。 代理对象本身并不执行客户请求的实现而是将客户的请求打包转交给o r b ,由o r b 负责 7 c o r b a 技术硕士论文 定位对象实现,传递对象请求到服务方o r b 。服务方的o r b 发现请求后将请求传递给o a 。 由0 a 负责将对象的请求通过s s i 传递给相应的对象实现。同时,如果请求有返回,则 0 a 将返回值传递给o r b ,o r b 负责将返回传递给客户方o r b ,客户方o r b 通过s t u b 中的代 理将返回值以客户方的要求格式返回给客户方。 在动态调用方式中,客户方无需在编译时了解接口的相应信息,而是通过调用d i i 接口动态生成请求对象,请求对象通过接口库中的接口信息调用可用的操作,请求被 传递给o r b 核心以定位对象实现,然后客户方o r b 核心将请求交给服务器方o r b 核心, 服务器方o r b 核心将请求传递给0 a ,0 a 将请求通过d s i 传递给对象实现,其余与静态调 用方式中的过程类似。 动态调用相对于静态调用方式有以下优点: 请求方式灵活,可以动态地确定可用对象及其相应的接口和操作。 可移植性好,由于无需将s t u b 编译到客户方应用中去,i d l 接口的变更不会 对客户端程序造成影响。 同时,由于附加操作也给动态调用带来了缺点: 使用复杂,在静态方式下,s t u b 中的信息就是客户需要了解的全部,客户通 过s t u b 与服务方交互,整个过程由代理完成。而在动态方式下,客户必须自 己动态的构建整个请求过程并发送出去。 运行速度较慢,在静态方式下,类型信息确定,客户方以一对一的方式直接调 用s t u b 中的接口和操作。而在动态方式下,客户方必须动态确定类型信息, 同时查询接口库以获得接口信息,不可避免影响运行速度。 综上所述,只有将静态方式和动态方式结合起来使用才会达到理想效果。对那些 服务对象接口基本不变的对象使用静态方式,露对那些接口会经常变动的服务对象则 采用动态调用的方式。 2 2 啪 规范 c o r b a 是当前分布式对象技术的工业标准,也是为解决分布式异构环境的异构性、 互操作性、可移植性和可重用性而提出的接口标准和规范。c o r b a 标准主要分为三部 分:接口定义语言i d l 、对象请求代理0 r b 以及o r b 之间的通信协议i i o p 等。 2 2 i 接口定义语言i d l i d l 是一种描述性语言而不是程序设计语言,只描述对象的接口操作及其数据参 数,不描述具体实现。同时,i d l 独立于编程语言,但可以映射为多种编程语言:如 c ,“+ ,j a v a ,c o b o l 等,应用时由i d l 编译器来实现从i d l 语言到具体编程语言的 8 硕士论文基于c o r b a 的数据交换技术的研究与实现 映射啪 i d l 接口规范由i d l 的各种元素及其间的关系所组成,i d l 的主要构成元素包括: 模块( m o d u l e ) 接口( i n t e r f a c e ) 属性( a t t r i b u t e ) 操作( o p e r a t i o n ) 上下文( c o n t e x t ) 数据类型( t y p e ) 常量( c o n s t a n t ) 异常( e x c e p t i o n ) 值类型( v a l u e t y p e ) i d l 元素间的包含关系如图2 2 1 所示: c o n t a i l l 口e n tr e l a t i o r l s h i p 2 2 2 对象请求代理结构o r b 图2 2 1i d l 元素的包含关系 o r b 是分布式对象系统中的对象间发送和接收消息的“软总线”,它可以简化对 象间的通信,使之以透明的方式实现互操作。 o r b 提供了如下透明通信机制: 对象位置透明一一客户不需要知道目标对象的位置,它可以是在网络的另一台机 器上,或者属于同一台机器的不同或相同的进程。 对象实现透明一一客户不需要知道目标对象的具体的编程语言、其使用的操作系 统及硬件平台。 对象运行状态透明一一客户向目标对象发送请求时不需要知道目标对象的运行 状态,如果有必要,o r b 会将其自动激活,然后再把请求发送给它。 9 c o r b a 技术硕士论文 通信机制透明一一客户不需要了解o r b 所使用的通信机制,所有调用均可遵循统 一的方式进行。 在传统的基于c s 模式的应用程序开发过程中,项目开发人员遵循公开的标准或 自由设计模块间的协议,这样的协议依赖于网络类型、实现语言、应用方式等。引入 o r b 后,客户只要遵循服务对象的对外接口标准,向服务对象提出业务请求,由o r b 在分布式对象间建立客户一服务对象关系。 总结起来,o r b 的作用包括: 接受客户发出的服务请求,完成请求在服务对象端的映射 自动设定路由寻找服务对象 提交客户参数 携带服务对象计算结果返回客户端 o r b 通过一系列接口和接口定义中说明的要实现操作的类型,确定提供的服务和 实现客户与服务对象通信的方式。通过i d l 接口定义、接口库或适配器的协调,o r b 可以向客户机和具备服务功能的对象实现提供服务。o r s 可以实现如下三种类型的接 口: 对于所有的0 硒实现具有相同的操作 针对特定类型对象的操作 与对象实现类型有关的操作 基于o r b 可以实现不同类型的接口,一个客户端请求可以同时访问多个由不同 o r b 实现通信管理的对象引用。在实际应用中,只要遵循公共的o r b 体系结构,程序 设计可以选择o r b 的多种实现方式,其中包括: 客户和实现驻留( c l i e n t - i m p l e m e n t a t i o nr e s i d e n t ) o r b 采用驻留在客户和服务对象实现程序的方式实现o r b 。在这种实现方式下,客户 端可以通过客户桩s t u b 程序,以位置透明的方式向具体的对象实现提出服务请求, 实现客户与服务对象的通信。 基于服务( s e r v e r b a s e d ) o r b 客户对象和对象实现均可以与一个或多个服务对象进行通信,服务对象的功能是 将请求从客户端发送到对象实现。在这种方式中,o r b 的作用是完成客户对象与对象 实现的通信,为对象之间的交互提供服务。 基于系统( s y s t e m b a s e d ) o r b 在这种实现方式中,o r b 被操作系统认为是系统所提供的一项基本服务,由于操 作系统了解客户方与服务对象的位置,因而可以充分地实现o r b 功能的优化 基于库( l i b r a r y b a s e d ) o r b 如果认为对象实现可以共享,则可以将实现功能放入实现库,即i m p l e m e n t a t i o n 1 0 硕士论文基于c o r b a 的数据交换技术的研究与实现 r e p o s i t o r y 中,从而创建基于库的o r b 。 2 2 3 客户桩s t u b 和s k e l e t o n 服务框架 s t u b 位于客户端,由i d l 编译器编译i d l 文件生成,其功能类似一个客户代理。 s t u b 提供了为客户有效创建对象并发送请求的机制,提供了数据结构的编解码和远 端方法调用的a p i 封装嘲。 s k e l e t o n 位于服务器端,由i d l 编译器编译i d l 文件生成,其功能是负责发送 一个操作请求给能够实现此操作的服务对象,s k e l e t o n 提供了将请求发送给服务对 象的机制,以及对象寻址的部分功能。 2 2 4 对象引用和对象实现 在c o r b a 应用中,方法调用与方法实现是分离的。客户方应用程序向服务器应用 程序发出操作请求之前,必须首先获得服务器应用程序的对象引用。对象引用是一个 用来标识、定位和赋给一个c o r b a 对象的句柄。 对象引用包括了一些o r b 必须的信息,以便建立客户方和目标对象之间的通信。 标准的对象引用格式,也称为可互操作对象引用i o r ,是一个数据结构,它提供了关 于类型、协议支持和可用o r b 服务对象的信息。每个i o r 指定一个或多个所支持的协议, 对于每个协议,i o r 包括那个协议所专有的信息嘲。 一个c o r b a 对象可以有多个i o r ,i o r 相当于一个指针,而实际指向的只有一个 c o r b a 对象。i o r 中包含了对象的网络地址信息、相应的对象适配器信息以及对象的 唯一标识,但定位机制与具体的平台有关,所以i o r 中的部分信息只有相应的平台才 能完全解读。 对象引用是客户机获得目标对象的唯一途径,它对于编程人员是透明的。对象引 用是由服务器以下面几种方式发布: 以某些已知的服务程序公告一个引用,比如命名服务或交易服务。 将对象引用转换成一个字符串并将它写在一个文件中来公布一个对象引用。 通过其他可以外传的方式来传送一个对象引用,比如,用电子邮件发送或在 w e b 网页上公布。 对象实现又叫伺服程序,是与具体语言相关的程序实体,用来实现个或多个 c o r b a 对象,它为c o r b a 对象提供函数体或实现。 对象引用和对象实现的关系可用图2 2 2 表示: c o r b a 技术 硕士论文 对象引用 厂回 l l c h e n t i il l j 2 - 2 5o r b 问通信协议i i o p 图2 2 2 对象引用和对象实现的关系 i i o p 是直接运行在t c p i p 连接上的g i o p 的具体映射,是因特网上的o r b 对象之间 的通信协议。 g i o p 是o r b _ 互操作的通用协议,并不是一个可直接用于o r b 之间进行通信的具体协 议,它仅是描述特定的协议如何进行创建以适用于g i o p 的框架。g i o p 可以派生出各种 具体的o r b 互通协议,g i o p 可以映射到各种不同的传输层之上,并遵循所有这些映射 所共有的协议元素“】。 g i o p 规范包含以下内容跚: 公共数据表示( c o m m o nd a t ar e p r e s e n t a t i o n ,c d r ) 的定义 该数据定义用于将o m gi d l 数据类型映射为o r b 之间的桥接可以理解的二进制数 据类型。 g i o p 消息 在c o r b a 规范中定义了用于实现o r b 之间通信的七种类型的消息,它们分别是清 求、响应、请求取消、请求定位、响应定位、连接关闭和消息错误。通过定义这些消 息,使得除了能够在不同的o r b 间支持c o r b a 规范中定义的全部功能外,还能够支持 对象实现的定位、对象的动态激活和通信资源的动态管理。 g i o p 消息传递 g i o p 消息传递用于规范在网络中传递应用数据和g i o p 消息的方式。g i o p 消息传 递具有面向连接、保持字节流的传输顺序、确保可靠传输、传输内容的长度无关、达 到t c p i p 协议规范的初始化性能等特点。 g 1 0 p 传输规则 1 2 硕士论文基于c o r b a 的数据交换技术的研究与实现 g i o p 规范对任何具体的、可用来传输g i o p 消息的网络传输层做了规划。规范也 描述了怎样管理连接和限定g i o p 消息的顺序。 当服务对象位于不同的服务器上时,c o r b a 通过i i o p 远程调用服务对象。如 图2 2 3 所示: 图2 2 3i i o p 的呼叫过程 2 2 6 动态调用接口d i i 和动态框架接口d s i l e c o n d i i 通过动态的方式调用接口中的操作或属性,适于服务功能容易变化的一些应 用。客户桩s t u b 和d i i 都是客户端发送客户请求与o r b 通信时客户方的代理。所不 同的是客户桩是为客户提供的静态调用方式,这种方式是基于客户预先知道服务器所 提供的服务对象的接口信息,客户端仅需要把用户的请求进行编码,通过o r b 发送到 对象的实现端上。 d s i 是通过动态的方式提供接口中定义的服务,与d i i 相对应。客户桩s t u b 和 动态调用接口d i i ,s k e l e t o n 服务框架和动态框架接口d s i 是服务器方用来处理从 客户端通过o r b 和0 a 传送来的请求,定位该请求的实现方法。其中,s k e l e t o n 服务 框架是静态实现方式。 动态调用接口d i i 和动态框架接口d s i 是用来支持客户在不知道服务器对象的接 口的情况下也能调用服务器对象。 一个增加了d i i 和d s i 的c o r b a 调用模型如图2 1 1 所示:其中i n t e r f a c e r e p o s i t o r y 是接口存储库,用于存储接口的描述信息,为动态查询和调用提供服务。 i m p l e m e n t a t i o nr e p o s i t o r y 是实现存储库,它包含服务器的详细信息,o a 需要这个 信息来自动激活服务器。 2 乞7 可移植对象适配器p o a 对象适配器o a 是o r b 与对象实现之间的适配层,直到c o r b a2 1 版本,对象管 理组织o m g 在c o r b a 中定义的唯一标准对象适配器还只有基础对象适配器b o a ,它为 创建不同类型的c o r b a 对象提供了基本方法,但是并没有解决不同o r b 实现之间的移 植问题。新的标准对象适配器即可移植对象适配器p o a ,它使开发人员可以创建对象 实现,并且能够在不同开发商提供的不同o r b 产品间很容易的跨越使用。 p o a 的构建必须满足三项基本要求: 创建允许客户机对对象寻址的对象引用。 确保每个目标对象都有一个伺服程序对其具体化。 负责将服务器端o r b 所调度的请求传送给以对象实现为目标对象的伺服程 序。 概括下来,p o a 的基本功能包括: 产生和解释对象引用。 对象实现的注册和请求的权限鉴别。 对象实现程序的激活与去激活。 单个c o r b a 对象的激活与去激活,通过s k e l e t o n 进行相应的方法调用。 一个给定的p o a 可以支持一个或者多个策略。策略是一个与应用相关的p o a 对象, 它规定了在对象实现间共享的一个或者多个特性,它影响o r b 处理对象请求的方式。 p o a 包含以下策略: 对象生存期策略 t r a n s i e n t :暂态对象,由创建它的p o a 决定,用于临时对象的场合。它的生命 周期不能超过刨建它的p o a 。 p e r s i s t e n t :持久对象,可在多个进程的生存期内存在。 唯一性策略: i 】n i q u e _ i d :每个对象对应不同的伺服。 m u l t i p l ei d :多个对象对应相同的伺服。 线程策略 线程策略决定p o a 使用的线程模型。不同c o r b a 产品线程策略的可选项并不是完 全一致的,主要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《儿童疫苗接种》课件
- 黄石承接钢结构施工方案
- 2025至2031年中国塑料工艺钟行业投资前景及策略咨询研究报告
- 2025塔机租赁合同签订要点与防范工程骗局
- 2025标准食品买卖合同范本
- 2025至2031年中国三工位管端加工机行业投资前景及策略咨询研究报告
- 2025合同模板采购及供应合同
- 2025至2030年中国造粒机衬板数据监测研究报告
- 2025至2030年中国缝编毡数据监测研究报告
- 宣城网吧消防施工方案
- ABB变频器ACS510说明书
- 城轨道交通接触网检修工职业标准
- 汽车4S店维修结算清单
- QC成果减少隧道工程Ⅳ类Ⅴ类围岩超挖量
- LY/T 1763-2008沿海防护林体系工程建设技术规程
- 校园网站设计论文
- GB/T 17213.4-2015工业过程控制阀第4部分:检验和例行试验
- GB/T 13140.2-2008家用和类似用途低压电路用的连接器件第2部分:作为独立单元的带螺纹型夹紧件的连接器件的特殊要求
- 浙江省医疗机构麻醉药品、精神药品管理实施细则
- 行政事业单位日常公用支出管理办法
- 2023年山西晋勤科技文化有限责任公司招聘笔试题库及答案解析
评论
0/150
提交评论