




已阅读5页,还剩63页未读, 继续免费阅读
(电力系统及其自动化专业论文)基于corba的分布式ems软件设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
d e sig ndis t r u b u t e de n e r g ym a n a g e m e n ts y s t e mb yc o r b a a b s t r a c t t h en e wd i s t i n g u i s h i n gf e a t u r e sr e c e n t l ya p p e a r e di np o w e rs y s t e m sb e c a u s eo ft h es w i f to f p o w e rs y s t e mf r o mm o n o p o l i z a t i o nt oc o m p e t i t i o n t h ee n e r g ym a n a g e m e n ts y s t e ms o f t w a r eo f m o d e mp o w e rs y s t e m si sm o r ee n o r m o u sa n dc o m p l i c a t e dd u et ot h ei n t e r c o r m e c t i o no fl a r g e r e g i o n a lp o w e rs y s t e m sa n d t h et r a n s f e ro ff o c u sf r o mg e n e r a t i n gs i d et oc o n s u m e rs i d e h o wt of i t t h er e q u i r e m e n to fe x p a n s i b i l i t ya n dt r a n s p l a n t a b i l i t yb u ts t i l lk e e pt h ei n t r i n s i cm e r i t so ft h e e f f e c t i v e ,c o m p l i c a t e db u ts i m p l e f u n c t i o nm o d u l e so fo r i g i n a le m sb e c o m et h em o s te s s e n t i a l f a c t o t p o w e rs y s t e mh a st h ed i s t r i b u t e dc h a r a c t e r i s t i c f o ri n s t a n c e ,c o n s u n l e ro fp o w e ri sat y p i c a l d i s t r i b u t e dp r o c e s ss y s t e m w h i l et h ee m p h a s i so fs o f t w a r ed e s i g nc h a n g i n gf r o mg e n e r a t i n gs i d et o c o n s u m e rs i d e ,t h ec o n s u m e r - s i d ei si n c l u d e di nd e s i g n i n gt a r g e t t h e r e f o r et h es y s t e ms h o u l db ei n ad i s t r i b u t e de n v i r o n m e n t i nf a c t ,t h ee x i s t i n ge m s sa r ev a r i o u sf r o mp l a t f o r mt os y s t e ms t r u c t u r e t h ea t t e m p to f t r y i n gt oi n t e g r a t em o d u l e sf a i l e df o rh i g h c o s ta n dh a r d w o r ki ns p i t et h o s em o d u l e s w o r kw e l li n d i v i d u a l l y i t sb e c a u s eo ft h ep r o b l e mo ft r a n s p l a n t a b i l i t ya n de x p a n s i b i l i t y t r a n s p l a n t a b i l i t yr e q u i r e st h es t a n d a r d i z a t i o no fm o d u l ed e f i n i t i o n ,a n de x p a n s i b i l i t yr e q u i r e st h e s t a n d a r d i z a t i o no fi n t e r a c t i o nd e f i n i t i o nb e t w e e nm o d u l e s f o r t u n a t e l y , t om a t c ht h ep o w e rs y s t e m s n e wd e m a n d s ,d e v e l o p i n gh i g h - t r a n s p l a n t a b l ea n dh i g h - s c a l e a b l ep o w e ra p p l i c a t i o nb e c o m e p o s s i b l ea st h ea d v a n c e m e n to f c o m p u t e rt e c h n o l o g y , i n c l u d i n gc o m p o n e n t t e c h n o l o g ya n ds o f t w a r e b u sw h i c hc a nd e f i n ea l lt h es t a n d a r do fm o d u l e sd e f i n i t i o na n dt h ei n t e r a c t i o na m o n gm o d u l e s t h i st h e s i sl a y se m p h a s i so ni m p r o v i n gt h ed i s t r i b u t e de m sd e s i g nm e t h o da n da p p l y i n gt h e m o s tu p - t o ,d a t ed i s t r i b u t e dt e c h n o l o g ya n dc o m p o n e n tt e c h n o l o g yi ne m sd e s i g n t h i st h e s i s f o u n d san - t i e rs y s t e mm o d u l ew h i c hd e p l o y ss e r v i c e sa c c o r d i n gt or e s o u r c e s ,s u m m a r i z e sa g e n e r a lw a y t ot r a n s p l a n ts o f t w a r ef r o mo r i g i n a le m st od i s t r i b u t e de m s ;d i s c u s s e si nd e t a i la b o u t h o wt od i s t r i b u t em o d u l e sa n ds e r v i c er e c o n s t r u c t i o ni ns e v e r a lt y p i c a la p p l i c a t i o n s ;a p p l i e st h er u l e o f i m p l e m e n ts e p a r a t e dw i t hd e f i n i t i o n “a n dt h el a t e s ts o f t w a r et e c h n o l o g yi ne m sd e v e l o p i n g t h i st h e s i sa l s oi n t r o d u c e sal i g h t w e i g h te m si n c l u d i n gas t u d y - m o d ea p p l i c a t i o ns u c h 嬲 d i s p a t c h e rp o w e rf l o wp r o g r a ma n ds o m er e a l t i m e - m o d ea p p l i c a t i o n ss u c h a sar e a lt i m ed a t a b a s e s y s t e ma n das t a t ee s t i m a t ep r o g r a mb a s e d o nt h er e s u l t sa sm e n t i o n e da b o v ea n dc o r b a p r o g r a r a m i n g t h ed i s t r i b u t e ds y s t e m sc a p a b i l i t ya n dc o m p u t i n gr e l i a b i l i t ya r ev a l i d a t e db yt h e a n a l y s i su s i n gs c a d a d a t aa n dn e t w o r ks t r u c t u r eo fs h a n g h a if e n x i a np o w e rs u p p l yb u r e a u a t l a s t ,t h es o u r c ec o d e so f r e a l t i m ed a t a b a s ep r o g r a m ,t h es t a t ee s t i m a t ea n dp o w e rf l o wp r o g r a ma r e o v e r4 0 ,0 0 0l i n e sa n d3 2 ,0 0 0l i n e s ,w h i c ht o o km em o r et h a n2y e a r st of i n i s ht h e m k e y w o r d s e m s ,n - t i e rs y s t e m ,c o m p o n e n tt e c h n o l o g y ,c o r b a ,d i s t r i b u t e dc o m p u t i n g , s o f t w a r eb u s 上海交通大学 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容外, 本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式 标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:鑫劣 日期:邪2 年明文日 上海交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅。本人授权上海交通大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存和汇编本学位论文。 保密函,在三一年解密后适用本授权书。 本学位论文属于。 不保密口。 ( 请在以上方框内打“4 ”) 指导教师签名: 9 包晾 日期:o 蜱牛月e l 勇【 饼,胡 氢 月 奎 铲 者 储 诨 文 跏 捌 耖 僦 肌 学 日 基于c o r b a 的分布式e m s 软件设计 1 绪论 1 1 电力系统e m s 软件的现状研究 电力系统是一个典型的分布式系统,其运行带有明显的分布式特点。电力 系统应用软件和信息分布也因此带有分布、异构的特点。主要表现在:电力系统 在地理上有分散的特点,应用软件面向的范围、使用它们的单位等都不可避免的 带有地域上的分散特点;电力系统数据分散于众多节点,应用软件的数据来源广 泛( 如网局、省局、市局等) ,形式多样( 如文件、数据库、电子表格等) ;应用 系统实施不同,系统间通过局域网、广域网甚至i n t e r n e t 等互联而成,网络通信 协议千差万别;硬件平台多样化:从大型主机、u n i x 工作站到p c 机,从单处 理器到多处理器,从c i s c 结构到r i s c 结构等等;软件平台、操作系统多样化: 从w i n d o w s 、w i n d o w sn t 、n e t w a r e 到v m s 、u n i x 、l i n u x 等等;应用软件开 发工具、开发语言多样化,常用的语言就有c 、c + + 、f o r t r a n 、j a v a 等;解决 方案各异,统一网局内m i s 系统、s c a d a 系统、配电网自动化系统等可能由不 同技术小组解决,应用的实现必然各不相同。 目前国内的s c a d a e m s 系统就存在多种开发和应用模式。 国内s c a d a 系统的结构基本上是实时数据库,图形系统,前置机系统, 数据处理功能这几大模块。其中最为核心的实时数据库系统决定了整个系统的设 计和运行模式,主要是两大类,一是以南瑞公司为代表的“分布式”模型,一是 以其他厂商( 如鲁能积成、上海申瑞等) 为代表的客户服务器模型。前者虽然称 “分布式”,事实上不是真正意义上的分布式数据库模型;系统中存在多份实时 数据拷贝,需要维护多个节点实时数据的同步刷新。如南瑞公司的o p e n 2 0 0 0 , s d 一6 0 0 0 ,r d 8 0 0 ,w n t - 8 0 0 0 等系统都是采用这一种模型。相对这种分布式结 构而言,客户服务器模型具有更大的优越性。实时数据库服务器提供统一的接口, 所有的客户应用通过实时数据库a p i 访问实时数据库,实时数据在整个系统中唯 一,不存在数据冗余。此外还有一些更为低级的系统设计,如没有实时数据库概 念,应用程序只通过一个共享内存块来交换信息,一般只应用在变电站当地监控 中。随着i n t e m e t i n t r a n e t 技术的发展,国内的s c a d a 系统也提供了基于w e b 方式的功能实现,如采用j a v a a p p l e t 或a c t i v e x 的方法在浏览器中进行实时运行 系统信息的浏览和显示。 对于e m s 系统,国内各大省级电网一般采用国外的系统,而地调一般采用 国内的产品。最为代表性的有电科院的c c 2 0 0 0 ,南瑞公司的o p e n 2 0 0 0 ,清华 大学的t h p a s ,此外还有东方电子等厂家的e m s 系统。这里所说的e m s 主要 基于c o r b a 的分布式e m s 软件设计 是指位于s c a d a 系统之上的e m s 高级应用软件系统,如网络建模、拓扑处理、 状态估计、调度员潮流、优化潮流等高级应用功能。e m s 一般有两种开发模式, 一是与s c a d a 系统集成的模式,高级应用只是应用软件,实时数据库系统与 s c a d a 系统采用同一系统,高级应用定义数据库模型,与s c a d a 数据模型交 互获取实时数据,形成电力系统网络模型,然后进行分析计算,m m i 也和s c a d a 系统共用。如南瑞的o p e n - 2 0 0 0 ,电科院的c c 2 0 0 0 等都是这种开发模式。还有 一种模式就是电力公司采购不同厂家的s c a d a 系统和e m s 系统进行集成,这 种情况下e m s 高级应用一般具有独立的实时数据库系统和图形系统,e m s 系统 首先建立网络模型,然后通过和s c a d a 实时数据库系统进行数据交换获取系统 的采集数据,在此基础上进行网络应用分析计算。清华大学的t h p a s 系统一般 通过这种方式和其他s c a d a 系统集成。( 广义的e m s 包括s c a d a ) 然而,由于这些软件之间差异的存在,系统的扩展、维护变得难以预计的 困难;不同系统之间的访问要么无法进行,要么需要解决诸多纯粹技术上的转换 问题。各个软件之间的信息交换无法透明的进行,各自的数据缺乏统一的维护, 最终出现一个应用一套数据的情况,造成大量的信息冗余,并且数据的同步问题 随着应用的增多逐渐突出。这种“信息孤岛”、“功能孤岛”所造成的直接后果 是应用系统开发周期长、投资高、资源浪费严重,系统的质量难以保证,系统难 以维护。为了解决电力系统中与曰俱增的信息集成问题,必需有一种支持分布异 构计算环境下互操作的开放的技术和标准。 随着系统规模的扩大,软硬件技术的不断更新,电力系统软件所处理的对 象范围逐渐扩大、要求软件系统综合化、归一化。系统集成的规模到一定程度, 不可避免的遇到这样的问题:不同设计的系统如何才能有效、正确的共存呢? 首先,必须解决信息交换的问题。 电力系统是较早引入计算机技术的行业之一,多年下来积累了不少优秀的 软件,并已经出现了一些大型多功能、综合型的电力系统分析软件,如e m t p 、 e m t d c 、n e t o m a c 、p s s e 、b p a 、s i m p 0 w 等。更为复杂的系统,如调度自 动化系统、能量管理系统等以计算机软硬件技术为基础的现代电力系统的综合自 动化系统也开始应用,成熟。为改变这些不同时间开发的,基于不同平台的、使 用不同语言、采用不同结构的软件之间信息零散控制的状况,需要一种机制来实 现不同应用的信息方便交换。 其次,必须解决软件重用问题 计算机硬件的发展从电子管时代到超大规模集成电路乃至神经元芯片的产 生经历了一次又一次巨大的飞跃,终于形成了大规模的高效的生产能力。一个非 常重要的原因是硬件领域内有大量的可重用的构件。软件重用技术是提高软件生 产效率和软件质量的至关重要的技术,也是现代软件工程学研究的重点。一般认 2 基于c o r b a 的分布式e m s 软件设计 为,软件重用可分为代码重用、继承重用、组件重用、设计模式重用以及架构重 用等几个层次。代码重用和继承重用都是源代码级的重用,效率不高。国际上研 究的热点是组件重用、设计模式重用和架构重用。同时从降低成本角度来考虑, 这种方法必须可以利用原有一些成熟的技术,进行适当改造,就可以适应现在的 软硬件环境的需要。 目前我国电力系统e m s 软件开发已逐渐采用组件技术。许继的a u t o p - - 3 0 0 0 电网调度自动化系统2 0 版、东方电子集团的d f 8 0 0 2 、g e 公司的x a 一2 1 能量管理系统等都采用组件技术作为系统构建的基础。例如p m o s ( 暂名待改) 是东方电子最新推出的、面向省级电力市场运营部门的适合“竞价上网、统一调 度”的新型电力市场技术支持系统产品,它建立在电力市场技术支持系统、能量 管理系统、电能量计费系统、配电自动化系统统一设计的支撑平台之上,以i e c 6 1 9 7 0c c a p i 的c i m 和c i s 为标准,系统的设计遵循开放分布式的系统设计思 想,在实用性、安全性、标准化和可扩展性等方面充分考虑电力市场多变和发展 的需要,并重点强调安全性。该产品结合国内外电力市场的发展现状和未来电力 市场技术支持系统的发展特点,开始了将面向对象数据库技术、通信技术、中间 件技术、i n t e m e t i n t r a n e t 技术和电力系统原有的高级应用技术有机的结合在一起 的尝试。同时,这些产品中无一例外的将其分布式特点作为产品的买点进行宣传。 研究中发现,分布式系统无论是对模块设计还是系统结构都产生了深刻的影响, 本论文就组件技术与分布式系统对e m s 系统的研究设计与实现进行探讨。 1 2e m s 软件相关技术简介 对象模型是面向对象计算中的概念。一般来说,对象模型是考虑问题及其可 能的解决方案的概念性框架。对象模型的基础是对象这一基本概念,对象是有特 定的行为和属性的实体,是现实世界的实体,提供了把行为和属性结合为单独实 体的手段。对象模型的出现以及与之相关的面向对象的设计方法,面向对象的编 程方法等开辟了软件开发的新局面。 组件( c o m p o n e n t ) 是软件重用的基础。它是具有某种特性和功能的相对独 立的软件单元。它是在对象、类以及类的聚集等概念的基础上发展起来的。组件 可类比于硬件系统中的集成块或插件。它为软件开发,尤其是大型的软件开发和 软件生产,开辟了有效的途径。 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 ,通用对象请求代理体 系结构) 标准由国际对象管理组织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 的分布式e m s 软件设计 组件重用是组件的特性之一。非组件化的软件模块,可以通过对象适配器纳 入到组件范围来,以提高其可重用性。 1 3 论文主要目标 作为一种实现方案,本文采用b o r l a n d 公司的v i s i b r o k e r 。 第二章主要讲述本方案中使用的概念和技术。其中包括多层模型概念、面 向对象技术和组件技术、分布式计算与c o r b a ,中间件、组件的重用技术及其 在电力系统中的应用。 第三章讲述了e m s 系统的构成,以及在传统e m s 应用中分布式计算的应 用方式。e m s 与s c a d a 等应用最适合分布式的体系结构,但这种体系结构如 何引入到现有的e m s 系统中呢? 这一章专注于这一点的解决。 第四章详细讲述了利用v i s i b r o k e r 作为解决方案的分布式e m s 软件的框 架。 第五章详细介绍了基于本文思想的一个分布式e m s 系统实现。 第六章为全文总结。 4 基于c o r b a 的分布式e m s 软件设计 2 组件技术与电力系统e m s 随着计算机软件技术的发展,e m s 的研究开始与目| j 的一些最新技术相结 合。各厂商和研究机构不约而同的采用了组件技术与分布式系统设计方案。本章 主要介绍e m s 软件中相关的一些技术和概念。 2 1 面向对象技术 面向对象技术兴起于二十世纪8 0 年代,已在软件生存期的各个阶段取代了 传统的结构化方法,成为当前软件开发的主流技术。面向对象技术将数据和对数 据的操作作为一个相互依赖,不可分割的整体。采用数据抽象和信息隐蔽技术, 将研究目标抽象为一系列的对象,及其实例之间的相互联系。这符合人们的思维 习惯,同时有助于控制软件的复杂性。 面向对象包含对象、类、对象的关系( 继承等) 。 对象是面向对象开发方法的基本成分,它把研究目标内有关的现实世界的 实体模型化。典型的对象描述包含实体的属性和相关的操作。 类是一组具有相同数据结构和相同数据操作的对象的概括。类是对一系列 具有相同性质的对象的抽象,是对对象相同性质的描述。在一个类中,每个对象 都是类的实例。 继承是使用已存在的定义为基础产生新定义的技术。新类的定义可以是即 存类所声明的数据和新类所增加的声明组合,新类复用即存的定义,而不修改即 存类。即存类作为基类进行引用,新类作为派生类引用。这种复用技术大大降低 了软件的开发费用。 面向对象开发过程本质上是一个建模过程。开发人员通过分析问题域中实 体的属性、行为、约束等,抽象出能描述这些实体共同结构与特征的概念,然后 在计算机中利用类建立这些概念的系统模型,再通过类创建具体的对象实例模拟 问题域的实体行为。面向对象开发方法强调将系统功能建立在系统模型之上,所 有系统功能采用底层的系统模型提供的术语来表达,从而提高了软件系统的可扩 展性与可维护性。 除了封装与信息隐藏、数据抽象、模块化等特征外,面向对象技术的最主 要特色是继承与多态性。继承是日常生活中的i s a 关系在程序中的显式表达,是 重用数据与操作的重要手段。多态性有十分广泛的含义,这里主要是指运行期f 、日j 程序表现出来的多态性,它建立在继承与动态绑定的基础上,使得一个对象可以 基于c o r b a 的分布式e m s 软件设计 具有多种不同的动态类型,从而大大提高了面向对象程序的表达能力。 面向对象技术的核心即复用。面向对象软件工程的过程即将待分析系统视 为不断演化的系统,然后在分析和设计中不断发现可复用构件,并用鼓励可复用 构件组装的方法构造系统的过程。因此构造能够在未来相似问题领域中复用的可 复用面向对象构件和方法库是面向对象系统设计中的重要任务。 面向对象系统设计从本质上是寻求目标系统结构和功能模型解决方案的过 程。它包括将原系统按照一定的粒度分解为相互协同的对象和对象集( 部件或模 块) ,建立对象之间的结构组成和抽象继承关系,设计对象的交互接口及系统与 运行环境间的接口等。由于电力系统计算分析软件包含的模块众多,涉及的对象、 接口和方法数以百计。传统的对象定义如果只是停留在一般性的描述上,势必在 对象的抽象全局统一性,以及扩展性、可修改性、可复用性上带来相当难度。同 一类对象在不同的应用中如果定义不同,那么在这些应用程序的集成上将因为同 一个对象的不同描述而产生混乱。特别的,一旦算法的改进涉及到定义的修改, 势必所有涉及到此定义的应用均需重新修订;而如果修改不彻底遗留下不同的版 本,那么这些版本之间是否带来冲突则无法控制。因此,在对象的定义上必须采 用更进一步的“定义与实现分离”来定义电力系统对象。 e m s 软件中涉及到的大量的实体抽象是可重用的。同时随着电力系统软件 的发展,更高层次的对象分析也势在必行。在国内某些研究机构已经尝试将整个 电力系统作为一个项层对象应用到某些具体应用的面向对象数据库设计中去。在 电力系统这样的专业领域,对比于将算法作为对象的方法,将算法作为独立的对 象在组件技术以及“定义与实现分离”中有其独到之处。这种情况缘于电力系统 的一个重要特点:即算法种类多,所需原始数据不尽相同。这些都对面向对象技 术在电力系统的应用提出了更高的要求。 2 2 组件化程序设计 组件( c o m p o n e n t ) 是可复用的软件组成成份,可被用柬构造其他软件。它 可以是被封装的对象类、类树、一些功能模块、软件框架( f r a m e w o r k ) 、软件构 架( 或体系结构a r c h i t e c t u r a l ) 、文档、分析件、设计模式( p a t t e r n ) 等。组件分 为组件类和组件实例,通过给出组件类的参数,生成实例,通过实例的组装和控 制来构造相应的应用软件。从软件模型的角度来看,系统一般是划分为模块进行 开发的。这些模块能完成独自的功能,模块之i 日j 协同工作,能够单独了于发、单独 编译、单独测试维护。这就是组件。随着系统规模的扩大,模块划分越来越多, 越来越复杂,组件技术在软件设计中得到很大发展。 目前,组件技术的标准主要有三种:国际对象管理组织o m g ( o b j e c t m 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 r 6 基于c o r b a 的分布式e m s 软件设计 a r c h i t e c t u r e ,通用对象请求代理体系结构) 标准、m i c r o s o f t 的c o m d c o m ( c o m p o n e n to b j e c tm o d e l d i s t r i b u t e dc o m ,组件对象模型分布组件对象模型) 标准以及s u n 公司的e j b ( e n t e r p r i s ej a v a b e a n s ) 标准。 这三个标准各有特点。但真正实现了跨平台异构操作的只有c o r b a 。由于 c o r b a 具有诸多优异的性能,它被誉为“二十一世纪的软件总线技术”。所谓 软件总线的功能,就是起到类似于计算机系统硬件总线的作用,只要将应用模块 按总线规范作成组件,插入总线即可实现集成运行。从而实现所谓的“即插即用”。 目前,c o r b a 技术已经在机械制造、电信、金融、证券等领域中得到了成 功的应用。但在电力系统领域内仍罕有应用。其实组件并非新概念。例如日常 生活中大部分家具是组件化的;计算机硬件组装是组件化;电力系统一套保护装 置柜中各保护单元也是组件化。它们的共同点在于各个部件有预先定义的使用规 则和形状、位置等统一的规范的描述。软件中的组件化与它们类似,同时也有其 独到之处一一组件技术要求描述的规范化、交互方式的规范化。 组件技术的一个特点就是“定义与实现分离”。将一个大型系统划分为若干 模块,将一个模块的接口与实现相分离,并进一步能为一个接口提供多个实现, 这是大型程序设计追求的目标之一。这一设计目标直接带来的好处是有可能在不 同时间空间效率的算法和数据结构之间作出折衷选择。接口与实现的分离要求 将模块的私有部分归属到实现一方,接口只提供模块对外公开的信息,并且接口 与实现之间不再简单地通过相同的名字进行匹配。 将对象接口与对象实现分离后,对象接口成为向外公布对象行为的唯一途 径。为保证对象接口的可用性,对象接口的定义应允许包括对象的名字、对象上 可进行的操作( 操作名字、参数类型、返回结果、可能产生的异常等) 、对象上 可访问的属性( 实际上可归结为一种0 元操作) 、相关的数据类型定义、常量定 义、异常定义等信息。 组件技术的具体实现并不要求一定是面向对象的,但面向对象的组件技术 却能同时获得面向对象技术和组件技术的优势。这意味着,组件之间的相互关系 可以以类( 对象) 的方式进行描述。 o m g 的接1 2 1 定义语言( i n t e r f a c e d e f i n i t i o n l a n g u a g e ,缩写为i d l ) 就是书 写这种面向对象的标准描述语言。客户方与服务方必须使用这种统一的语言才能 正确地理解共同对象的特性。( 由于在分布式计算领域还存在d c e 的i d l 、 m i c r o s o f t 的i d l 等其他缩写为i d l 的接口定义语言,所以由o m g 发布的接口 定义语言通常简写为0 m gi d l 。) 0 m gi d l 能够给出完整的接口定义,包括每一个操作需要的参数、返回结 果、上下文信息以及可能引发的异常等,完全可胜任对复杂对象的规格说明的无 二义性描述。o m gi d l 具有如下特点: 7 基于c o r b a 的分布式e m s 软件设计 具有面向对象的设计风格。 可用于定义分布式服务的规格说明。 可用于定义复杂的数据类型。 独立于具体的程序设计语言。 独立于特定的硬件系统。 0 m gi d l 是一种说明性( d e c l a r a t i v e ) 语言,而不是一种程序设计语言, 程序员的编程工作仍然采用传统的面向对象或过程式程序设计语言编写客户端 代码和服务端代码。o m gi d l 用于定义由远程对象所提供服务的接口,包括分 布式对象的服务能力以及由客户程序和服务程序共享的复杂数据类型。i d l 支持 整数、浮点数、字符、宽字符、布尔值、八进制位组、a n y 等基本数据类型,并 可利用t y p e d e f , s t r u c t 、u n i o n 、e n u l l l 等方式合成更复杂的数据类型。 由于用i d l 编写的对象接口担当了中间角色,客户程序无法( 也无需) 知 道服务端代码采用什么程序设计语言编写,程序员编写服务端程序也不必预测访 问服务对象的客户程序由什么程序设计语言编写。这时,同一接口、多种实现的 目标可轻而易举地达到。在c o r b a 模型中,对象实现对外提供信息和服务,客 户程序利用这些信息与服务完成某些功能。这些信息与服务是对象实现与客户程 序之间的一种合约( c o n t r a c t ) ,只有严格遵循合约的规定双方才有可能协调工作。 应注意的是o m gi d l 仅定义了规格说明中的语法部分,未包括任何语义信 息,因而一个i d l 接口还不能理解为一个完整的抽象数据类型。这对于实现软 件自动化或软件重用的目标是不够的。 电力系统软件中模块的概念应用甚久。这为组件技术的应用打下了良好基 础。特别的,e m s 中许多软件模块本身的设计,就要求在与其他模块之间达到 “即插即用”的效果。例如规划软件中对负荷预测中结果的可靠性校验模块就达 到了“即插即用”。根据客户的要求,可靠性校验可以进行也可以不进行。进不 进行对于处在处理过程下端的规划模块的接口没有影响。对于这种类似模块的组 件化改造都比较容易。 2 3 多层模型的概念 典型的客户机服务器体系结构又称为两层( 2 t i e r ) 模型。在两层模型的 设计中,由客户应用程序直接处理对数据库的访问。因而每一台运行客户应用程 序的客户机都必须安装数据库驱动程序,增加了系统安装与维护的工作量。同时, 数据库由众多客户程序直接访问,导致数据的完整性与安全性难以维护。 在两层模型中,中间层( 又称逻辑层) 通常包含在应用程序里作为程序一 部分。小规模系统中这不成问题,因为逻辑层很清楚与那一个数据层交换;但在 大规模系统中,不同应用程序共享同一种逻辑时,就很成问题。例如这种逻辑关 8 基于c o r b a 的分布式e m s 软件设计 系发生变化时,不得不修改所影响到的应用程序。 为提高数据的安全性与系统的可扩充性,可在两层模型的基础上考虑采用 三层( 3 t i e r ) 或多层( n t i e r ) 设计模型,将数据访问分布在一个或多个中间层。 客户程序与数据库的连接被中间层屏蔽,客户程序只能通过中间层间接地访问数 据服务。中间层可能运行在不同于客户机的其他机器上,经过合理的任务划分与 物理部署后,可使得整个系统的工作负载更趋均衡,从而提高整个系统的运行效 率。一个稳定的系统,当一个应用改变时,应该能不影响其他应用。三层模型能 满足这个要求。 这些位于中间层的中间件( m i d d l e w a r e ) 又称应用服务程序( a p p l i c a t i o n s e r v e r ) ,因为它们实际上表达了一个企业处理信息的主要业务逻辑( b u s i n e s s l o g i c ) ,即企业的系统模型与功能模型,而客户程序仅实现用户界面,完成终端 用户与业务逻辑之自j 的交互。这大大简化了最终客户端的工作量,并由此带来了 极大的灵活性。 组件技术与三层模型之间可谓相得益彰。组件的“定义与实现分离”特点 使三层甚至是多层模型的实现变得简单。可以这样简单的认为:组件的实现部分 可以认为是一个两层模型的实现( 组件与后台数据之间) ,而客户部分与组件的 实现部分通过组件的定义又形成了一个两层模型的实现。这样就构成了一个三层 模型的实现。如果中间层本身又具有复杂结构,那么这构成了多层结构。 多层模型中,客户端与服务端的界限受到削弱。所有的组件,都有可能申 请其它组件的服务,也可以对外提供服务。这一点的意义在于:完全可以采用已 有组件,再采用新的组合方式就可以完成一个新的中间件。即可以从一个服务演 化出其他的服务。系统的可扩展性得到了加强。而处于多层模型一端的“客户” 可以认为是只请求其他组件的服务的组件,另一端的“服务”可以认为是只提供 服务的组件罢了。 9 摹于c o r b a 的分布式e m s 软件设计 匝珥困圄 : :一 i: 图2 1 多层模型示意图 从客户程序的角度来看,中间件将企业的所有业务逻辑抽象为更高层次的 应用程序接口或对象接口,客户程序则通过这些接口构建整个企业的应用系统。 与典型的两层模型相比,三层模型或多层模型可更好地支持对企业业务逻辑的集 中控制与管理。同时在另一方面,客户机只与中间件交互,给系统的分布式展开 留下了充分的余地。服务的位置、参数、甚至平台等特性对客户机透明,这已经 带有了分布式系统的基本特点了。 2 4 分布式计算 分布式计算( d i s t r i b u t e dc o m p u t i n g ) 是两个和多个软件互享信息,这些软 件既可以在同一台机器上运行,也可以在通过网络连起来的几台不同机器上运 行。绝大多数的分布式计算是基于客户端服务器模型的。在客户端j l 务器模型 内,有两类主要的软件:客户机软件和服务器软件。客户机软件提出信息或服务 的请求:服务器软件则提供这些信息或服务。 在分布式计算中,网络侧重于它的计算功能。在分布式数据中,完成一件 工作时,数据可能来自于网络中不同的机器,但对于这些数据的处理却是在本机 中完成的。而在分布式计算环境中,数据的处理不只是在一台机器完成,而是多 台机器协作完成的。比如,为了处理一项工作p ,它由两部分工作组成,p a 和 p b 。如果我们把p a 放在机器a 中完成,p b 处理放在机器b 中完成,那么它们 就形成了一个分布式的计算。计算机的计算总是离不开数据,所以,在大部分情 况下,分布式计算总是伴随着分布式数据。 共享稀有资源和平衡负载是计算机上行分布化和计算机下行分布化的核心 思想之一,这两种技术都是把非分布式计算转向分布式计算。计算机上行分布化 1 0 基于c o r b a 的分布式e m s 软件设计 ( c o m p u t e ru p s i z i n g ) 是指把业务从p c 机上的非分布式计算转移到网络分布式 计算( 包括p c 机、高性能服务器和工作站) 的过程。计算机下行分布化( c o m p u t e r d o w n s i z i n g ) 是指把业务从实验室里的大型机上的非分布式计算转移到办公室里 的工作站和p c 机上的分布式计算过程。 分布式计算的主要优点是通过使用如下技术使计算资源的使用更加有效: 计算资源的共享。例如一台高性能打印机和绘图仪。一个计算由整个网 络中的所有计算机来处理总比单台机器要快一些。另外,一些运算速度比 较慢的客户机也可以用运算速度比较快的服务器来协作完成某项工作 降低网络负载。虽然网络技术飞速发展,网络的带宽不断的增加,但总 是有限的。在分布式数据处理中,在网络中传递的数据量是非常大的。例 如在某些模式下统计数据,使用s q l 语句查询数据库会把一整张表放在网 络上。如果在网络中所传输的仅仅是一些数据处理后的结果,而不是前面 所说的大量的中间数据,整个网络的负荷就会降低了。 把应用程序放在最符合需要的机器上。例如考虑到某些软件的安全性。 我们可以把一些关键的计算过程和数据放在服务器上,并给予特殊的安全 保护。又例如计算密集型的软件可以放在高性能计算机上运行,而将与相 对低速外设接口的软件可以放在配置稍差的计算机上运行。 在不同机器上平衡计算负载。当有若干个同类的服务时可供选择,分布 式计算可以根据各个服务的繁忙程度来动态分配请求。 结构上的优势。在某些软件领域,采用分布式结构可以获得内在的优势。 本文探讨的e m s 软件以及s c a d a d m s 软件,由于涉及到的范围、目标自身的 分布性,采用分布式结构会解决许多非分布式系统的内在缺陷。事实上电力系统 的分布式特点是不言而喻的。其运行上的分布式特点也必然在软件设计上有所体 现。例如:s c a d a 系统中r t u 的分布性决定了s c a d a 的分布性。e m s 软件 的发展将越来越多的用户侧数据带入e m s 的数据源( 这是一个庞大的分布式数 据源) 。d m s 由于与配电有关,其分布式特点也是非常明显的。如i j i 所述,许继 的a u t o p - - 3 0 0 0 电网调度自动化系统2 0 版、东方电子集团的d f 8 0 0 2 、g e 公司 的x a 2 1 能量管理系统都力求在分布式特点上有所突破。这些产品都在其主要 部分中加入分布式因素作为面向i n t e r n e t i n t r a n e t 乃至电力系统改革的有力武器。 因此,完全可以认为,电力系统的发展方向就是走分布式处理的技术路线。 2 5c o r b a o m g 是一个由业界七百六十多个公司组成的工业协会,这些公司成立 o m g 的目的就是为了共同制定出一个大家都遵循的分布式对象计算标准。o m g 的目的则是为了将对象和分布式系统技术集成为一个可相互操作的统一结构,此 基于c o r b a 的分布式e m $ 软件设计 结构既支持现有的平台也将支持未来的平台集成。而这一切所有的努力的结果就 是对象管理体系( o m a ) 。c o r b a 说明了o m a 的基础“对象请求中介” ( o r b ) 标准,在o r b 标准中,不仅提供了c o r b a 基础架构说明 c o r b a9 7 , 并且还提供了一系列服务,例如安全、交易和消息传递等。对象请求代理( o r b ) 标准,使得在分布式环境下对象之间能够透明的发送请求和接收响应。它是在分 布式对象上建立其他应用的基础,也是在异构或同构环境下实现互操作的基础, 是分布式对象系统之间发送和接收消息的“软总线”。 o m g 组织推出的公共对象请求代理结构( c o r b a ) 是o r b 的一种实现。 c o r b a 是一种标准的面向对象应用程序体系规范。c o r b a 最初是对象管理组 织( o m g ) 在1 9 9 0 年1 1 月出版的对象管理体系指南中定义的。 c o r b a 使应用程序能够使用一个共同的接口,这个接口可以在多种平台和 多个开发工具中用接口定义语言(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 混凝土路面热天施工方案
- 梧州职业学院《行草创作(3)》2023-2024学年第二学期期末试卷
- 宁波卫生职业技术学院《地貌与第四纪地质学》2023-2024学年第二学期期末试卷
- 吉林艺术学院《建设项目投资与融资》2023-2024学年第二学期期末试卷
- 湖北数字化施工方案
- 江苏师范大学《秘书从业技能训练》2023-2024学年第一学期期末试卷
- 吉林外国语大学《播音学(一)》2023-2024学年第二学期期末试卷
- 湖北净化彩钢板施工方案
- 脱硫塔平台施工方案范本
- 武汉交通职业学院《河北医家学术思想与临床研究》2023-2024学年第二学期期末试卷
- 第6课《现代科技进步与人类社会发展》课件-高中历史统编版(2019)选择性必修二经济与社会生活
- CO变换工艺发展过程及趋势
- 北师大版数学六年级下册-总复习课件(精编版)
- 经济效益证明(模板)
- 设备检修登记表
- D建筑消防设施故障维修记录表
- 高等数学上册ppt课件完整版
- 青霉素过敏性休克抢救
- 应用型人才核心素养总体框架(模板)
- 新时期当好社会组织秘书长的若干思考课件
- 太阳能电池的特性完整课件
评论
0/150
提交评论