




已阅读5页,还剩62页未读, 继续免费阅读
(模式识别与智能系统专业论文)基于组件技术的组态软件的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
】南大学硕士学位论文 摘要 摘要 组态软件是一种面向自动化现场工程师的工业控制软件。组态软 件的目的是让用户在生成自己的应用系统时,不需要进行编程,只要 用它提供的功能模块进行配置就能够满足要求。基于当前应用的现状 和需求,本文提出了适用于电力系统的小型监控组态软件的解决方 案。 本论文研究和分析了当前一些流行的组态软件所采用的先进技 术,并且根据组态软件应用的特点,提出了基于组件技术来实现组态 软件的思想。对组态软件的数据流进行分析,从逻辑结构上划分出了 组态软件的基本子系统,并实现了基本功能。对图形子系统的软件结 构、图形组件的设计、图形对象的管理、图形对象的动画连接等问题 进行了深入的分析和实现,同时采用双缓冲和多线程技术,使绘图的 稳定性和效率有了很大的提高;设计了一种实时数据库并给出了实现 方法;提出了一种新的存储策略来解决具有不同存储周期的实时数据 的存储问题;提出了一种利用图形组件实现报表组态的方法;设计了 一种通讯组态存储结构,使通讯参数设置和数据报文的解析具有较强 的灵活性;在串行通讯过程中采用了异步通讯机制,使通讯效率和可 靠性有了很大的提高。 论文最后对组态软件的研究和开发工作进行了总结,并对进一步 的工作提出了几个需要重点研究的问题。 关键词组态软件,组件,面向对象,实时数据库 主堕叁兰堡主堂垡堕苎垒兰竺! 堕 a b s t r a c t c o n 行g u r a b l e s o f t w a r ei sa ni n d u s t r yc o n t r 0 1 s o f h v a r et h a ti s d e s i 辨e d f 昕a u t o m a t i o n e n g i n e e r s i t m a k e sm eu s e r sb u i l dt h e i r 印p l i c a t i o n s w i t h o u t p r o g r a m m j n g i tc a nm e e tt h e r e q u i r e m e m sb y c o n n g u r i n gs o m e 向n c t i o n a lm o d u l e sp r o v i d e db yc o n f i g u r a b l es o f t w a r e b a s e do nt h ec u r r e n ts t a t u sa 1 1 d r e q u i r e m e m s o f a p p l i c a t i o n , t h i s d i s s e n a t i o n p u t s f i o r w a r das o i u t i o nf o rs m a l l - s c a l e s u p e n ,i s i o n c o n 矗g u r a b l es o f c w a r et h a ti ss u i t a b l ef o re l e c 仃i cp o w e rs y s t e m t h i sd i s s e r t a t i o ni n v e s t i g a t e sa 1 1 d a 1 1 a 1 v z e s s o m ea d v a n c e d t e c h n o l o g i e sa d o p t e db y s o m e p o p u l a rp r o d u c t so fc o n f i g u r a b l e s o r w a r e a c c o r d i n gt ot h ec h a r a c t e r so fa p p l i c a t i o n ,i ta l s ob r i n g sf o n a r da ni d e a t h a ti m p l e m e n t i n gc o n f i g u r a b l es o f l w a r eb a s e do nc o n 【p o n e n tt e c l l i l 0 1 0 9 y t h es u b s v s t e m so fc o n f i g u r a b l es o f h a r ea r eb u i l tt 1 r o u g ht h ea n a l v s i so f d a t an o 、a n dt h e i rb a s i cf - u n c t i o n sh a v eb e e nr e a l i z e d s o m e 口r o b l e m si n g r a p h i cs u b s y s t e mh a v e b e e nd e e p l y a n a l y z e da n dr e a l i z e d ,i n c l u d e s o f i t w a r e 丘a m e w o r k ,g r 印h i cc o 1 p o n e n td e s i 印,g r 印h i co b j e c t m a n a 卫e m e n ta n da n i m a t i o ns h o w d o u b l e b u 王i f e rm e c h a i l i s ma n d m u l t i t h r e a dt e c h n 0 1 0 9 ya r eu s e dt oe n h a n c et h ed r a w i n gs t a b i l i t va n d e m c i e n c ya m e t h o dt ob u i l da n di 埘l p l e m e n tar e a l t i m ed a t a b a s ei s p r e s e n t e di n “sd i s s e r t a t i o n w ep u tf o r w a r das t o r a g em e t h o dt os o l v e t h ep r o b l e mt h a ts t o r e sm er e a l 一t i m ed a t ai nd i f 话r e n ts t o r a g ec y c l e a m e m o dm a ti m p l e r n e n t i n gr e p o r tf o h n sc o n f i g u r a t i o nb yu s i n g 簪a p h i c c o m p o n e m s i s p u t f o r w a r d as t o r a g es t m c t u r ei s d e s i 印e d f o r c o m m u n i c a t i o n c o n 丘g u r a t i o n i ti sp r o p i t i o u st oe n h a l l c em en e x i b i l i t yi n c o n n g u r a t i o no fc o m m u n i c a t i o np a r a m e t e ra n de x t r a c t i n gd a t ac o n t a i n e d i nt h ed a t a 伊a m a s y n c l l r o n o u sc o m m u n i c a t i o nm e c h a n i s mi sa d o p t e dt o i m p r o v em ee 街c i e n c ya n dr e l i a b i l i 口i ns e r i a lc o m m u n i c a t i o n i nt h ee n d ,m er e s e a r c ha n dd e v e l o p m e n to f c o n f i g u r a b l es o f l w a r e h a sb e e ns u m m a r i z e d s e v e r a li m p o r t a n ti s s u e sn e e dt ob er e s e 盯c h e da t n e x ts t a g eh a v eb e e n p u tf b n a r di n “sd i s s e r t a t i o n k e yw o i 国s c o n n g u r a b l es o r w a r e ,c o m p o n e n t ,o b j e c to r i e n t e d , r e a l t i l 加ed a t a b a s e 1 1 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得中南 大学或其他单位的学位或证书而使用过的材料。与我共同工作的同志对本 研究所作的贡献均已在在论文中作了明确的说明。 作者签名:羔l 盏日期:兰里生年上月坐日 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校有权 保留学位论文,允许学位论文被查阅和借阅;学校可以公布学位论文的全 部或部分内容,可以采用复印、缩印或其它手段保存学位论文:学校可根 据国家或湖南省有关部门规定送交学位论文。 作者签名:避导师签名趣吼避吐碰日 中南大学硕+ 学位论文 第一章绪论 第一章绪论 组态【1 1 的概念是伴随着d c s 】( d i s t r i b u t e dc o n t r o ls y s t e m ,集散控制系统) 的出现才开始被广大的生产过程自动化技术人员所熟知的。组态一词最早来源 于英文c o n f i g u r a t i o n ,含义是使用软件工具对计算机及软件的各种资源进行配 置,达到使计算机或软件能够按照预先设置自动执行特定的任务,满足使用者 要求的目的 4 。组态软件【5 1 是一种开发平台,丌发人员能够利用组态软件,根据 应用对象及控制任务的要求,生成面向用户的控制系统。组态软件是目前工业 自动化应用较为广泛的一种软件p j 。 随着现代化工业的飞速发展,生产装置的规模不断扩大,生产技术及工艺 过程越来越复杂,对企业生产自动化和各种信息集成的要求也越来越高,传统 的工业控制软件已无法满足用户的各种需求 7 。在开发传统的工业控制软件时, 当被控对象一旦有变动,就必须修改其控制系统的源程序,导致其开发周期长; 已开发成功的工控软件又由于每个控制项目的不同而使其重复使用率很低,导 致它的价格非常昂贵;在修改工控软件的源程序时,倘若原来的编程人员因工 作变动而离去时,则必须同其他人员或新手进行源程序的修改,因而更是相当 困难。工业自动化组态软件的出现为解决上述实际工程问题提供了一种崭新的 方法,因为它能够很好地解决传统工业控制软件存在的种种问题,使用户能根 据自己的控制对象和控制目的任意组态,完成最终的自动化控制工程”。 1 1 组态软件产生的背景 在2 0 世纪6 0 年代虽然计算机开始涉足工业过程控制,但由于计算机技术 人员缺乏工厂仪表和工业过程的知识,导致计算机工业过程系统在各行业的推 广速度比较缓慢。7 0 年代初期,微处理器的出现促进了计算机控制走向成熟。 首先,微处理器在提高计算能力的基础上,大大降低了计算机的硬件成本,缩 小了计算机的体积,很多从事控制仪表和原来一直就从事工业控制计算机的公 司先后推出了新型控制系统。这一历史时期较有代表性的就是1 9 7 5 年美国 h o n e y w e l l 公司推出的世界上第一套d c st d c 2 0 0 0 。而随后的2 0 年间,d c s 及其计算机控制技术日趋成熟,得到了广泛应用,此时的d c s 己具有较丰富的 中南人学硕士学位论文 第一章绪论 软件。这一阶段虽然d c s 技术和市场发展迅速,但软件仍是专用和封闭的,除 了在功能上不断加强外,软件成本一直居高不下,造成d c s 在中小型项目上的 单位成本过高,使一些中小型应用项目不得不放弃使用d c s 。8 0 年代中后期, 随着个人计算机的普及和开放系统概念的推广,基于个人计算机的监控系统开 始进入市场,并发展壮大。组态软件作为p c ( p e r s o n a lc o m p u t e r ,个人计算机) 监控系统的重要组成部分,比p c 监控的硬件系统具有更为广阔的发展宅问。 这是因为,第一,很多d c s 和p l c ( p r o g r 锄m a b l el o g i cc o n t r 0 1 1 c r ,可编程控 制器) j 一家主动公开通信协议,加入p c 监控的阵营。目前,几乎所有的p l c 和一半以上的d c s 都使用p c 作为操作站。第二,由于p c 监控大大降低了系 统成本,使得市场空间得以扩大,从无人值守的远程监视、数据采集与计量、 数据分析到过程控制,几乎无处不用。第三,各类智能仪表、调节器和基于个 人电脑的设备可与组态软件构筑完整的低成本自动化系统,具有广阔的市场空 间。第四,各类嵌入式系统和现场总线的异军突起,把组态软件推到了自动化 系统主力军的位置,组态软件越来越成为工业自动化系统中的灵魂。 组态软件之所以同时得到用户的拥护和d c s 厂商的认可,主要有以下两个 方面原因。第。,个人计算机操作系统日趋稳定可靠,实时处理能力增强且价 格便宜。第二,个人计算机的软件及开发工具丰富,使组态软件的功能强大, 开发周期相应缩短,软件升级和维护也比较方便。 1 2 组态软件国内外现状 监控组态软件在全球得到了蓬勃发展,目前世界上的组态软件有几十种之 多。伴随着信息化社会的到来,监控组态软件在社会信息化进程中将扮演越来 越重要的角色,每年市场的增幅都有较大的提高,未来的发展前景十分看好。 1 2 1 国外研究现状 从近几年的调查结果来看,组态软件市场的大部分份额仍被国外几家组态 软件占据,如美国w o n d e r w a r e 公司的i n l b u c h 、美国i n t e l u t i o n 公司的f i x 等。 而这些国外的组态软件除了在功能完备性、产品包装、市场推广等方面具有一 定优势外,并非所有方面尽善尽美。下面列举并介绍了一些有代表性的国外组 态软件。 ( 1 ) 美国w o n d e n v a r e 公司的h 1 t b u c h 它堪称组态软件的“鼻祖”,率先推出1 6 位w i n d o w s 环境下的组态软件, 中南大学硕十学位论文 第一章绪论 在国际卜- 曾得到较高的市场占有率。1 1 1 t 0 u c h 软件的图形功能比较丰富,使用较 方便,但控制功能较弱。其i o 硬件驱动丰富,只是使用d d e ( d y l l 锄i cd a t a e x c h a l l g e ,动态数据交换) 连接方式,实时性较差,另外它的驱动程序须单独 购买。它的1 6 位w i n d o w s 环境下的5 6 版很稳定,在中国市场也普遍受到好评。 3 2 位w i n d o w s 环境下的7 0 版在网络和数据管理方面有所加强,并实现了所谓 的实时关系数据库,其实只是在s 0 l s e r v e r 上增加了数据传输插件而已。在3 2 位w i n d o w s 环境下,k t o u c h 己受到其它产品的猛烈冲击。i n t 0 u c h 的小系统软 件包价格比较适中,大系统软件包比较贵。 ( 2 ) 美国h l t e l u t i o n 公司的f 美国i n t e l u t i o n 公司的f i x 产品在中国市场也由来已久。f 产品系列较全, 包括d o s 版、1 6 位w i n d o w s 版、3 2 位w i n d o w s 版、o s 2 版和其它一些版本, 功能较i r f r o u c h 强,但实时性仍欠缺,总体技术一般。其i o 硬件驱动丰富, 只是驱动程序也须单独购买。最新推出的i f i x 是全新模式的组态软件,思想和 体系结构都比较新,提供的功能也较为完整。但也许过于“庞大”和“臃肿”, 对系统资源耗费巨大,用户最为明显的感受就是缓慢,提供的许多大而全的功 能对于中国用户也并不适用,而爵+ 经常受w i n d o w s 操作系统影响而导致不稳定。 ( 3 ) 德国西门子公司的w 矾c c 德国西门子公司的w i n c c 组态软件在网络结构和数据管理方面要比f i x 差,但也属于比较先进的产品之一。西门子似乎仅是想把这个产品当作其硬件 的陪衬,对第三方硬件的支持也不热衷。若选用西门子公司的硬件,能免费得 到w 矾c ,所以对于使用其它硬件的用户不是个好的选择。 1 _ 2 2 国内研究现状 从8 0 年代末开始,由于个人计算机的普及,国内开始有人研究如何利用 p c 进行工业监控,应该说国内组念软件的研究起步是不晚的。当时有人在 m s d o s 的基础上用汇编语言或c 语言编制带后台处理能力的监控组态软件, 有实力的研究机构则在实时多任务操作系统i r m x 8 6 或玎x 上做文章,但均 未形成有竞争力的产品。随着m s d o s 和i r m x 8 6 用户数量的萎缩和微软公司 w i n d o w s 操作系统的普及,基于p c 的监控组态软件才迎来了发展的机遇。 国产化的组态软件产品也正在成为市场上的一支生力军,近年来已有一定 影响力的产品有亚控公司的组态王、三维集团的力控、南思咨讯有限公司的 n s p r 0 、昆仑通态公司的m c g s 、太力公司的s ”a l l 等。国内有不少单位,如 中南人学硕+ 学位论文 第章绪论 一些高校、研究所、公司,甚至一些个人正在积极地搞组态软件产品的开发。 国产化的组态软件具有较强的价格竞争优势,但总的来讲,由于资金来源缺乏, 软件工程的组织薄弱,因此软件商品化的程度还比较差。目前国产化组态软件 主要使用于一些小型的非重要性的应用项目中 。下面介绍了些有代表性的 国内组态软件。 ( 1 ) 亚控公司的组态王 组态王是围内较早卅现的组态软件产品之一,到现在也有6 年左右的历史 了。早期的组态王仿造i n t o u c h ,只是个人机接口。到了5 1 版本,在数据管理 和丌放性方面有了一些改进。但体系结构却没有实质性地突破。有可能还没有 摆脱早期形成的不合理的程序构架。其网络功能较为薄弱,支持不了真正意义 上的分布式系统。6 系列版本在体系结构上有了很大的改进。 ( 2 ) 大庆三维公司的力控 从时间概念上来说,力控也是国内较早就已经出现的组态软件之一。只是 因为早期力控一直没有作为正式商品广泛推,。,所以并不为大多数人所知。大 约在9 3 年左右,力控就已形成了第一个版本,只是那时还是一个基于d o s 和 v m s 的版本。后来随着w i n d o w s3 1 的流行,又开发出了1 6 位w i n d o w s 版的 力控。但直至w i n d o w s9 5 版本的力控诞生之前,它主要被用于公司内部的r 一些 工程项目。3 2 位w i n d o w s 下1 o 版的力控在体系结构上就已经具备了较为明显 的先进性,其最大的特征之一就是其基于真正意义的分布式实时数据库的三层 结构,而且它的实时数据库结构为可组态的“活结构”。这些特点显然是受了如 a p e c s 、i n f 0 p l u s 等大型先进控制软件的影响。但1 o 版的力控尚存在明显的不 足,如i ,0 驱动较少、界面和产品包装不够美观等。在1 9 9 9 至2 0 0 0 年期间, 力控得到了长足的发展,最新推出的2 o 版在功能的丰富性、易用性、开放性 和i ,o 驱动数量方面都得到了很大的提高。在很多环节的设计上,力控都能从 国内用户的角度出发,既注重实用性,又不失大软件的风范。另外,公司在产 品的培训、用户技术支持等方面投入了较大人力,相信在较短的时问内,力控 软件产品将在工控软件界形成巨大冲击。 ( 3 ) 南思资讯有限公司的n s p r o n s p r o 是电力自动化系统中使用得比较广泛的组态软件产品。n s p r o 最主 要的特点体现在两个方面,一方面采用了微内核的设计思想,系统核心部分提 供了最基本的实时监控软件的功能,另一方面采用了丌放的设计思想,实现了 功能的有效增加和裁剪。n s p r 0 提供了大量的功能模块,并允许用户自主开发 功能模块,使用户可根据具体需要设计符合自身要求的自动化系统。n s p r o 是 4 主童叁兰塑堂笪笙奎 兰:兰i 董! 生 独立于硬件平台的,可在多种硬件平台上使用,包括各种体系的工作站、微机 以及小型机。n s p r o 广泛支持国内外厂商的设备通讯规约、部颁标准通讯规约、 国际标准化组织的标准通讯规约。n s p m 与其它的常用软件具有多种接口。系 统数据库可与“s q ls e r v e r ”、“s y b a s e ”、“f o x b a s e ”、“d b a s e ”、“e x e c e l ”的 数据进行交换。组态画面可使用“a u t o c a d ”、“p b 啊l s h ”等图形软件生成的画 面。 值得注意的是,虽然目前进入市场的组态软件仅有一二十个主要品牌,但 有能力进入组态软件市场的公司估计在几十个。其中硬件厂商的组态软件产品 目前在中国市场占有的份额也不容忽视,它们不但在对本公司硬件产品的集成 配套方面具有优势,而且正在打入与其他厂家硬件产品集成的市场。 1 3 研究的意义 现今组态软件的发展趋势是:( 1 ) 尽量向友好的图形化界面发展,充分利 用图形界面操作方便的特点,用户能够迅速掌握使用方法;( 2 ) 面向对象的系 统,向用户提供了一种直观的模拟工业运行环境的途径;( 3 ) 客户服务器的系 统结构,使用网络数据库存储数据,利用网络与数据库对数据的完善管理,既 保证数据的安全性又便于访问;( 4 ) 不同目标需求决定了组态软件的不同结构 与设计思想,一个组态软件的开发必须与实际情况相结合,合理设计,选择不 同的实现方案。 随着电力系统信息化的不断发展,在一个电力企业内部,往往同时存在着 不同厂家开发的各种电力系统应用软件,如s c a d a ( s u p e n r i s o r yc o n t r 0 1a n d d a t a a c q u i s i t i o n ,监控与数据采集) 系统、调度自动化系统、m i s ( m a l l a g e m e n t l n f o 彻a t i o ns y s t e m ,管理信息系统) 、地理信息系统等。在这些应用软件中,经 常要有界面友好的图形系统,它们是由不同的开发厂家分别独立开发,虽然能 满足各自的要求,但不能做到很好的系统集成,往往存在着功能重复设计,这 样极大地浪费了开发人员的时问,增加了企业的负担。增强软件复用性,提高 软件丌发效率是一个亟待解决的问题。 从使用与功能上看,以上的组态软件各有各的特点。但上面的组态软件应 用到电力调度系统时有一定的局限性,这主要体现在下面几个方面:( 1 ) 软件 体系结构庞大,功能软件包多,价格昂贵;( 2 ) 大多为通用型,而不是针对特 定行业,在细节的使用上有一定的局限性;( 3 ) 对中小型变电站来说,组态软 件要简单易用,界面友好,但是上面的系统对操作人员的要求都较高,难于推 中南大学硕+ 学位论文 第一章绪论 广和应用到县级变电站上;( 4 ) 对组态软件功能扩展提供的接口很少,不利于 用户的二次开发。针对上面的缺点,笔者考虑设计并开发一套针对电力系统的 小型监控组态软件,尽量克服上面所指出的其它组态软件的缺点,并且使整个 软件系统具有较好的扩展性。 1 4 研究的内容 通过上面的调查研究,笔者了解了目前组态软件研究、发展以及应用的一 个现状。作为目前工业控制软件的一个研究热点,笔者准备主要在以下一些方 面做一些研究和丌发工作。 ( 1 ) 了解组态软件在电力系统中的应用: ( 2 ) 了解整个系统的网络平台和架构; ( 3 ) 比较目前的组态软件平台的开发方案,设计一种易于扩展、便于控制 的组态软件架构,并进行初步实现; ( 4 ) 掌握基于组件技术的组态软件开发的核心技术内容; ( 5 ) 对组态软件中所采用的一些关键技术进行研究。 1 5 论文的组织 论文全文共分五章。 第一章:绪论。简要介绍组态软件的基本概念、特点及其国内外研究发展 状况,以及研究的意义和内容。 第二章:基于组件技术的软件架构。本章对系统可选择的开发模型进行了 分析,并且对目前比较流行的组件技术进行了比较。根据组态软件的特点,确 定了系统开发的技术基础和实现平台。 第三章:系统总体方案设计。本章提出了系统的设计目标,通过对系统数 据流的分析对系统进行功能划分,划分了组态软件系统的基本结构,并对各个 功能模块的需求进行了详细分析,也进一步确定了系统具体的开发环境。 第四章:组态软件的技术实现。详细阐述了组态软件中图形子系统、数据 库子系统、报表子系统和通讯子系统中一些基本功能的设计与实现以及所采用 的一些关键技术。 第五章:结束语。总结了系统的研究与丌发工作并对未来的工作进行展望。 6 ! 塑叁堂堡土堂垡堡茎 堕三皇苎王丝堡垫查塑鏊竺堡羔l 第二章基于组件技术的软件架构 软件的设计方法经历了多次变革,从最初的功能分解法,到结构化程序设 计方法,再到至今在广泛使用的面向对象设计方法。对于软件设计方法的选择 取决于软件设计方法对应用软件的适用性。 组件化软件设计方法继承并且发展了面向对象的软件设计方法。它将对象 技术应用于系统设计,对面向对象程序设计的实现过程做了进一步的抽象。将 工程分解为逻辑组件是面向组件分析和设计的基础【1 。目前,基于组件的软件 工程对于大规模软件系统开发很受欢迎【l ”。我们可以把组件化软件设计方法用 作构造系统体系结构层次的方法,并且可以使用面向对象的方法很方便地实现 组件。基于组件的软件工程不仅仅局限于二进制的组件,如c o m ( c o m p o n e n t o b j e c tm o d e l ,组件对象模型) 和c o r b a ( c o m m o n0 呖e c tr e q u e s tb r o k e r a r c l l i t e c t l l r e ,公共对象请求代理体系结构) ,而且也适应于软件处理方法、体系 结构设计以及面向对象库【1 “。 2 1 组件的基本概念 组件的概念十分广泛,关于组件的定义比较多,目前还没有一个公认的标 准定义。但是组件的概念除了技术方面的因素之外,其工程方面的属性也不容 忽视。1 9 9 6 年e c o o p 会议( e u r 叩e a l lc o n f c r e n c eo no b j e c t o r i e n t e d p 坤舒a n l m i n g ,面向对象程序设计欧洲会议) 对组件下的定义就包含了这两个方 面的因素。组件是与上下文无关的具有规范指定接口的软件单元,组件必须能 够独立地进行配置并且能被第三方厂商集成。 一个软件系统由许多部分组成,每一部分负责完成不同的功能。例如一个 部分负责提供图形用户界面,一个部分负责完成远程数据通信。因此,软件需 要经常进行重新配置和修改,同时对现有的用户造成最小的影响。为了满足这 种可配置的功能,软件的每一个部分对外提供标准的接口,把接口与实现进行 分离,使用户不需要关心具体实现的改变【1 3 。基于组件的软件的目标”1 是在 系统内创建工作良好的高聚合的模块,通过不同任务模块的分离,降低组件的 耦合度。这就要求系统设计人员从一个对象规范向显式定义对象依赖的表达转 中毒火学硕士学檀论文 蒋二二章基予翅传技本的软盼絮戡 变,并透过婊羧定义接露束察理瑟趣对象原臻翁扩鼹。缝 孛鼓寒为分奄式异稳 环境中的多组织域信息处理服务之间的互连提供了技术支持,以此为基础可有 效毫实瑷分奄式系绞中戆公共黻务系统、基囊囊筑 串、缝装疆絮及鼹务嚣定彼等 关键技术。组件技术可以极大地扩展软件的结构和功能,因此,在组态软件的 开发牵弓l 入缌臀他的思想霾技术。 目前组件技术有3 个有影响的组件模烈体系结构规范1 1 6 :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 ,s t 黻公司瓣e 强( e 拣冲蚝s e j a v ab e a n s ) 以及m i c r o s o f 公司的c o m d c o m 。 2 。2 基子组件技术的软件架构的特点 瑷代软体系统懿耀模正在逐速逢增长,鸯礤究表明每5 到1 0 年软静静娥模 将增加一个爨级f l ”。基于组件的应用程序的体系结构从根本上与传统的单一大 模块应用程廖鲍体系绂橡不阑。单一灼大模块模型撼供了固定粒功熊。挟句活 说,程序几乎不可能为每一个客户端程序进行定制。如果客户端程序不喜欢系 统一个特定的部分,它们只能请求改变,希辍这个建议笺在下一令叛本中被实 现。缚一个不同的制造过程需要一个定制的实现。单一的大模块的方法也妨碍 了第三方的雕烟或增强模块。因为聪蠢的代鼹都包含在一个大模块中,很豫淹 编译过的代码中增加新的功能。 揍于组件模型的方法有以下几个优点: 第一,熬个应用程序的笈杂性降低了。在单一模块内的代码量,复杂性趋 向于以指数级而不是以直线缀地增长【培l 。馒用单一的大模块方法开发的开发学 不仅需要熟悉他们自己的代弼,也必须熟悉德们希望与之相飘作用的所有代褐。 在单一的大模块应用程序中,在一部分代码中一个缀小的变化也会对其它部分 有相当大的影响。当使用基于组件静方法时,每一个模块都是独立的。这样, 每一个程序员仅仅需臻控制他正在编写的组件的复杂性。出于每个组件是独立 靛,一个组佟酶内部辩另一个组件的内酃没订影响。通过采弼“分开和克暇” 的策略,应用程序的复杂性降低了。因为每一个组件是独立的,只要组件保持 二遂翻级豹兼容,就是与语畜无关豹。这谴每个开笈者可敬使用最遗合这碳工 作的开发工具。 第二,鏊予缰静豹方法强供了一个方便的定裁澎瘸程序藏给应蠲程序增加 功能的方法。每一个组件模块保持定的功熊独立性,这些组件可以单独开发 嚣绫译,甚至可鞋擎疆谖试器溅试。当掰畜豹缝斧开发完或磊,恕它翻组合在 中南人学硕士学位论文第一章基于组件技术的软件架构 一起就得到了完整的j 、逆用程序。 第三,提供了良好的互操作性、灵活性以及软件复用的能力。当系统外界 的软硬件环境发生变化或者用户需求有所更改时,并不需要对所有组件进行修 改,而只需对受影响的组件进行修改,只要对外的接口不变或者按照组件技术 规范提供新的接口就可以了。软件复用被认为是软件开发项目中提高生产力最 有效的手段”】。而对于组件内部本身的实现,仍然以面向对象程序设计方法作 为基础。 2 3c o m 的体系结构 2 3 1 客户,服务器模型 c o m 是面向对象的软件模型,对象是它的基本要素之一。c o m 对象是指 一组相关的数据和功能的一个实例。使用对象的应用称为客户,有时也称为对 象的用户。对象和客户之间的相互作用是建立在客户服务器模型基础上的。客 户服务器模型的一个很大的优点是稳定性好,而稳定性正是c o m 模型的目标 之,尤其对于进程间的程序通信,稳定性更会带来性能上的高可靠性。 客户服务器模型是一种发展比较成功的软件模型,因为这种模型有以下一 些优势: ( 1 ) 稳定性、可靠性好。客户服务器模型简化了应用,把任务进行分离, 客户和服务器各司其职,共同完成任务; ( 2 ) 软件的可扩展性更好。一个服务器进程可以为多个客户提供服务,客 户也可以连接到不同的服务器上,这种模型的连接非常灵活; ( 3 ) 提高了性能。根据硬件的配置,可以把工作繁重的任务放到高配置的 一端,用低配置的设备完成一些简单的任务。 c o m 虽然以客户服务器模型为基础,但c o m 可以非常灵活地使用这种模 型。c o m 的服务器程序主要分为两类,进程内服务程序和进程外服务程序。进 程外服务程序又分为本地服务程序和远程服务程序两种【2 0 1 ,如图2 1 所示。 中毫大学硕士学谴论文第二章堇予缎赞技术的软髂絮拘 d c o m | 远程 零地服务程序;般务程序 c o m |进程内 客户癍用携序l簸务程序 _ 计算机a计算机b 图2 1c o m 客户服务器模型 遴程内服务程序:服务稷序与客户程序遮行在圃一台娥爨上,阉辩鼹务程 序被加载到客户程序的进程空间。通常服务程序以d l l ( d v l l a m i c l i n k l i b r a r v , 动态涟接库) 的形式实现。 本地服务程序:服务程序与客户程序也运行在间一台机器上,但服务器程 序是个独立的应用程序,通常它是一个可执行的文传。 远程服务程序:服务程序运行在与客户裰序不同的机器上,它既可以魁一 个d l l 模块,也可以是一个可执行文件。如果远程服务程序是以d l l 形式实 现的话,那么远程机器会创建一个代理进程。 2 ,3 。2e o 酗粪冬特性 ( 1 ) 语言无关性 c o m 规范的定义不依赖于特定的语言,因此,编写组件对象所使用的语言 与编霹客户程序使用的语言可以不同,只要它们都能够生成镣合c o m 规范魄 可执行代码即可。c 0 m 标准与面向对象的编程语言不同,它所采用的是一种二 进制代码级的标准,而不是源代码级的栎准。在0 0 p ( o b i e c t o r i e n t c d p r o 蓼黼n i n g ,面向对象编程) 语言中定义的对象,只能在同样的语言中被重复 使用,这就大大限制了对象的重用。当然,o o p 语苦可以被用于创建c o m 缌 箨,鞫魏这两静技术实际上楚互相牵 充的。c o m 对象把0 0 p 语言中的对象对 装起来,并提供致的接口,使得它可以被各种不同的语言所使用。因此,c o m 静语害无关瞧实际上为我稍跨语言合 乍开发稳供了统一的标潦。 缀然c o m 规范的定义与语言无关,而且差不多每种语畜在实现时都提供 了对e 0 弱支持,露嚣缀多添言还援供了许多可壹袋秘滔的e 0 雠缎件俸为产 品的可选配件。但是与c o m 规范最贴近并且最能够反映c o m 特性的还是c 蟊c + + 语言。 1 0 中南大学硕十学位论文第一章基于组件技术的软件架构 ( 2 ) 可重用性 可重用性是任何对象模型的实现目标,尤其对于大型的软件系统,可重用 性非常重要。而且,由于c o m 标准是建立在二进制代码级上的,因此c o m 对 象的可重用性与一般的面向对象语言中对象的重用过程不同。对于c o m 对象 的客户程序来说,它只是通过接口使用对象提供的服务,它并不知道对象内部 的实现过程。因此,组件对象的重用性可建立在组件对象的行为方式上,而不 是具体的实现 = ,这是建立重用的关键。 对象重用是c o m 规范很重要的一个方面,它保证c o m 可用于构造大型的 软件系统,而且,它使复杂的系统简化为一些简单的对象模块,体现了面向对 象的思想。c o m 有两种机制实现对象的重用,即包容和聚合方式。这两种重用 方式的思路基本一致,只是在实现方法上有所不同。包容是指通过外部c o m 对象调用内部c o m 对象来提供客户接口的实现方式。聚合是指一个外部c o m 对象暴露内部c o m 对象接口给客户端的方式【2 1 。 ( 3 ) 进程透明特性 在客户服务器模型的软件结构中,运行在客户端的代码和运行在服务器端 的代码,既可以在同一个进程中,也可以在不同的进程中。c o m 所提供的服务 组件对象在实现时有两种进程模型:进程内对象和进程外对象。如果是进程内 对象,则它在客户进程空间中运行。如果是进程外对象,则它运行在同一机器 上的另一个进程空间或者在远程机器的进程空间中。 虽然c o m 对象有不同的进程模型,但这种区别对于客户程序来说是透明 的,因此客户程序在使用组件对象时可以不管这种区别的存在,只要遵照c o m 规范即可。然而,在实现c o m 对象时,还是要慎重选择进程模型。进程内模 型的优点是效率高,但组件不稳定会引起客户进程崩溃,因此组件可能会危及 客户。进程外模型的优点是稳定性好,组件进程不会危及客户程序,一个组件 进程可以为多个客户进程提供服务,但进程外组件开销大,而且调用效率相对 低一些。 2 3 3c o m 开发技术 目前支持c o m 组件开发的平台有v i s u a lb a s i c ,v i s u a lc + + 以及微软刚刚 推出的v i s u a l n e t 等。鉴于s u a l n e t 对硬件要求较高,而v i s u a lb a s i c 开发 的程序在运行速度上较慢的原因,s u a lc + + 6 o 是一个比较合适的开发工具。 在v i s u a lc + + 中有两种技术可用于开发c o m 组件,即m f c ( m i c r o s o f t f ,南大学硕士学位论文 第章基丁| 组件技术的软件架构 f o u n d a t i o nc l a s s ,微软基础类) 与a t l ( a c t i v et e m p l a t el i b r a r y ,活动模板库) 。 m f c 不仅可以用于建立c o m 应用,它更是一套w i n d a w s 平台上各种应用开发 的基本类库,而a t l 则主要侧重于c o m 应用的开发,利用a 1 l 可建立一些小 巧、快捷的c o m 组件,如a c t i v e x 【2 2 控件。由于组态软件的底层结构必须支持 多种粒度的组件,从简单的绘图工具条组件到整个图形软件组件,从简单的数 据结构到大规模的数据库等等,所以在开发中两种技术都需要采用。 2 4 其它组件技术介绍 2 4 1o m g 的c o r b a c o r b a 规范是o m g 组织于1 9 9 1 年提出的( 2 3 】,目的是为了解决重用性、 移植性和在分布式、异构环境f 基于对象软件的互操作问题。c o r b a 将传统 的面向对象模型和分却式问题的对象计算模型有机结合起来了。它独立于编程 语言、独立于软硬件平台、独立于网络协议,是目前最有生命力的跨平台技术 之一。c o r b a 规范概括了在相同或者不同机器上的进程间通信的基础设施。 通过方法以透明的方式调用c o r b a 对象,因此调用者并不知道被调用程序的 具体位置。 c o ;a 的底层结构是基于面向对象模型的,由o m gd l ( i m e r f k e d e f i n j t i o nl a n g l l a g e ,接口定义语言) 、o r b ( o b j e c t r e q u e s tb r o k e r ,对象请求 代理) 和i i o p 标准协议( i n t e m e ti n t e r _ o r bp r o t o c o l ,网络0 r b 问协议) 3 个 关键部分组成。c o r b a 组件模型是c o r b a3 0 规范内增添的最重要功能之一。 此外,为了提供丰富的服务器端组件框架,针对c o 砌j a 组件模型的规范还提 供了到e j b 的映射,这样可以利用到目前己安装的e j b 。这种映射使得e j b 能 够在一个c o r b a 组件容器内使用,该容器提供激活、事务处理、安全性、事 件以及持久性等事务。 2 4 2s u n 公司的e j b e j b 于1 9 9 8 年提出,是j a v a 服务器端的组件模型。在此基础上,s u n 公 司予1 9 9 9 年提出了企业j a v a 平台第二版j 2 e e ( j a v a2 e n t e r p r i s e e d i t i o n ) 。e j b 是j 2 e e 平台的核心技术,也是j 2 e e 得到业界广泛关注和支持的主要原因【2 4 】。 e j b 的核心思想是将商业逻辑与底层的系统逻辑分开,使开发者只需关心商业 逻辑,而由e j b 容器实现目录服务、事务处理、持久性、安全性等底层系统逻 1 2 中南大学硕十学位论文 第二章基于组什技术的软件架构 辑。e j b 是适用于开发和部署多层结构的、分布式的、面向对象的、跨平台的 j a v a 应用系统组件体系结构。e j b 提供了事务和企业级的服务,把j a v a 的“w r i t e o n c e ,r u na n y w h e r e ”的思想提高到一个新的高度,服务器端组件在组件执行系 统内运行,规范说明定义了组件执行所需要的服务。遵循e j b 规范说明的组件 可以在任意一个支持e j b 的系统中运行。 通过使用r m i ( r 锄o t em e m o di n v o c a t i o n ,远程方法调用) ,e j b 支持与远 程的客户端存耿。服务是组件和容器之间以及容器和j 2 e e 服务器之间的接口, 在实现层面上它就是一系列a p i ( a p p l i c a t i o np m 乒驸m i n g i n t e r f a c e ,应用程序 编程接口) 和咖议。每个容器的服务包括两部分,j 2 s e ( j a v a 2 p 1 a t f o ms t a n d a r d e d i t i o n ) 和一组扩展的服务。这是因为j 2 e e 是以j a v a 标准版为基础的,各容 器在j 2 s e 之上再根据需要提供一些扩展的服务,如目录服务、事务管理、数据 访问、消息机制、安全性等。 2 4 3 组件技术比较和选择 ( 1 ) c o m 是目前使用的主流组件体系结构,因为c o m 是针对当今最流 行的桌面操作系统m i c r o s o f w i n d o w s 的组件体系结构。c o m 主要是用来解 决桌面环境下的开发问题。在3 2 位w i n d o w s 平台上c o m 实际已经成为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公路桥梁工程师考试试卷及答案
- 2025年国际经济法考试题及答案
- 低空经济中智能无人机的应用与挑战
- 门窗制作安装承包合同书
- 行路难主题思想深度解析:九年级语文古诗文阅读教学教案
- 那场大雨中的温暖情感作文(8篇)
- 雨天的回忆记一次难忘的雨天经历作文12篇
- 美容行业皮肤护理知识点测验题目集
- 农民合作参与农业生产资源整合协议
- 一件感到惭愧的事700字15篇范文
- ISO-10358-1993译文-塑料管材和管件-耐化学性综合分类表
- 康复进修汇报
- 基于单片机的粮仓环境监测系统设计毕业论文
- 电力行业招投标培训
- 2024年云南省中考物理试题含答案
- 2024年石家庄市市属国企业面向社会公开招聘403名管理人员及专业技术人员高频难、易错点500题模拟试题附带答案详解
- 医药代表聘用合同模板
- 2024-2030年中国公路工程行业市场发展分析及前景预判与投资研究报告
- 工伤预防宣传和培训 投标方案(技术方案)
- 古代小说戏曲专题-形考任务4-国开-参考资料
- 2.4圆周角(第1课时)(课件)九年级数学上册(苏科版)
评论
0/150
提交评论