




已阅读5页,还剩54页未读, 继续免费阅读
(计算机软件与理论专业论文)基于corba的集成管理应用分布式软件框架.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随麓i n t e r n e t 的,“泛运1 3 ,将应i j _ ;l ! j 展到蝎域州、广域恻甚至i n t e r n e t1 - 已 经成为企业的普遍需求。这类应用需要克服的一个主要问题足,如何在硬件平台、 操作系统和网络协议都可能异质的环境下开发出大规模的分布式应用。 c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ) 是对象管理组织于1 9 9 0 年提出的一个中间件工业规范,其核心是o r b ( o b j e c tr e q u e s tb r o k e 0 对象请求 代理软件总线。o r bi l :不同类型的软件划织得以通过它来进行相互通信和互操 作,从而为建立大型复杂的分布式应用系统提供了一种新的思路。 本文研究了c o r b a 规范和o r b 的体系结构。在此基础上,针对各行业在 网络环境下对数据和应用资源的整合和集成管理的广泛需求,提出了一个基于 c o r b a 技术的具有良好可扩展性的分布式软件框架。该框架把系统划分成数据 采集和适配管理、对象管理、拓扑管理、目志管理、安全和认证管理、数据库持 久化支持、事件管理等功能模块定义了各模块的主要接口和模块间的交互关系, 由此构建出个满足集成管理类应用的基本功能需求的分布式系统,为该类应用 系统的构建提供了一个通用的基础平台和软件解决方案。在项目中实现了一个基 于该框架的综合网络管理系统,该系统提供对网络系统中各种不同设备提供商生 产的网络设备的综合故障管理功能,屏蔽了各网络设备上的差异性,提供网络运 营商对系统中各种设备一个综合与统一的故障管理方式。通过对该实例的分析, 也深入探讨了框架在具体应用时的设计、实现和部署问题。最后该框架也是对分 布式环境下的系统设计的个探讨,展示了如何在跨平台、多语言的环境中构建 一个稳定、可扩展的分布式应用系统。 关键字:c o r b a ,中问件,集成管理,分布式软件框架 a b s t r a c t w i t ht h ed e v e l o p m e n to fi n t e r n e t ,i ti sa g r e a td e m a n df o ra p p l i c a t i o n st ob ea b l e t ow o r ki nl a n 、w a no re v e nt h ew h o l ei n t e r n e te n v i r o n m e n tw h i l et h i sh a st of a c e t h eh e t e r o g e n e o u sp r o b l e mo f h a r d w a r e 、o p e r a t i n gs y s t e ma n dn e t w o r kp r o t o c o l c o r b a ( 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 ) i sa ni n d u s t r yc r i t e r i o n , p r o p o s e db yo b j e c tm a n a g e m e n tg r o u pi n 19 9 0i t sc o r ec o m p o n e n ti st h eo r b ( o b j e c tk e q u e s tb r o k e 0s o f t b u s ,w h i c hm a k e si tp o s s i b l ef o rd i f f e r e n tc a t e g o r i e so f o b j e c tc o m p o n e n t st oc o m m u n i c a t ea n di n t e r o p e r a t ew i t he a c ho t h e r t h u si tp r o v i d e s an e ww a yf o rb u i l d i n gl a r g ea n dc o m p l e xd i s t r i b u t e da p p l i c a t i o n s t h i sd i s s e r t a t i o nd i s c u s s e st h eb a s i cs y s t e m a t i cf r a m e w o r k ,c o m p o s i n ga n d s e r v i c e so fc o r b at h e nad i s t r i b u t e df r a m e w o r kb a s e do nc o r b ai sp r o p o s e df o r t h eg r e a td e m a n d i n g st h a te n t e r p r i s e sf a c e dt oi n t e g r a t ea l lt h e i ra p p l i c a t i o n sa n dd a t a r e s o u r c e st h ef r a m e w o r ki sd i v i d e di n t os e v e r a lf u n c t i o n a lm o d u l e s ,w h i c hi n c l u d e d a t ai n t e r g r a t i o na n dm e d i a t i o n ,m a n a g e m e n to b j e c t ,t o p o l o g ym a n a g e m e n t , d a t a b a s em a n a g e m e n t ,l o gm a n a g e m e n t ,s e c u r i t ya n da u t h o r i z a t i o nm a n a g e m e n t a n de v e n tm a n a g e m e n tm o d u l e ,t h e i rf u n c t i o n a l i t i e sa n db a s i ci d li n t e r f a c e si sa l s o d e s i g n e dt op r o v i d et h es u p p o r tf o rt h ec o m m o nr e q u i r e m e n to f s u c ha p p l i c a t i o n s t h e f r a m e w o r kh a sag o o ds c a l a b i l i t yw h i c hi ss h o w ni nt h ef o l l o w i n ga p p l i c a t i o n e x a m p l eb a s e do nt h ep r o p o s e df r a m e w o r k ,t h ei m a p ( i n t e r g r a t e dm a n a g e m e n t a p p l i c m i o np l a t f o r m ) p l a t f o r m i t p r o v i d e sn e t w o r km a n a g e m e n tc o m p a n i e st h e a b i l i t yt oi n t e r g r a t ed i f f e r e n tc a t e g o r i e so fn e t w o r kd e v i c e si n t h e i rs y s t e ma n da c o h e r e n tw a yt od of a u l tm a n a g ef i n a l l yt h i sa r t i c l ei sa l s oad i s c u s s i o no nh o wt o b r i n gf o r t had i s t r i b u t e da p p l i c a t i o ns y s t e mw h i c hi sr o b u s ta n df l e x i b l eu n d e rt h e h y b r i dn e t w o r k e n v i r o n m e n t k e yw o r d s :c o r b a ,m i d d l e w a r e ,i n t e g r a t em a n a g e m e n t ,d i s t r i b u t e ds o f t w a r e f r a m e w o r k 第一章绪论 1 1 课题研究背景和内容 1 1 1 网络应用新需求及中间件技术 随着i n t e r n e t 的广泛运用,将应用扩展到局域网、广域网甚至i n t e m e t 上已 经成为企业和用户的普遍需求,以获取网络环境中更强大的计算能力和丰富的应 用和数据资源。对这类分布式应用的研究也已成为网络研究的新热点。然而在分 布式计算环境中,异构性是一个十分明显的特点,这也是构造分布式应用系统时 需要面对的最大的问题 1 :一个典型的分布环境中可包括有大型主机、u n i x 工 作站、p c 机和各种类型的专用设备等硬件平台;机器上运行着w i n d o w s 、u n i x 、 m a co s 、o s 2 、l i n u x 等各种不同的操作系统;各系统支持以太网、f d d i 、a t m 、 t c p i p 、n o v e l ln e t w a r e 或不同的r p c 系统等各不相同的网络通信协议;系统上 的应用程序更是基于c 、c + + 、j a v a 、c o b o l 、p y t h o n 等不同的程序设计语言。在 如此异构环境下要实现信息和应用的互通是十分嘲难的。因此,一个健壮的分布 式计算框架将为此类分布式应用开发带来极大的好处。 实际上,早在上世纪8 0 年代,人们就试图在计算机网络上部署全新的分布 式操作系统 2 】 3 。尽管产生了许多技术成果和实验系统,但却没有被用户和市 场所接受。面对现实情况一 :世纪9 0 年代,人们开始探时新的解决方案,研究 新的技术来支持在网络计算平台上部署分布计算环境的问题。其中中间件技术 4 5 是其中最重要的代表,得到了j 1 泛的研究和采纳。中间件是位于不同平台 ( 硬件和操作系统) 和多种应用之间的通用服务,这些服务具有标准的程序接口和 协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种 实现。 中间件技术的作用可以从图l 中间件的作用中看出,它起着一个中间层软 中国科学技术大学硕士论文基于c o r b a 的集成管理应用分布式软件框架 件总线的作用,提供不同的平台实现和应用之间的交互标准、规范和实现。行业 界普遍遵循这一技术路线,产生出了一系列行之有效的技术和广为用户接受的中 间件产品,根据它们在系统巾所起的作用和采用的技术不同,大致划分为以下五 种: 蛹 g 斡 赫悖 糨 图1 中间件的作用 ( 1 ) 数据库中间件( d a t a b a s em i d d l e w a r e ) 数据库中间件在所有的中问件中足应用最广。泛,技术最成熟的一种。一个最 典型的例子就是o d b c 6 】( 开放数据库互联标准) 。o d b c 是一种基于数据库的 中间件标准,它允许应用程序和本地或者远程的数据库服务器进行通信,并提供 了一系列的应用程序接口a p i ( a p p l i c a t i o n p r o g r a m i n g i n t e r f a c e ) 。当然,在多数情 况下这些a p i 接口都是隐藏在开发工具中,不被程序员直接使用。程序员在编写 数据库程序的时候,一般只需要在o d b c 中添加一个数据源,然后就可以直接 在自己的应用程序中调用这个数据源,而不用关心目标数据库的实现原理和实现 机制,甚至不必了解o d b c 向应用程序提供了哪些a p i 接口。 不过在数据库中间件处理模型中,数据库是信息存贮的核心单元,中间件完 成通信的功能,这种方式虽然是灵活的,但是并不适合于一些要求高性能处理的 场合。 ( 2 ) 远程过程调用中问件( r e m o t ep r o c e d u r ec a l l ) 远程过程调用( r p c ) 【7 】是另外一种形式的中间件,它在客户n 务器计算方 面,比数据库中间件又迈进了一步。r p c 方式已经存在了相当 支的时间,而且 沿用了传统程序的客户服务器编程模式:程序员就像调用本地过程一样在程序 中调用远程过程,启动远程过程的运行,然后将运行结果返回给本地程序。不仅 如此,远程过程调用还可以将程序的控制传递到远端的服务器当中去。远过程调 用的灵活性还体现在它的跨平台性上面,它不仅可以调用远端的子程序,而且这 2 多 b三两。旦记藻。虿黼 第一章绪论 种调用是可以跨越不同操作系统平台的,而程序员在编程时并不需要考虑这些细 节。r - p c 的灵活特性使得它有比数据库中间件更广泛的应用,它可以应用在更 复杂的客户i u e 务器计算环境中。 r p c 也有一些缺点,:i 三要是凼为它一般用于应用程序之间的通信,而且采 j j 的足同步通信方式此刈j :比较小型f _ l 勺简单应用还足比较适合的,凶为这些 应用通常不要求异步通信方式。但是对j 。一些大型的应用,这种方式就不是很适 合了,因为此时程序员需要考虑网络或者系统故障,处理并发操作、缓冲、流量 控制以及进程同步等一系列复杂问题。 ( 3 ) 面向消息中间件( m e s s a g eo r i e n t e dm i d d l e w a r e ) 消息中间件m o m 的优点在于能够在客户和服务器之间提供同步和异步的 连接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它相对于远 程过程调用更进一步的原因。另外,消息中间件不会占用大量的网络带宽,可以 跟踪事务,并且通过将事务存储到磁盘上实现网络故障时系统的恢复。但是和远 程过程调用相比,消息中间件不支持程序控制的传递,不过这种功能和它的优势 比起来却是无关紧要的。 消息中间件适用于需要在多个进程之间进行可靠的数据传送的分布式环境。 i b m 的m q s e r i e s ,m i c r o s o f t 的m s m q ,t a l a r i a n 的s m a r t s o c k e t s 可算作最典型的 消息中间件产品。它们用来解决异构环境下的组件问消息传送、通讯、数据库的 互访问和对象的互操作。 ( 4 ) 对象请求代理中间件( o b j e c tr e q u e s tb r o k e r ) 对象请求代理( o r b ) 是近年来才发展起来的一项新技术,它可以看作和编程 语言无关的面向对象的r p c 应用,被视为从面向对象过渡到分布式对象计算的 强大推动力量。从程序流程和运行模式上看,对象请求代理和远程过程调用有些 类似,小过对象请求代理可以包含比远程过程调用和消息中间件更复杂的信息, 并且可以适用于非结构化的或者非关系型的数据。 ( 5 ) 事务处理中间件( t r a n s a c t i o np r o c e s s i n gm o n i t o r ) 事务处理中间件是一种复杂的中间件产品,足针对复杂环境下分布式应用的 相关性和可靠性要求而实现的。它给程序员提供了一个事务处理的a p i 接口,程 序员可以使用这个接口编写商速而且可靠的分布式应用程序,即基于事务处理的 应用程序。 1 中国科学技术大举硕士论更基于c o r b a 的集成管理应用分布式软件框架 事务处理中间件向用户提供一系列的服务,如应用管理,管理控制,以及应 用程序间的消息传递等。常见的功能包括全局事务协调、事务的分布式两段提交、 资源管理器支持、故障恢复、离可靠性、网络负载平衡等等。 1 1 2 分布式对象计算技术的发展 传统的客户服务器体系结构是为局域网而设计的,它能为某些模式相对固 定的应用和相对稳定的数据需求提供服务。随着网络技术和面向对象技术的发 展,全球的服务器和数千万的r q j ) - 正在互棚连接起米,这就要求当胁的计算技术 发生变革以适应这一变化,从而满足一个几乎完全无序的超大规模的网络环境下 的互连和互操作。分布式对象计算技术就是在这样的背景下产生的。 分布式对象计算技术的基本概念是所谓构件( c o m p o n e n t ) 技术 1u 1 2 。构件 可以跨越平台、网络、语言、应用程序、工具、硬件而运行。随着i n t e r n e t 的发 展,可以预见新型的应用体系结构正在产生,其生成、创建、开发、运行和管理 的方式及其功能都与局域网的碰用程序不同。它将彻底改变软件开发的传统模 式。目前普遍认为在i n t e r n e t 网上开发未来的软件,应当以构件作为基本单位, 软件开发者可以一边在网上订购所需的构件,一边构造目标软件。而从网上购得 的构件,由标准软总线提供运行所需的各种服务。分布式对蒙计算技术追求的目 标是软件无缝连接,即插即用。构件不仅可以重复使用和提高效率,节省硬件资 源,还可以根据需要随时更换、增减系统中的模块增加系统灵活性。 目前分布式对象技术正处在工业标准形成阶段,其思想主要是基于对象请求 代理o r b 的中间件模型。m i c r o s o f t 公司提出的组件对象模型d c o m ( d i s t r i b u t e d c o m p o n e n to b j e c tm o d e l ) 【9 】、o m g ( o b j e c tm a n a g e m e n tg r o u p ) 提出的c o r b a ( 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 ) 【1 】规范以及s u n 公司推出的基于 j a v ar m i 限e m o t em e t h o di n v o c a t i o n ) 的e n t e r p r i s ej a v a b e a n s 1 0 三种构件标准构 成了目前三种主流的分布式对象计算技术。其中提出c o r b a 的o m g 组织是一 个拥有8 0 0 多家成员的非盈利性国际组织,得到了广泛的食_ q k n 用户支持,是分 布式对象计算领域最有影响力的技术。 1 。1 3 课题研究内容和意义 分布式对象技术是近年来最重要的软件技术进展之一,对其进行研究,了解 4 第一章绪论 其技术进展情况不仅具有理论意义,对软件系统的开发也具有重要的指导意义。 本文研究的课题正是采用分布式对象计算技术来解决目前很多企业所面临 的对其自身积累的各利,传统资源进行整合和集成管理的需求。一个人型龛业在其 自身的发展的各个阶段积累了很多孤立的基于各种平台的应用,而网络和分布式 对象计算技术的发展使得对这些资源进行集成和整合成为了企业新的需求和可 能,由此企业得以更有效的让各种系统相互合作来完成企业的各种工作。在文中 称这种类型的应用为集成管理应用,并针对这种应用提出了一个基于c o r b a 技 术的软件平台框架。框架划分和规划了系统的各个功能模块,主要包括数据采集 和i 适配模块、对象管理模块、拓扑管理模块、安全和认证模块、臼志管理、事件 管理和数据持久化管理等模块,并对各模块的基本功能进行了详细的描述,给出 了它们的主要的i d l 接口的定义。由此构建出一个通用的集成管理应用框架, 支持包括数据和应用集成、对象管理、管理前台设计、事件管理等集成应用的功 能需求。止类似的应用开发可以基于这个平台,把主要精力集中在应用具体业务 相关的管理对象建模、管理流程设汁问题上,通过在平台j 二增加新的功能模块来 迅速地构建出所需的集成管理应用系统。框架有着良好的可扩展性,为网络环境 下的类似集成管理应刚开发奠定了一个基础平台和分布式软件解决方案。在项目 中实现了一个基于该框架的综合网络管理系统,该系统对框架的各功能模块进行 了更具体的实现,并增添了一个故障管理模块来集成了网络运营商所管理的各种 不同网络设备,提供了运营商一个统一和综合的网络设备上的故障管理功能,包 括通用的对象管理像增加删除管理对象等、网络设备上的故障浏览和特定条件故 障查询、故障的前台拓扑提示以及故障详细信息查询等。该系统还可以扩充来支 持如配置管理、安全管理、性能管理和计费管理等网络管理功能。具有良好的系 统扩展性。系统也提供不同的网络管理人员,通过客户端管理界面对系统不同部 分的管理权限限制,和并发地对系统进行管理操作。同时框架也是对分布式环境 新的编程模式下系统设计的一个探讨,展示了如何在跨平台多语言的环境中构建 一个稳定、易于扩展的分布式应用系统。 1 2 论文结构安排 本文第二章对集成管理应用的需求和特点进行了分析,并比较了三神主流的 中国科学技术大学硕士论文基于c o i u 3 a 的集成管理应用分布式软件框架 分巾式对象中间件技术解决方案的优缺点;第三章中则着重分析和介绍了 c o r b a 技术规范;第四章中描述了框架的设计和模块的功能划分;第五章中介 绍了该框架在综合网络管理系统中的应用和实现;第六章对全文进行总结的基础 上做了些技术上的展望。 第二章集成管理应用的特点和方案选择 2 1 集成管理类应用的特点 传统应用大多是孤立设计的。由1 二设计时只考虑到应用本身的暂时需求导致 很多相关的应用最终在不同的系统平台上用各种不同的语言被实现。由此形成了 一个个分散的信息孤岛,特殊平台上的信息只能被该平台上的应用访问得到。而 i n t e m e t 的发展使不同系统平台上的应用和资源间的相互通信成为可能,这种条 件下企业把应用扩展到局域网、广域网甚至i n t e r n e t 上的需求也越来越强烈。企 业希望充分利用已有的正在运行的传统系统和系统中积累的各种重要企业信息 和数据资源,形成一个综合信息管理平台,不仅集成企业的各种计算能力,更让 企业信息得以在系统中畅通,形成一个整体决策和管理手段。在此称此种应用为 集成管理类应用。 集成管理是指:针对随着i n t e m e t 逐步增长且分布在不同的系统环境中的某 种资源( 比如网管设备,媒体文件,网络游戏) ,抽取出它们的共性,进行数据 表示和应用处理流程的建模,在此基础上设计出一些通用的管理操作方式以对这 帮 些资源进行集成和统一的管理,从而方便运营商对这些资源进行有效控制和更为 复杂的管理操作。这类应用往往具有如下的一些共同特点: 1 ) 资源分布在各种异质环境中,具有明显的分布式特点。由于i n t e r n e t 中软硬 件环境的多样和异构性,加上传统应用大多孤立设计,资源的这种分布式 特点不利于对它们进行有效的管理。而需要一种能够独立于软硬件平台的 技术能够统一地对这些分布式的资源进行访问和控制。 2 ) 资源问具有一定程度的相似性。由于关注的是同一类应用相关的资源,它 们在各系统巾虽然在细节定义和描述上由于历史和实现原因多少会有些差 异,但很多主体的概念和模型却是类似的。集成管理正式针对资源的这种 相似性基础而提出的一些通用的管理操作方式和流程,为运营商建立起一 7 中国科学技术大学硕士论文基于c o r b a 的集成管理应用分布式软件框架 个收集运营信息和进行有效调控与资源对象管理的基础管理平台。 3 ) 资源的分散性和异构性导致资源的管理也是分散和异构的。资源整合有利 于对网络上更大范围中系统上的资源进行更为便捷的获取和控制,以更为 宏观的方式对资源进行管理,并获取整个系统的运行信息。 这种应用首先面临的问题是如何解决分布式异构环境中的通信和互操作问 题。在文章绪论中,我们提到了三种主流的分布式对象计算技术,下面将结合应 用的特点对这三种技术进行简单的介绍和比较,并从中找到更适合的技术方案。 2 2c o r b a 技术解决方案 c o r b a ( 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 ,公共对象请求代理体 系结构) 8 】 1 3 提由o m g ( o b j e c tm a n a g e m e n tg r o u p ,对蒙管理组织) 组织制订的 一种标准的面向对象应用程序体系规范。o m g 组织是一个国际性的非盈利组织, 其职责是为应用开发提供个公共框架,制定工业指南和对象管理规范,加快对 象技术的发展,使得基于对象的软件在分布异构环境下具有良好的可重用性、可 移植性和互操作性,从而能够在由多种主流硬件平台上运行多种操作系统构成的 异构分布环境中,方便地建立异构分布应用系统。 c o r b a 是o m g 采纳的第一个规范它的核心是一套标准的语言、接口和 协议,以支持异构分布应用程序间的互操作性及独立于平台和编程语言的对象重 用。其中o r b 对象请求代理作为c o r b a 对象问相互通信的机制,是服务器 端和客户端的一个中间代理,它把对象请求映射到服务器端的实现对象上,并返 回操作结果。通过o m gi d l ( 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 ) 接口定义语言和 g l o p ( g e n e r a li n t e r - o r bi n t e r o p e r a b i l i t yp r o t o c 0 1 ) 通用o r b 互通协议,c o r b a 对 象得以基于o r b 进行对象问的通信和互操作,其中i d l 屏蔽了不同语言的异构 性,而g 1 0 p 则让基于不同o r b 实现的分布式对象得以互通。 图2 是c o r b a 的一张工作原理图: 第二章集成管理应用曲特点和方案选择 霸钠髑黉的图篙繇簇豳肯莓寺对曩黼嚣 图2 c o r b a 系统体系结构 该图显示了c o r b a 的基本框架和运彳j :方式。客户端通过客户端o r b 和静 态存根l d ls t u b 或d l l 动态调用接口把请求映射成适合劂络传送的结构,通过 g i o p i i o p 协议传送给服务器端o r b ,服务器端o r b 再解析该结构并通过i d l s k e l e t o n 骨架或d s i 动态骨架接口把请求映射成服务应用程序上相应语言中对对 象实现的调甭,最后把执行结果再反向通过o r b 传副给客户端程序。整个过程 中o r b 作为客户端和服务器端对象间的一个透明代理。 c o r b a 规范通过分布式对象计算,结合分布式计算和面向对象计算的特点, 获得了以下几个优点: 使用面向对象设计技术:面向对象设计注意如何把系统的各部分抽象成 相互交互的对象,设计者把系统中的对象定义成构件,这些构件能完成 某些任务而无须让系统知道它是如何完成的。 重用更多的软件:c o r b a 的蛞向对象系统促进了对苏重用,只需要把对 象的接口连入新的应用程序,就可以使用这些对象了。 使用熟悉的编程语言:c o r b a 将接口与实现分离且提供中性语言数据类 型,这使得对象调用可以跨语言和操作系统平台,同时c o r b a 可以让 应用开发人员选择自己熟悉的编程语言。 2 3d c o m 技术解决方案 c o m d c o m 技术【9 【1 4 1 5 是微软提出的基于w i n d o w s 操作系统的分布式 对象技术。d c o m 是组件对象模丹a ( c o m ) 的进步扩展。c o m 定义了组件和它 们的客户之间互相作j 日的方式,它使得组件和客户端无需任何中介组件就能相互 9 中国科学技术大学硕士论t基于c c r b a 的集成管理应用分布式软件框架 联系,客户进程直接调用组件中的方法;c o m 使得这种通讯能够以一种完全透 明的方式进行:它截取从客户进程来的调用并将其传送到另进程中的组件。当 客,_ 进程和组件位1 i 刁;刚的机器时,d c o m 仪仅只足i 驯络卧议米代替本地进 程之间的通讯。无论足客户还是组件都不会知道连接它们的线路比以前长了许 多。 图3 显示了d c o m 的整体结构:c o m 运行库向客户和组件提供了面向对象 的服务,并且使用r p c 和安全机制产生符合d c o m 线路协议标准的标准网络包。 图3 d c o m 整体结构图 该方案的优点是:为分布式计算的一个比较完整的平台、效率比较高,同时 它有一系列相应的开发工具支持,应用开发相对简单。但它的致命的弱点就是 c o m 的跨平台性较差,如何实现与第三方厂商的互操作性始终是它的一大问题。 2 。4e j 刚r 圳技术解决方案 另一种可以使用的解决方案是采用e j b ( e n t e r p r i s ej a v a b e a n s ) 【1 0 】。企业 j a v a b e a n s ( e j b ) 的组件结构是以作为可重复使用的服务器端组件而设计的,它使 企业能够建立可升级、安全可靠、可运行于多种平台且以商务为重点的应用程序。 它是j a v av m 平台上的服务器端组件模型。 第二章集成管理应用的特点和方案选择 ,增q 1 l 蛔m 聃蛰 l :b 幽m 二,o s e r , , i e d 啪舞确 # 玳枣k “ 搿燃篡 d 蝴t 鬻乙黧蕊熟 3r $ h 日e 、,“ 印g 墒抵4 $ 再精 t “ ”曲i m $ # 勰堍舔 i 姒证 皂f l u 热e 蕊蕊w 磷蒜弱 图4 e j b 体系结构 图4 显示了e j b 的体系结构:它主要包含了客户端和服务端两大部分。e j b 体系结构的客户端包含了调用e j b 组件特定业务所需的e j b 接口,同时还包含 了服务器端处理对象的句柄。而服务器端则包含了e j b 组件实现的实例,同时 还包含了用来在客户端与e j b 组件之问进行映像的容器代码。 该方案的优点是由于e j b 是采用j a v a 语言的,而j a v a 的标准制定的非常快, 能赶得上环境的变化,并j ! 1 j a v a 的跨平台的性能非常好。但是由于e j b 采用了j a v a 语言,从而导致了性能的损耗。 2 5 技术比较和最终方案的选择 以上所述的三种方案各有利弊【1 6 】【1 7 】,综合比较如下 c i ) & 默,蛳皂瑰) 嘴, c t i v e x盱b ,麟l i 装! 壹= 祷辩舔 鼬怍好好艘 l 艘 立筹跨平静鼯馋好般i灯 缝 网堂蓦遁饿静一簸好 l 公兆疆绔犄嚣好簸好 1 事务妊建 好般一般 羽瓣熙服务 ;彀 般一般 性 蜜蹙舷务好一艘搏 珂箬翳性 好 般妊 由于d c o m 是为微软的w i n d o w s 平台所设计,它在对各平台的集成能力上 有些限制;e j b 则基于j a v a 语言,所以对不同语言的应用的集成的支持不是太 好;而c o r b a 技术由于其独立于平台、编程语言、网络通讯协议甚至o r b 产 中国科学技术走学硕士论文 基于c o r b a 的集成管理应用分布式软件框架 品实现的诸多特点,在应川集成的支持上无疑是最好的选择。冈此我们最终选择 了c o r b a 技术作为解决文中提到的集成管理类应用的技术解决方案。在提出框 架解决方案之前,在下一章中先对c o r b a 规范进行一个简单的介绍,以更好地 掌握框架的设计基础和动机。 第三章c o r b a 规范介绍 3 1 产生背景和发展历史 对象管理组织o m g ( o b j e c tm a n a g e m e n tg r o u p ) 【2 1 是一个非盈利性国际组 织,始建于1 9 8 9 年,现已拥有包括生产厂商、软件开发商及用户等8 0 0 多个成 员。其目的是在分布式异构计算机环境下为应用软件的开发提供一个公共的框 架,使开发的软件既面向对象又具有可重用、可移植及可互操作等特点。公共对 象请求代理c o r b a ( 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 r b ( o b j e c t r e q u e s tb r o k e r ) 的分布式计算模型。目前有很多遵循c o r b a 规范的o r b 产品, 包括i o n a o r b i x 、b o r l a n d v i s i b r o k e r 和开源o r b 像i a c o r b 、t a o ( t h e a c e b a s e d o r b ) 等,它们帮助并推动了c o r b a 技术在在金融、电信、制造、生命科学研 究等诸多领域中的广泛使用,同时也是国内外很多军用系统的支撑技术。 c o r b a 的产生有其特定的背景,它是在面向对象的技术兴起,客户h a 务器 模式普遍得到应用的前提下,为屏蔽通信和实现细节的需求,继承已有系统,消 除“孤岛”现象而产生的。它弥补了传统分布处理系统的不足( 如r p c 等) ,具有 很多新的特色: 1 ) 引入代3 ;里( b r o k e r ) 概念。代理起到如下作用:完成对客户方提出的抽蒙服 务请求的映射;自动发现和找到服务器;i i 动设定路由,实现服务程序的执行。 2 ) 客户程序与服务器程序完全分离。与传统的客户i i i i 务器方式有很大的不 同,客户将不再与服务方发生直接的联系,而仅需要与代理发生联系,客户与服 务器方都可方便升级。 3 ) 提供“软件总线”机制。任何应用系统只要提供符合c o r b a 系统定义 的一组接口规范,就可以方便的集成到c o r b a 系统中,这个接口规范独立于任 何实现语言和环境。如此,客户应用于服务对象之间可以透明地交互运行,实现 中国科学技术走学硕士论文基于c o r b a 的集成管理应用分布式软件框架 应用软件在“软件总线”上的“即插即用”。 4 ) 分层的设计原则和实现方式。c o r b a 系统的底层核心是一个精练的系 统,各种复杂系统和应用可以由核心扩展和延伸。 总的来讲c o r b a 规范是一个开放的、基于客户及服务器模式的、面向对象 的分布式计算的重要的:i 二业标准。其自身也经历了一个发展和完善过程,并且仍 然在发展演化中【2 1 以解决分布式应用中遇到的各利,问题: ( 1 ) 1 9 9 1l o 1 9 9 6 ,8 月,o m g 发布了c o r b a1 0 及其几个次要版本。主要 包括对象模型、接口定义语言1 d l ( i n t e r f a c ed e f i n i t i o nl a n g u a g e ) 、动态请求管理 和调用接口d i l ( d y n a m i ci n v o c a t i o ni n t e r f a c e ) 、接e l 库i r ( t n t e r f a c er e p o s i t o r y ) 基 本对象适配器接口b o a ( b a s i co b j e c ta d a p t e 0 后被可移植对象适配器 p o a ( p o r t a b l eo b j e c ta d a p t e r ) 所取代 和对c 语言的映射。 ( 2 ) 1 9 9 68 - 2 0 0 2 9 月,发布了c o r b a 2 _ 0 规范及几个次要版本。加上了动态 服务器端接口、内存管理、o r b 互操作协议g i o p 和i i o p ( i n t e r n e ti n t e r o r b i m e r o p e r a b i l i t yp r o t o c 0 1 ) 、对象传值、一一些对象服务规范、加上了对c + + ,a d a , c o b o l ,l i s p ,p l 1 ,p y t h o n ,s m a l l t a l k , j a v aa n dx m l 等语言的映射、与d c o m 的 互操作、j a v a 到i d l 语言的映射、安全特性、可移植性拦截器、支持实时和容 错和嵌入式系统的c o r b a 特性等。 ( 3 ) 2 0 0 2 9 以后,发布了c o r b a30 及几个次要版本。把实时和嵌入式 c o r b a 规范独立出来作为特殊规范,其余的规范总称为c o r b a 核心规范。 c o r b a3 0 引入了c o r b a 组件模型c c m ( c o r b a c o m p o n e n tm o d e l ) 、定义了 穿梭防火墙协议、服务质量控制、可传值对象、脚本语言支持、增强了c o r b a 对j a v a 语言、d c o m 和w e bs e r v i c e 等网络技术的集成能力。 总的来讲,1 0 规范侧重在可移植性,20 侧重在互操作性上,3 0 则侧重在 易用性上,从规范的发展演变中可以看出,c o r b a 正在逐渐变得成熟和全面, 这有利于基于此技术的应用的开发。 3 2 对象管理体系结构o m a 在介绍o m a 体系结构前先介绍其中用到的几个基本概念: 对象( o b j e c t s ) :一个对象是一个被封装的实体,个对象系统包括多个 4 第三章c o r b a 规范介绍 对象实体,它能提供客户请求的一个或多个服务。在分布式环境中。一 个应用可以由多个对象组成,通过对象间的交互来实现应用的功能,对 象间的交互通过o r b 来传递。 请求( r e q u e s t ) :客户通过构造一个请求来得到服务,在c o r b a 规范中 请求方被称为客户。在请求r i ,要指定提供服务的对象实现、执行的操作、 及该操作所用到的参数。 对象引用( o b j e c tr e f e r e n c e ) :用来指定对缘的标识符,一个羽象可有多 个对象引用,但一个对象引j j 仅对应于一个对象。基于c o r b a 的软交 换管理系统的研究与实现 对象实t 见( o b j e c ti m p l e m e n t a t i o n ) :在c o r b a 规范中服务提供方称为对 象实现,它使用i d l 接口来描述在它上面可执行的操作。 方法( m e t h o d ) :在对象实现中描述的某一操作所对应的可执行代码称为 方法。可通过激活一个方法使其执行。 激活( a c t i v a t i o n ) :在执行个服务请求时,会引起对象或对象实现中的方 法被调用,如果对象或对象实现的初始状态不能满足方法调用的要求, 便需要通过某种方法使其状态发生改变,以满足方法调用的要求,这个 过程叫激活。 o m g 组织于1 9 8 9 年成立后不久就制订了o m a ( o b j e c tm a n a g e m e n t a r c h i t e c t u r e ,对象管理体系结构) 参考模型,该模型描述了o m g 规范所遵循的 概念化的基础结构。图5 描述了o m a 参考模型的各个组成部分: 图5 0 m a 参考模型 中国科擘技术大学颂士论工基于c o r b a 的集成管理应用分布式软件框架 o m a 由对象请求代理o r b ( o b j e c tr e q u e s tb r o k e r ) 、对象服务、公共设施、 域接口和应用接口这几个部分组成,其核心部分是对象淆求代理o r b 。o r b 提 供了一种机制,通过这种机制,对象可以透明的发出请求和接收响应。分布的、 需要相蝣操作的对象i 叮以利j | o r b 构造可互操作的应j i j 。o r b 可看作是在对象 之问建盈客户应刚及服务器关系的一种小闽件。基于o r b ,客户可以透明的调 用服务对象提供的方法,该服务对象可以与客户运行在同一台机器上,也可以运 行在其他机器上并通过网络与客户进行交互。o r b 截取客户发出的请求,并负 责在该软件总线上找到实现该请求的服务对象,然后完成参数及方法调用并向 客户对象返回最终结果。 其他四个部分分别介绍如下:对象服务是为使用和实现对象而提供的基本服 务集合,用来扩展o r b 总线基于c o r b a 的软交换管理系统的功能,包括命名 服务、事件服务、通知服务、交易服务、对象事务处理服务、生命周期服务以及 安全服务等等;公共设施是向终端用户应用程序提供的一组共享服务接口,向终 端用户提供一组共享服务接口,包括文档设旋、打印设施、安全时间设施、国际 化设施、移动代理设施等;域接口是为各种特殊应用领域服务而提供的接口,包 括为制造业、电信、医疗、金融等领域提供的各项服务:应用接口是由开发商提 供的产品,不属于o m g 标准的内容,然而某些专门的应用领域中会出现一些常 用的服务,这也可以作为o m g 组织的未来标准工作的方向。 3 3c o r b a 规范p s i 【2 1 】 c o r b a 的工作原理参考前文对c o r b a 的介绍。c o r b a 规范主要包括以 下几个部分的内容: 1 ) o r b 核心 2 ) o m g 接口定义语言i d l ( i n t e r f a c ed e s c r i p t i o n ) 3 ) 接口库i r ( i n t e r f a c er e p o s i t o r y ) 4 ) 语言映射( l a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46025-2025家用轮椅床
- 2025年数据安全培训题集解析
- 2025年无人机操作员应急面试模拟题集
- 2025年安全员安全培训考试重点模拟题及答案解析
- 2025年食品管理员面试题及答案详解
- 2025年安全生产禁令知识题及答案解析
- 2025年中级工业互联网面试题及解析
- 2025年人力资源管理师继续教育考试试题及答案解析
- 2025年企业管理咨询师资格考试试题及答案解析
- 2025年旅游规划师国家职业资格考试试题及答案解析
- 2025年六安市裕安区石婆店镇公开招考村级后备干部8名笔试备考试题及答案解析
- 2025年事业单位考试题库及参考答案
- 公司领导财务知识培训课件
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案
- 子痫患者护理查房
- 2024仁爱科普版八年级英语上册 Unit 1 Healthy Mind and Body(知识梳理与考点训练)解析版
- 医疗护理员职业技能竞赛试题及答案
- 出货标签管理办法
- 中石化计划管理办法
- 我国军兵种介绍课件
- 小学劳动技术课课件
评论
0/150
提交评论