(水利水电工程专业论文)流域梯级电站多监控系统数据交互模型的研究.pdf_第1页
(水利水电工程专业论文)流域梯级电站多监控系统数据交互模型的研究.pdf_第2页
(水利水电工程专业论文)流域梯级电站多监控系统数据交互模型的研究.pdf_第3页
(水利水电工程专业论文)流域梯级电站多监控系统数据交互模型的研究.pdf_第4页
(水利水电工程专业论文)流域梯级电站多监控系统数据交互模型的研究.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

摘要 学科 导师姓名 作者姓名 答辩日期 流域梯级电站多监控系统 数据交互模型的研究 水利水电工程研究方向:水利电力自动化 职蘩:纽三乏圉整鼗 丝) ,壹妙 摘要 我幽流域梯级电站星罗棋布,电站l 监控系统的建设得到了普遍的开胜,这在很 人程度上保障了水电站的安全经济运行,为水电站的综合自动化奠定了基础。但目 前一些流域梯级电站调度中心与各现场站之间的信息交互问题仍然没有得到很好 的解决,这在一定程度上阻删了“无人值班( 少人职守) ”目标的实现。由丁各现 场站监控系统在硬件平台、操作系统、数据库和编程语言等方面存在异构性,使得 系统之间的数据交互困难重重。因此,采取有效的办法解块调度中心与备现场站的 数据交互问题具有非常重要的意义。 论文中详细论述了近年来国内外在解决分布式异构系统数据交且问题时采用 的先进技术,提了一个丛丁j 2 e e ( j a v a 2e n t e r p r i s ee d i t i o n ) 平台和c o r b a 规 范的多层分布式系统解决方案,井根据流域梯级电站的实际情况,远川u m l 诰吉 进行了系统建模。最后,详细描述了系统的具体实现。 以:该方案中,通过c o r b a 中间件解决异构系统的通信问题,采取了基丁绸什 的多层结构模式,结合j a v a 技术的优点,使得系统具有平台独立性、可扩缩性、 可重川性和易维护性等特点。 关键词:流域梯级电站监控系统数据交互异构性 u m l c o r b a j 2 e e 墨墨塑矍 as t u d yo fm u l t im o n i t o r i n gs y s t e m s d a t ae x c h a n g em o d e lf o rc a s c a d e h y d r o p o w e rs t a t i o n s s u b j e c t :w a t e rr e s o u r c ea n dh y d r o e l e c t r i cp o w e re n g i n e e r i n g s p e c i a l i t y :h y d r o e l e c t r i cp o w e r a u t o m a t i o n t u t o r : a u t d u r & 挑廖戎s a b s t r a c t c a s c a d eh y d r o p o w e rs t a t i o n sa r ed o t t e da l lo v e ro u rc o u n t y t h ec o n s t l + u c t i o n so f c o m p u t e rm o n i t o r i n gs y s t e m sh a v eb e e nd e v e l o p e dw i d e l y ,w h i c hg u a r a n t e e st h ep o w e r s t a t i o n sr u n n i n gs a f e l ya n de c o n o m i c a l l yt oag r e a te x t e n ta n dl a y s f o u n d a t i o n sf o r i n t e g r a t e ds u b s t a t i o na u t o m a t i o n h o w e v e r , p r e s e n t l y 1t h ep r o b l e m so fd a t ae x c h a n g i n g b e t w e e nd i s p a t c h i n gc e n t e ra n ds u b s t a t i o n sh a v en o tb e e nc o p e dw i t ha d e q u a t e l y , w h i c h h a sh a m p e r e dm a k i n gu n m a n n e ds u b s t a t i o n sar e a l i t y o w i n gt o t h eh e t e r o g e n e i t y e x i s t i n gi nm a n ya s p e c t so fm o n i t o r i n gs y s t e m ss u c ha sh a r d w a r ep l a t f o r m s 、o p e r a t i n g s y s t e m s 、d a t a b a s e sa n dp r o g r a m m i n gl a n g u a g e se t c ,d a t ae x c h a n g i n ga m o n gd i f f e r e n t s y s t e m s i sv e r yd i f f i c u l t t h e r e f o r e ,i tw i l lp l a ya ni m p o r t a n tr o l e t ol a k ee f f e c t i v e m e a s u r e st od e a lw i t ht h ep r o b l e m sm e n t i o n e da b o v e t h i st h e s i si l l u s t r a t e sa d v a n c e dt e c h n o l o g i e st h a th a v er e c e n t l yb e e nu s e da th o m e a n do v e r s e a s t o c o p e w i t ht h ed a t ac o m m u n i c a t i n gp r o b l e m si nd i s t r i b u t e d h e l e r o g e n e o u ss y s t e m s a n dp u t s f o r w a r das o l u t i o n ,i e j 2 e e c o r b a - b a s e d m u l t i t i e r e dd i s t r i b u t e ds y s t e m s a c c o r d i n gt o t h ec o n t e x to fc a s c a d eh y d r o p o w e r s t a t i o n s ,t h es y s t e mm o d e li ss e tu pb yu m ll a n g u a g ea n dt h ei m p l e m e n t a t i o no ft h e s y s t e mi sp r e s e n t e da s w e l l i i 英文摘要 i nt h i ss c h e m e ,b yu s i n gc o r b am i d d l e w a r et os o l v ec o m m u n i c a t i o np r o b l e mi n h e t e r o g e n e o u ss y s t e m s ,a d o p t i n gac o m p o n e n i b a s e dm u l t i t i e r e dm o d e l ,a n dt a k i n gt h e a d v a n t a g eo fj a v a ,t h es y s t e mh a sm a n ya d v a n t a g e ss u c ha sp l a t f o r mi n d e p e n d e n c e 、 s c a l a b i l i t y 、r e u s a b i l i t ya n dm a i n t a i n a b i l i t y k e y w o r d s :c a s c a d eh y d r o p o w e rs t a t i o n sm o n i t o r i n g s y s t e m d a t ae x c h a n g e h e t e r o g e n e i t y u m l c o r b a j 2 e e 第一章综述 1 综述 1 1 背景 1 1 1 流域梯级电站监控系统的发展状况、特点和应用 需求 随着计算机技术、通信技术、网络技术的快速发展,计算机监控系 统的结构模式发生了很大变化,从早期的电动单元组合模拟仪表控制系 统、集中式数字控制系统到分布式控制系统( d c s ) 、现场总线控制系统 的发展,各个厂站计算机监控系统的性能、经济性、可靠性等都得到了 显著的提高。另方面,随着i n t ia 鹏t i n t e r n e t 技术应用的普及,为 各厂站之间建立分布式控制系统提供了条件。因此,计算机监控系统集 成的概念应运而生。所谓系统集成就是根据应用需求,将硬件( 含系 统软件、工具软件) 、网络、数据库及相应的应用软件组合成为有效可用 的、具有良好性价比的计算机应用系统。 在流域梯级电站中,需要监视控制的设备种类多”1 ,包括主设备( 水 轮机、发电机、变压器、母线、馈电线路、厂用变、开关柜等) 、辅助设 备( 各类水泵、油泵、气机等) 、闸门系统、大坝、流域水情等等。各类 设备需要观测的项目多,例如,大坝安全检测一般包括渗流压力、应力、 水平垂直位移、降雨量、上下游水位等检测项目;水电站的自动化检测 包括电气量( 功率、电压、电流、频率等) 、非电量( 流量、压力、水位、 油位等) 、开关量等。由此可知,流域梯级电站监控系统中包含着大量反 映设备运行情况和状态的数据。由于各种客观条件的限制,各个梯级电 站通常根据实际情况分期进行监控系统的建设或改造。由于自动控制技 西安理工大学硕士学位论文 术、计算机及网络技术的不断进步,在各个时期设计和实现的监控系统 通常在系统结构、软硬件实现等方面都存在着差异。各个子系统之间通 常不存在直接的信息交互,即它们通常是相对独立工作的。 为了便于各站之间的协调。”,一般设有一个流域调度中心( 地调) , 负责调度与管理整个流域机组及其相关设备的安全经济运行。目前,流 域调度中心从各站获得的信息主要是通过远动装置采集来的实时数据, 而各站其它大量现场信息无法及时取得,因此,现场站的监视运行及开 停机控制、倒闸操作均由站内的运行人员独立处理。随着站内自动化程 度的不断提高,设备的稳定性和可靠性也得到提高,为逐步实现“无人 值班”( 少人职守) 创造了条件。然而,为了达到“无人值班”( 少人职 守) ,调度中心必须及时获取各站相关系统的关键数据( 即时数据、故障 信息、历史记录、图像数据等) ,并对其进行适当处理,以辅助调度、运 行人员做好调度决策以及远方操作。但是由于各个电站及调度中心监视 监控系统是在不同时期、由不同单位设计、不同单位施工建设的,而在 早期规划时又不完善,缺乏统一考虑,或已作了考虑,随着时代的前进, 后续建成的电厂监控系统与先前建成的电厂监控系统构成一个流域梯级 监控调度管理系统时,形成的是一个分布式的异构系统。因此,为了获 得由各站诸监控监测系统构成的分布式系统的数据,必须在现有的监控 系统和通讯网络的基础上,开发套适用的软件系统来满足应用的需求。 下文将分析近年来国内外开发分布式软件系统所采用的技术,提出一个 适合于流域梯级电站应用的解决方案。 1 1 2 国内外分布式应用软件技术的发展概况 随着网络技术的发展,以及面向对象技术的曰益成熟,分布式应用在 软件系统结构和软件工程方法两方面发生着重要的变化。系统结构经历 了单层的应用系统模式、传统的客户服务器( c s ) 模式和多层( n 层) 第一章缩谶 绦稳模式,谴褥分布式应用不断翔更好舱适应性、灵滤性、可伸缨性、 餐捧性方蠢笈震;而软嵇工程方法驮健统麴软律工稷方法到西囱辩象懿 方法的发展,一方面提高了系统的开发效率,同时使得系统的可熏用性、 猫维护性等得到了显著的提高。 1 1 2 1 分布式应用软件结构模式的发展 a 。擎罄兹痖躅蒺统模式( 翻1 - ) 1 9 世纪9 0 年代以前,大型讥在市场上占主导地位,所有的软件都 依赖于这个中心实体构建。这种集中式方法的优势在于比较简单,处理 攀一系统可以瀵是瑟畜静处理嚣求,以及集中瑟耋掰囊资源等。聪它豹 缺点则在于它的可伸缩性、可靠性受到限制。如果主机发生故障,剿所 有终端都不能工作。同时,由于它将表示、业务逻辑和数据都混台在一 越,对任何方豹改变都会引起连锁反应,从瑟对所蠢邦分都翥遂 亍重 新编译或更改。 图1 1 b 传统的客_ 痔,服务器( c s ) 模式( 图1 2 ) c s 模式楚基于这样的概念,即每个成用程序密两个功能部分组成, 一部分受蠢痿麓请求逶藩,舅一部分翔瓣宅戆清求 謦窭应答。瘸翁逶蔫 的进程是客户机,对请求作出应答的进糕是服务器。这种模式从九十年 代初开始出现,并曾经得到了广泛的应用,而且继续作为其它各种体系 缝梅懿萋礁。簸务器主要承毯数据疼誊瑷、通信警理裾囱廷户提供多耱 西安理工大学硕士学位论文 服务,而客户机则提供给用户来访问系统,并处理返回的信息。各客户 枫应用程序可使用共享资源或来自各服务的信息以完成它们的任务。这 种结构下的客户机和服务器协同处理任务,具有分布式处理能力。但以 这种模式建立的系统仍然暴露出了许多缺点。首先,在c s 模式下,大 部分计算任务由客户端承担,即是“胖客户”型的,为此需要开发专门 的客户端软件和服务器平台,并将客户端软件安装于众多用户的计算机 上。随着客户端或服务器操作系统的升级,将可能导致全部重新安装, 因此给系统的使用和维护带来不便。其次,这种两层的体系结构经常出 现客户端和服务器端负担过重的现象,并且其系统扩展性也较差,用户 培训代价高。 图1 2 c 三层及多层( n 层) 结构模式 为了解决以上结构模式的这些问题,软件界提出了一种n 层体系结 构的概念( 图l 一3 ) 。应用层被划分为几个相互隔离的逻辑层。每一逻辑 层都定义好一套接口集。第一层,也就是表示层,主要由类似于图形用 户界面的部分组成( 如w e b 浏览器) ;中间层处理企业的应用逻辑,它是 系统的核心,必须拥有为处理系统的具体应用而提供事务处理、安全控 制以及满足不同数量客户机的请求而进行性能调整的能力。使用1 1 层的 应用软件开发系统有许多优点。整个系统被划分为不同的逻辑块,层 次非常清晰;能够使“胖客户机”变成“瘦客户机”,减少维护工作 量;开发和管理的工作中心向服务器方向转移,使得数据的分布处理 成为可能:性能与功能的扩展变得相对简单;管理和维护变得相对 第一章综述 简单。 图1 3 1 。1 2 2 软件工程方法的演变 软件工程“1 是一项系统的工程,它通常包括需求分析、总体设计、 详细设计、编程、测试等阶段。在面向对象方法出现以前,传统的软件 工程方法在对需求分析和设计时对问题域的认识和描述不是以问题域中 固有的事物作为基本单位,并保持它们的原貌,而是打破了各项事物之 间的界限,在全局范围内以功能、数据或数据流为中心。这样容易隐藏 一些对问题域的理解偏差,与后续的开发阶段的衔接也比较困难。另外 在编程时通常采用面向过程的方法,程序和子程序之间、系统与子系统 之间的关系是紧耦台关系,这不仅使得系统的测试较困难,而且系统的 重用性差、不容易扩展和维护。随着面向对象开发技术的发展曰益成熟, 面向对象的软件工程方法已经在世界范围内得到了广泛的应用。面向对 象方法从一种新的角度来考虑和解决问题,它把问题域中的事物、概念 等抽象表示为类、对象这样的结构,使用多态性、封装、继承等方法来 组织一个系统,各个类由属性和方法组成并进行了封装,对外只提供一 定的接口。这样,不仅在系统分析、设计时容易与现实世界联系起来, 而且调试、维护也较为容易。更重要的是以面向对象的思想进行系统开 发具有以下优点,即可重用能力、可扩展能力、及快速开发能力。 虽然面向对象开发技术具有上述优点,但由于类封装问题和解决方 案是细粒度概念,为了进一步提高企业软件的开发效率和更好的重用性, 近年来在面向对象方法的基础上提出了基于组件“1 的软件开发方法, 西安理工大学硕士学位论文 它提供了更粗粒度的封装问题方法。由于组件表示一个或多个较细粒度 类的逻辑集合,且被定义在一个较高级别,所以一个组件可以直接封装 一个已划分的问题,各个组件之间仅通过清晰定义的接口进行交互,因 此更适合于大型企业的软件系统的开发。 总之,面向对象的软件工程方法已经成为当今软件开发方法的主流, 而对于分布式的大型软件系统的开发,基于组件的方法又是一种更好的 选择。 1 2 流域梯级电站监控系统数据交互问题的解决方案 1 2 1 系统网络的拓扑结构 在系统网络中,各流域梯级电站及调度中心各自构成局域网,局域 网之间根据具体情况通过国家电力数据网( s p d n e t ) 或i n t e r n e t 进行通信, 图1 4 是抽象后的网络结构示意图,其中各级电站的历史数据库和实时 数据库存在于各个监控系统中。 图1 4 第一章综述 1 2 2 系统软件实现方案 针对流域梯级电站监控系统的实际情况,开发出一套既能满足应用 需求,又能充分利用现有软硬件资源的、可扩展的、易维护的、可靠的 系统模型,是论文力求达到的主要目标。通过上文对国内外分布式应用 软件的发展概况的分析,可知基于面向对象的思想而构建多层分布式系 统是系统实现的较好方案。由于分布式的企业应用涉及到系统之间的通 信、系统的应用逻辑实现、系统的安全和可靠性、企业应用的扩展性等 方方面面,因此在系统开发时必须综合考虑各方面的因素。下面从系统 的分析设计、系统开发平台的选择以及系统之间的通信问题进行简要论 述。 1 2 1 2 1 用u m l 进行系统建模 在软件开发的整个周期中,系统的分析和设计占据着非常重要的位 置,一套设计良好的系统,不仅更加符合系统需求,而且有利于编程实 现、维护及降低项目失败的可能性。分析和设计的目的是要形成一套与 用户需求基本一致的系统模型。因此,选择一种合适的建模语言将有助 于系统的开发。统一建模语言u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 是被 对象管理组织o m g ( o b j e c t m a n a g e m e n t g r o u p ) 采纳的基于面向对象技 术的建模语言标准。它是一种定义良好、易于表达、功能强大且普遍适 用的建模语言,论文中将选择u m l 进行系统建模。 1 2 2 2 。系统开发平台的选择 对于开发较大型的分布式系统软件而言,一方面面对的是一个异构 的分布式环境,必须解决已有系统的集成和系统与其它系统的互操作性, 西安理工大学硕士学位论文 另一方面又要使系统具有高可用性、安全性、可靠性和可伸缩性,使得 系统的开发非常困难。最近几年,基于组件的软件开发平台发展迅速, 为开发分布式系统带来了很大的帮助。目前,先进的分布式系统开发平 台主要有两种:基于j a v a 语言的j 2 e e 技术和微软公司的n e t 技术“1 。 其中j 2 e e ( j a v a2p l a t f o r i l le n t e r p r i s ee d i t i o n ) 是由s u n 公司联合i b m 、 o r a c l e 、b e a 等大型企业应用系统开发商于1 9 9 8 年共同制定的一个基于 j a v a 组件技术的企业应用系统开发规范,该规范定义了一个多层企业信 息系统的标准平台,旨在简化和规范企业应用系统的开发与部署。j 2 e e 提供了多种组件、服务和应用程序编程接口( a p i ) ,使得应用程序开发者 不必处理底层繁琐的服务细节( 如目录服务、事务处理、持久性、安全 性等底层系统逻辑) ,而把主要精力放在具体的应用逻辑的实现上;另一 种技术n e t 是微软公司新近推出的与j 2 e e 竞争的分布式系统开发平 台,它的前身是微软以前开发企业应用程序的平台d n a ( d i s t r i b u t e d n e t w o r k a r c h i t e c t u r e ) 。就目前的情况来说,以上两种技术在许多方面( 目 标、体系结构及所提供的服务等) 是旗鼓相当的。但相比较而言,j 2 e e 是一种成熟的规范,从一开始就得到了众多厂商的支持,i b m 、b e a 、 h p 、o r a c l e 等在j 2 e e 的实施上都有较大的投入,同时,由于j a v a 语言 具有“一次开发,随处运行”的平台无关的特性,因此在企业分布式应 用中拥有一定的优势。 本论文将尝试把j 2 e e 技术与流域梯级电站监控 系统的实际情况相结合进行研究。 1 2 2 3 结合c o r b a 中间件技术解决分布式系统交互问题 由流域梯级电站多监控系统和流域调度中心构成的分布式系统的问题 涉及到可扩缩性( s c a l a b i l i t y ) 、广域的地理分布和异构平台之间的交互 等问题。因此,系统实现时要考虑的一个重要方面就是希望做到上层的应 用程序代码不依赖于底层的通信体系结构,使得系统之间实现透明的访闯。 第一章综述 为了满足这种需求,中间件技术应运而生,它负责处理客户与服务器之间 的交互细节,使得处在不同机器中的分布式对象可以跨越不同的硬件平台、 不同的网络协议进行通信,而不必关心底层的通信实现。图卜5 是基于这 种技术的分布式系统层次图。 应用程序代码 偷压乱 恻偷拶 蚓 中间件 ( 应用程序通信接口层) 通信代码 图1 5 目前,国际上有三种主流的中间件技术,即c o r b a 、d c o m 和j 2 e e 平台上的r m i 。其中,c o r b a 是由对象管理组织o m g 制定的一个标准 的分布式对象计算范型,它可以用于以任何语言创建c o r b a 客户和服 务器;r m i 是j a v a 内置的分布式对象计算范型;d c o m 是微软公司的以 w i n d o w s 为中心的分布式对象计算范型。他们三者之间没有绝对的优势, 要根据具体的应用背景加以选择。与其它两者相比,c o r b a 的优势在于 可以集成由不同语言开发的分布式系统,但实现比较复杂。由于本文的 应用背景流域梯级电站监控系统,其中各个电站监控系统可能在不 同时期开发,存在着系统由不同语言实现的问题。因此,为了充分利用 已有的资源,在中间件的选择时将采用c o r b a 技术。 西安理工大学硕士学位论文 以上从三个方面论述了开发分布式系统的主要方面,实际上在系统 的开发的过程中对三者是综合考虑的,分开来叙述只是为了说明问题的 方便。下一章将对u m l 、j 2 e e 、c o r b a 三种技术展开说明。 1 。3 论文各部分的主要内容 针对流域梯级电站监控系统数据交互的应用需求,论文的目的是运 用u m “c o r b a j 2 e e 技术建立一个多层分布式应用系统模型,并以一个 实例来描述系统的实现过程。论文的第二部分将分析u m l 、c o r b a 和 j 2 e e 三种规范以及它们各自的特点,并说明采用这三种技术相结合的优 势和运用它们来解决问题的思路。论文的第三部分针对流域梯级电站的 实际需求进行系统模型的开发。论文的第四部分论述在j 2 e e 平台上如何 与c o r b a 规范相结台实现系统的数据交互问题,为了模拟流域梯级电 站监控系统的实际情况,将建立两个模拟数据源( m i c r o s o f ta c c e s s2 0 0 0 和o r a c l e 数据库) 分别对应于两个梯级电站的分布式异构数据源,然后, 建立c o r b a 服务器、对象实现及c o r b a 客户,最后建立一个w e b 服 务器,使得用户可以通过浏览器与系统交互,实现对异构数据源的透明 访问。论文的第五部分是文章的结论,总结论文所达到的结果,并对后 续的研究工作提出设想。 论文的重点是根据流域梯级电站监控系统的特点,建立一个多层分 布式系统模型,并运用j 2 e e 和c o r b a 技术完成系统的具体实现。 第二章u m l 、j 2 e e 和c o r b a 2 u m i 。、j 2 e e 和c o r b a 上一章分析了开发分布式系统的复杂性并考虑了将要采取的技术。u m l 、 j 2 f _ e 和c o r b a 是三个面向对象领域的成熟的标准。它们三者在本质上是统一 的,即都是基于面向对象的思想来思考和解决问题的。合理地利用它们,可以在 分布式系统开发的不同方面发挥重要的作用。其中,j 2 e e 提供了系统开发的标准 平台和环境,c o r b a 在整合分布式异构系统方面有着突出的优势,而u m l 是 进行系统整体分析和设计的工具。下文将首先介绍论文中用到的几个重要术语, 然后分析u m l 、j 2 e e 和c o r b a 这三种标准以及它们各自的优点,并分析腼e 和c o r b a 相结合在分布式系统开发中运用的优势。 2 1 。重要术语 在面向对象的分布式系统开发中,类和对象、组件、分布式计算、设计模式 等概念贯穿着系统开发的整个过程。 ( 1 ) 类和对象( c l a s s o b j e c t ) :类是指与应用问题有一定关联的事物、概 念等的种抽象描述,它由属性和方法组成。属性又称为“数据成员”,是类内部 特征的种描述。而方法又称为“成损函数j 描述了类的动态行为。对象是类的 实例,它表示个具体的事物或溉念。面向对象具有三个主要特征:多态性、继 承、和封装。封装提供了种信息隐藏的机制,通过将属性、方法区分为私有的 ( 口r i v 融e ) 、公共的( p u b l i c ) 以及保护的( 珊口t e c f e d ) 三种,可以有效地防ie 外界 破坏对象的特性。私有的属性不允许外界访问,只可以通过对象所提供的界面访 西安理工大学硕士学位论文 问:保护的属性或方法,只允许继承该对京的对象加以访问,可以维护对象本身 的特性。继承贝如邑面向对象中用:舛芒扩张可重用性的种技术,通过继承的方式可 以继承已有的对象,并进行扩充。 ( 2 ) 组件( c 跚叩。眦m ) :面向列名哆秘溯中可以在碧接级别匕实现重用, 但这- _ 哇拱彭爱别刑礁业项目而吉:6 0 低了,因此提出了个面向列鸯啪更粗力 度的封装问题的方法嘲件,图2 - 1 类喇象与组件的关系,类喇象可以封 装单个概念,而组件表暴卟或多个较细粒匮谈的逻掣 集合,可以直接封装 一个已划分的问题,该问题更直接地产生于分析和设计模型。 图2 - l ( 3 ) 分布式懒鲥h 删c 0 删姬i 蝴:计算脯常艮前秀种功能,即 它能够存黼( 数据) 和处理数据,处理数路撇计算。在由多台计算胡龌 成的分布式网络中,我们可以把计算机网络所作的工作分为两种:分布式存储和 12 第二章u m l 、j 2 e e 和c o r b a 分布式计算。在分布式数据存储中,网络使数据存储分布化,如分布式应用程序 可以透明地访问不同的数据库服务器,既可以是本地的,也可以是远程的。在分 布式计算环境中,数据的处理不只是在一台机器e 完成,而是由多台机器合作完 成的。由于计算机的计算总是离不开数据,所以般情况下分布式计算总是伴随 着分布式数据。 ( 4 ) 设计模式( d e s i g np a l c n ) :d e s i g np a t t e n 是组类、接口与其关系的 结合,提供通用问题类型的般设计方案。模式可以被重用,具有良好的伸缩性。 下面介绍目前在多层分布式应用中常用的一种设计模式:模型视图控制器 ( m o d e l - v i e w - c o n t r o l l e r 、m v c ) 。 m v c 开发楱舸以分离势据访问和势掳i 飙。m v c 是种通过三个不同 部分构造一个组件模型的理想方法。图2 - 2 表示该模式的结构。 图2 - 2 图中,模型( m o d e l ) 用于存储定义该组件的数据;视图( v i e w ) 用于由模 型中的数据生成 亥组件的可视化表示;控制器处理用户对该组件的交互操作,对 用户的操作做出反应,对梗匿潆嘲图进行必要的修改。 m v c 模式可以被映射到多层企业级应用上。所有的企业数据以及商业逻辑 可以作为模式。视图可蹦歌朔日涝问数昧荆授据客户端婀弗犯附翰谫曙, 视图必贼当模式姣的时慨数据彩剥业领同掀。控黼来缗台模 式和视图,把客户端来的请求转换成憔式能够理解并执行的请求,并且根据请求 西安理工大学硕上学位论文 以及执行结果来决定下一次显示哪一个视图。 2 。2 u m l 1 2 e e ,c o r b a 技术 2 211 7 。和r o s e a u m l 标准建模语言 模型是对事物的一种抽象,人们常常在正式建造事物之前,首先建立一个简 化的模型,以便更透彻地了解它的本质 剔除那些与问题无关的、非本质的东西 抓住问题的要害。在模型中,人们总是 从而饺模型与真实的实体相比更加简单 明了、易于把握。面向对象的分析和设计应该从建模开始,这有利于了解用户的 需求、把握系统的全貌及相关部件之间的联系。标准建模语言u m l ( u n i f i e d m o d e l i n gl a n g u a g e ) 的出现,为人们提供了种分析、设计系统的标准方法。u m l 是由世界著名的面向对象技术专家g r a d yb o o c h 、j i mr u m b a u g h 和i v a rj a c o b s o n 发起,在著名的b 0 0 d 1 方法、o m t 方法和o o s e 方法的基础匕广泛征求意见, 集众家之长,几经修改而完成的,是种定义良好、易于表达、功能强大目普遍 适用的建模语言。眦提供了套基本模型图,让人们可以从不同的视角去分 析、设计系统。这些模型图包括:用例图、类图、对象图、包图、状态图、顺序 图、合作图、活动图、组件图和配置图。在具体的应用中,可以根据需要选择某 些模型图进行系统的分析与设计。 b r a t i o n a lr o s e 图形化建模工具 r a t i o n a l r o s e 是r a t i o n a l 公司推出的目前最理想的基于u m l 的图形化建漠工具 之一。它把l j l 和谐蚰擦威进面向列身蜡觥开发过程中。不论是在系统需求阶段, 还是d 既 象的分析与设计、软件的实现与测试阶段,它都提供了清晰的u m l 表达方 法和完善的工具,方便建立起相应的软件模型。它有蝴界面,有助于系统开发 人员去理解和把握用户需求,设计出灵活、适应性强的系统构架,最终形成易于维 第二章u m l 、j 2 e e 和c o r b a 护的软件系统。它可生成各种代码和数据框架,如c 抖、j a v a 、v i s u a lb 商c , i d l x i n t e r r 戤d e s i g n l a n g u a g e ) 等。 2 2 2 c o r b a 技术n 1 c o r b a 分布式应用框架规范,是对象管理组织( 0 m g ) 创建的种标准的 模型。它使得由不同编程语言实现的处于异构平台上的对象之间可以进行透明的 交互。c o r b a 基本框架由三个部分组成:接口定义语言( i n t e r f a c ed e f i n i t i o n l a n g h a g e ,i d l ) ,对象请求代理( o b j e c t r e q u e s t b r o k e r ,o r b ) ,o r b 协议。 a 接口定义语言( i d l ) i d l 是由o m g 创建的种用来描述产生对象调用的客户方和提供对象实现 的服务方之间接口的语言。它是一种独立于编程语言、下层网络和具体实现的数 据类型描述语言,它静态描述对象的接口,用于向其潜在的客户描述本身可提供 的操作,以及如何调用这些操作。i d l 借鉴了c + + 语言的语法,去掉了其中涉及 瓤见语义的内容( 如控制流、内存管理和函数编写等) ,同时添加了若干适用于分 布式系统的特征,保证了平台无关性、提高了所开发的分布系统的可靠性。i d l 定义包括模块定义、接口定义、操作定义、参数定义、属性定义、常量定义、异 常定义和类型定义等。i d l 语言完全是一种描述 生语言,而非编程语言。它没有 控制结构,因而不能田于实现客户方国芋和对象实方程序。但根据i d l 定义, 可将d l 映射为具体的编程语言( 如c 、c + + 、s m a l l t a l k 、j a v a 等) 。这也使得客 户方和服务器方的程序可以由不同的语言实现。 b 对象请求代理 o r b ) o r b 是c o r b a 的核心,它用来管理分布式对旁。o r b 是个在对象之间 建立例倒熔e r v 盯的关系的中间件。使用o r b ,可以使对象透明地向个服务器 对象发出请求或接受服务器对象的响应消息。该服务器对象可以是本地的或远地 的对象。由于o r b 的作用,使得客户意识不到服务器组件的存放地点,激活方 西安理工大学倾卜学位论史 法和内部的通讯机制。o r b 会截取请求信息,负责寻找能眵应旮青求的服务器对 象,传递参数,调用方法,最后返回结果。图2 - 3 为对象请求代理( o r b ) 的结 构。 南南i 由卤篱器甭 f 嚣ii 嚣i 剧巨到i 攀 o r b 核 图2 3 图中条形框表示o r b 提供的接口,箭头指菊塞个o r b 是否被调用或者正在 通过接口执行一个调用。这里的客户是指使用某个对象所实现的某种操作的实体, 对象实现是指具体实现这对象的代码与数据,客户通过弱誊青求使用对象实现 所提供的服务,具体实现过程中,客户可以使用动态调用接口( 独立于目标对象 接口的另种对象接口) 或静态i d l 根程序( s t u b ) ( 具体的根程序取决于目标对 象所支持的接口) 。对象实现要么通过i d l 产生的程序框架( s k e l e t o n ) ,要么通 过动态程序框架( d y n a m i cs k e l e t o n ) 接受作为上行调用的请求。在处理请求或其 他任何时候,对象实觋均可以调用对象适配器和o r b 。客户通过访问对象的x t t j ) 引用、了解x , - g t 的类型以及所需执行的操作的基础t 执行请求,对于一个请求的 初始化,客户可以通过调用针对某个特定对象的根程亭例程或动态地构造请求来 实现。o r b 通过i d l 程序框架或动态程序框架来定位相应的实现代码、传递参 数,以及对对象实现的传送控制。接口和对象适配器都有其特定的程序框架在 执行请求时,对象实现可以通过对象适配器获得o r b 提供的某些服务,当这 请求完成后,控制权和输出结果返回给客户。 第二章u m l 、j 2 e e 和c o r b a c o r b 协议 o r b 协议包括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 ) 和i i o p ( i n t e m e ti n t e r - o r b p r o u ) c 0 1 ) ,副门代表着基于c o r b a 的应用程序使用的位于t ( m 四之上的通信层。 g i o p 把已编码的i d l 数据类型映射为通过线路发送的二进制数据流,它也定义 了组消息格式封装分布式调用的请求和回答语义。而f l o p 把g i o p 消息数据映 射为t c p i p 连接行为。 d 。c o r b a 服务( c o r b a s e r v i c e s ) 在c o r b a 规范中,定义了一组公共的c o r b a 对象服务的规范被称为 c o r b a 服务( c o r b a s e r v i c e s ) 。它是开发分布式应用所必需的模块,包括命名 服务( c o s n a m i n g ) 、查询服务( q u e r y s e r v i c e ) 、生命周期服务( l i f e c y c l e s e r v i c e ) 、 安全服务等等。 命名服务( c o s n a m i n g ) :命名是通过个人可阅读的名字定位对象的主要机 制。命名服务将人可阅读的名字映射为对象引用。解析一个名字意味着获取与名 字关联的对象引用。绑定个名字意味着创建个名字到对象的关系。名字绑定 是根据某个命名上下文定义的。 查询服务( q u e r ys e r v i c e ) 查询服务是种服务,它查找那些属性满足组 搜索标准的对象。可以使用s q l 创建查询。查询操作包括在个对象集合上执行 搜索、选择、插入和删除等。 生命周期服务( l 谂c y c l es e r v i c e ) :生命周期服务提供了服务用于e 0 建、删 除、复制和移动对象。生命周期服务提供了机制用于定位可以创建对象的工厂, 也提供了基本的接口用于复制、移动和删除对象。 安全服务:c o r b a 的安全服务包括可倍臼爱喙的身份认证、访问控制、审 计记录、对象责任和证书、加密等。 e 使用c o r b a 构建分布式应用的优点 ( 1 ) 语言独立性 客户端和对象可以交互,而不管其各自实现的编程语言如 何,但需要假定编程语言已经定义了到o m g 接i = 1 定义语言的映射。当前 17 西安理工大学顿上学位论文 o m g 已为j a v a 、c 、c + 中、s m a l l t a l k 、a d a 、l i s p 和c o b o l 定义了映射。 ( 2 ) 位置透明性客户端和对象彼此不知道对方的网络内位置,允许其中一 个( 或两者) 重新定位,而不影响到另一个。 ( 3 ) 支持异构网络由于c o r b a 体系结构的平台无关性以及对不同厂家的支 持,各种c o r b a 兼容产品和存在于大多数操作系统及硬件平台的基本框 架允许c o r b a 跨越许多不同种类的系统。 ( 4 )运行不同厂家o r b 的客户端和对象可以好像它们定位在同一个o r b 上 一样通信。 2 2 3 j 2 e e 技术m m 2 2 3 1 j 2 e e 概述 j a v a ,原名o a k ,被认为是用于开发家用电器和其它装置的应用的一种软件 语言。随着i n t e r a c t 革命的兴起,j a v a 逐渐发展成为种带有a p p l e t 和j a v a b e a n s 等技术的客户端开发语言。后来,随着j a v as e r v l e t 和f a b 等技术的出现,j a v a 技术开始应用于企业分布式应用中。1 9 9 9 年,s u n m i c m s y s t e m s 发布了j 2 e e ( 即 j a v a 2 p l a t f o r m e n t e r p r i s e e d i t i o n ) 规范,该规范定义了一个多层企业信息系统的标 准,旨在简化和规范企业应用系统的开发和部署。近年来,j 2 e e 作为开发分布式、 跨平台、可伸缩的系统的标准平台和环境,已经成为种成熟的规范。j 2 e e 技术 和a p i 覆盖了企业级j a v a 开发的广泛领域,是一个很复杂的体系,涉及到数据库 连接、客户与用户交互、分布南苗信和通信服务、系统保证、企业w e b 使能以及 企业应用程序使能等。在实际的应用中,一般根据需要进行适当的选择。 在j 2 e e 中,容器、组件和应用程序编程接口a p i 是其中的主要部分。容器 是一种运行在眼务器上的软件实体,用于管理特定类型的组件。它为j 2 e e 组件 提供了执行环境。组件是个可以部署的程序单元,它以某种方式运行在容器中。 j 2 e e 定义了四种组件:a p p l e t 组件、a p p l i c a t i o n 客户组件、w e b 组件及e i b 第二章u m l 、j 2 e e 和c o r b a ( b 她删辩j a 咖蛔坞) 组件。其中,肖q , p l e t 和a p p l i c 面o n 客户组件在客户端运行, j 2 e e j a v a 插件为a p p l e t 提供运行环境,a p p l i c a t i o n 客户的容器就是本地的 j a v a 虚拟机。w e b 和f a b 组件在服务器端运行。j 2 e e 中包含两种w e b 组件:j s p 和s e r v l e ! 。它们是w e b 服务器的功能扩展,都能生成动态w e b 页面。不同的是 j s p 将j a v a 代码嵌入到h i m l 中,服务器负责解释执行,生成结果返回用户。而 s e a v l e t 是单独的j a v a 类,它动态生成h t m l 文件返回给客户。e j b 技术规范是 j 2 e e 平台的核心部分,它为构建可伸缩、分布式、基于服务器的企业j a v a 应用 提供了一种综合性的组件模型。它包括三种类型:会话b e a n 、实体b e a n 和消息 驱动b e a n 。图2 - 4 表示的是j 2 e e 组件和容器。 2 2 3 2 j 2 e e 组件技术 图2 4 a s e n , l e t s e l e c s 是一些可生成动态内容的w e b 组件。它们是令,亡在w w w 上看到的 最常用的j 2 e e 组件之一。它们提供了种有效的机制,用于基于服务器的业务 逻辑和基于w e b 的客户之间的交互。融 v l e t 最适用于处理简单的任务,如收集和 19 西安理工大学硕士学位论文 检查w e b 页面e 输入

温馨提示

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

评论

0/150

提交评论