(水利水电工程专业论文)组件技术在数字流域分析与集成中的应用研究.pdf_第1页
(水利水电工程专业论文)组件技术在数字流域分析与集成中的应用研究.pdf_第2页
(水利水电工程专业论文)组件技术在数字流域分析与集成中的应用研究.pdf_第3页
(水利水电工程专业论文)组件技术在数字流域分析与集成中的应用研究.pdf_第4页
(水利水电工程专业论文)组件技术在数字流域分析与集成中的应用研究.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

华中科技大学硕士学位论文 摘要 本文通过对组件技术进行研究和数字流域构建分析,并利用得出的组件技术的优良 的整体分析、安全性能和集成优势,在数字流域整体框架设想的指导下,对数字流域 进行分析和集成应用,最终实现大规模的数字流域软件系统灵活、实用性和可扩充性。 首先,主要是介绍了组件技术,包括技术思想的分析和基本概念的展示,提供组 ,f 件技术的大致内容,并详细叙述了组件技术三层结构。f 通过剖析基于组件技术外发的 整体分析、得出组件技术可以很好地对系统软件进行整体规划。通过刨析基于组件技 术开发的安全特性和最佳安全点条件,展示了组件系统良好的安全性能。并介绍了 a c t i v e x 技术以及组件良好集成性能。最后,对组件技术软件工程方法进行了探讨。随 后两章中,并利用该方法对数字流域进行应用。j 其次,对数字流域系统进行了简要介绍。其中包括数字流域的意义及前景、模块 功能的初步划分、详细描述了各模块功能和联系及对数字流域系统应用的关键技术, 给出了数字流域的基本概况,对数字流域系统的性能要求有了初步的总结。f 另外介绍 已有国内外流域智能化管理系统。并对数字流域系统在区域数字化系统中的作用和意 义进行了阐述。本章也可看作为对数字流域系统供求总分析及数字流域意义的展示。 再者,结合前两章的技术研究,首先通过利用组件技术对数字流域系统进行整体 分析,清晰明了地展示了数字流域系统的各种功能和各种技术支持,得出了组件技术 在数字流域整体实现中的作用和地位及利用组件技术分析数字流域的方便性和优越 性。其二是通过分析数字流域的安全要求,利用组件软件系统安全的表达式及安全点 的条件,对数字流域系统进行安全分析,得出组件技术可以很好的保证数字流域系统 的安全。其三是通过利用组件技术对数字流域系统的集成方面应用,得到组件技术可 以很好做到数字流域系统的集成功能及新功能的添加。,一了 最后,本文通过对组件技术和数字流域研究,以及组件技术在数字流域系统中的 应用分析、安全性设计和利用组件技术集成数字流域的应用,可得出利用组件技术设 计数字流域的思想是可行的。 关键词:缈术苎堂流域望! 箩全孽口 华中科技大学硕士学位论文 a b s t r c t c o m p o n e n tt e c h n o l o g ya n dd i 百m lv a l l e yr r ei n t r o d u c e da n dc o m p o n e n tt e c h n o l o g yi n t h ed e v e l o p m e n to fd i g i t a lv a l l e yi ss t u d i e di nt h i sp a p e r t h ea b i l i t ya n ds e c u r i t yo ft h e c o m p o n e n tt e c h n o l o g y i nt h ed e v e l o p m e n t o f d i g i t a lv a l l e ya r eg i v e n i nt h ef i r s tp l a c e ,t h eb a s a lc o n t e n ta n du s e so fc o m p o n e n t t e c h n o l o g y i ts h o w st h e g o o du s eo fc o m p o n e n tt e c h n o l o g ya n dt h ef u n c t i o no fu s i n gc o m p o n e n tt e c h n o l o g yt o d e v e l o p m e n tb i gs o r w a r es y s t e m t h et h r e el a y e r s s t r u c t u r eo fc o m p o n e n tt e c h n o l o g yi s s h o w e d t h r o u g h t h ew h o l e c o m p o n e n t w a r ei sa n a l y z e d ,t h er e s u l ti sc o m p o n e n t t e c h n o l o g y c a ng i v et h ew e l la n a l y z i n go fb i gs o r w a r es y s t e m a tt h es a l n et i m e ,t h ef u n c t i o no f c o m p o n e n t s s e c u r i t yi sg i v e sa n d t h eb e s ts e c u r ep o 缸i sf o u n d i tt e l l st h a tt h ec o m p o n e n t t e c h n o l o g yc a nd ow e l li nt h es e c u r i t yo fs o l t w a r e a n dt h e nt h ea c t i v e xa n dt h eg o o d a b i l i t yo f c o m p o n e n t sc o m p o s i t i o n a r es h o w e d i nt h es e c o n dp l a c e ,s o m eb a s a lc o n t e n t sa n df u n c t i o n so f d i g i t a lv a l l e ya r ep r e s e n t e d t h ed i g i t a lv a l l e ys y s t e mc o n s i s t so fs o m ep a r t sa n dt h eb a s a lc o n t e n to fe a c hp a r ti s d e s c r i b e d o nt h eo t h e rh a n d ,t h r o u g ha n a l y z i n gt h et r e n d sa n da c t u a l i t yo ft h ed i g i t a lv a l l e y a th o m ea n da b r o a d ,t h ed i g i t a lv a l l e y sf u t u r ea n du s e s a l e p r o p e c t e d t h es o f t w a r e e n g i n e e r i n gf u n c t i o n o f c o m p o n e n tt e c h n o l o g y i sg i v e da n du s ei ti nt h en e x tt w o c h a p t e r s i nt h et h i r dp l a c e ,h o wt ou s ec o m p o n e n tt e c h n o l o g yt od e v e l o pd i g i t a lv a l l e ys y s t e mi s d e v e l o p e d t h e r ea r e t h r e ep a r t s a tf i r s t ,t h r o u g ht h ea n a l y s i so ft h eu s i n gc o m p o n e n t t e c h n o l o g yt od e v e l o pd i g i t a lv a l l e y ,g i v e st h er e s u l tt h a th o w t od e s i g ns o m eg r o u p so f c o m p o n e n ta n dh o w t ou s ec o m p o n e n tt oc o m p l e t et h e m a tt h es e c o n d ,t h r o u g hu s i n gt h e c u r r e n tf u n c t i o na n dt h ec o n d i t i o no ft h eb e s ts e c u r ep o i n t , t h es e c u r i t yo fc o m p o n e n t t e c h n o l o g yi nt h ed e v e l o p m e n to f d i g i t a lv a l l e y i ss t u d i e d t h el a s ti st h er i s e so f c o m p o n e n t t e c h n o l o g y t oc o m p o s et h ed i g i t a lv a l l e y i ti ss h o w e dt h a tu s i n gc o m p o n e n tt e c h n o l o g yc a n d ow e l li nd e s i g n i n ga n d d e v e l o p p i n g d i g i t a lv a l l e y k e yw o r d s :c o m p o n e n tt e c h n o l o g y d i g i t a lv a l l e y c o m p o n e n t s s e c u r i t y i n t e r f a c e i l 华中科技大学硕士学位论文 1 绪论 1 1 组件技术在数字流域中应用的意义及现状 随着社会科技和经济的发展,人类改造世界的能力越来越强,同时人口增加和污 染的日益严重,水资源的匮乏越来越突出,人类对水的依赖型和破坏性相应增强,甚 至出现了为争夺水源而发生战争的严重后果。作为生物必须品的水在人类的世界舞台 上将扮演着重要的角色,人们逐渐意识到合理利用水对自己的重要性,是保证人类得 以生息的源泉。同时流域也是人类文明和经济的发祥地,不但是联系同一地区的纽带, 也是人类自己对水源污染的主要通道。如果发生全流域的大规模的洪水、污染和断流 将给沿岸居民和当地经济以致命的打击。对流域进行合理的规划和开发日益成为国民 经济及世界安全、繁荣的重要的保证。 数字流域的概念是随着计算机技术的高速发展而提出,对全流域资源系统信息化 处理的新概念。在计算机技术迅猛发展当中。g i s 成为社会各行各业必不可少的工具 r s 的发展也为适时更新信息提供了保证,同时加上g p s 系统的空间定位系统的应用, 和i n t e r a c t 的广泛应用,人类可以随时随地的了解世界的各种最新的信息,带来了全 球的信息革命。数字流域系统就是综合了g i s 、r s 、g p s 和计算机的防真模拟技术而 提出的概念,更好地为人类提供流域的整体信息及最优规划和开发,同时对违规的现 象进行预警,保护人类的生命之源,最大限度的实现流域的价值i l j 。 组件是独立于特定的程序设计语言和应用系统、可重用和自包含的软件成分。组 件是基于面向对象的,支持即插即用的软件开发思想。具有网络适应性好、易升级、 好维护、对数据库可实现事务机制的优点。组件技术设计的核心是组件,组件同一个 微型应有程序类似,即已经编译、连接好并可以使用的,应有程序就是由多个这样的 组件打包而成。整体程序包括客户程序和组件程序,客户程序通过二进制地址来访问 组件程序,从而完成所需的功能。组件的升级也只是有关的组件的替代,旧的组件也 可以加以保留,这样对整个系统来说,变动性不大,省时省力,而且最新的组件技术对 网络的支持增加,不必写网络协议例。 华中科技大学硕士学位论文 1 1 1 组件技术在数字流域开发中的作用( 重要性和必要性) 作为具有各种复杂的情况大型的数字流域,不但要满足各种不同的需要,而且是 一个具有海量数据的软件系统。应用传统的编程方法并不容易完成,而且不能做到于 时同步。而组件技术是基于软件体系即插即用的观念而产生的编程规范,使用于大型 可复用、稳定性好的软件系统开发,同时是分模块设计、可延续性好、跨平台和跨语 言的技术,并且可以很好的应用于c s 和b s 系统。利用其对数字流域系统进行规划 和开发,能很好地完成数字流域的各种功能,对来自于g i s 和r s 系统的分时序及分 地域的信息的采集有很好地处理能力嘲。同时组件技术也是现在和未来一段时间内流 行的软件开发方法。利用组件技术对数字流域进行整体规划和安全的处理可以做到: ( 1 ) 整体的稳定性好。即使数字流域中的一个组件模块出现了问题,其他模块只 要不利用其结果,可以安全运行。 ( 2 ) 与语言的无关性。由于其接口为在二进制地址上访问,可适合各语言,并 可用更高级的语言。方便具有不同的语言编程经验的开发者共同工作。 ( 3 ) 软件升级的便捷性。只需对系统应改动的组件进行处理,不必要全盘的重 写。 ( 4 ) 对数据库的无缝的连接。组件技术融合了m t s 更方便了对数据的访问。 更方便于网络形式。 ( 5 ) 可利用组件的安全机制防止他人恶意的破坏。 ( 6 ) 数字流域系统和利用组件技术开发的新技术c 0 m g i s 具有无缝连接的优 点。 ( 7 ) 系统町以和外界做到良好的对接。 组件技术可以实现其它编程技术无法实现的在相互接口确定以后,各模块各自完 全分隔处理,将庞大的系统分化成各小的模块,利用化整为零的办法实现简单化,并 通过对各模块的安全监控实现整体的安全性。对于流域不同时期的工作重点,可将软 件的功能进行转换,类似于将各模块进行运行的次序和时序进行排列,使之更好为人 类服务,利用良好的网络功能及时地进行远程监控,和现场的仪器建立良好的数字接 口,及时有效地处理各种信息,排出各种隐患和灾难。如果系统的个别模块出现大的 2 华中科技大学硕士学位论文 隐患,也可及时采取隔离的方法来处理,变模块问的接口交流为人工的录入,可保证 整体系统的稳定和保持大部分功能,不会全线崩溃f 3 吲。 同时可以很好的处理通过g i s 及r s 采集来的数据,对各个模块进行数据的分化, 将相同的功能数据分在一起,只供相应的模块应用,做到数据的简化和初步的压缩处 理。相应的对于现场的监控仪器返回的数据可在输入前进行分类,只供相应的部分使 用,减少数据的输入途径,更好的减少流程,做到系统的优化处理和数据的最佳应用 6 1 。 数字流域不但要对管理者提供更加良好工作条件,而且还要使每个流域的使用者 提供信息。例如:对于春季来水分布情况,河流的水流情况。组件技术的良好的网络 功能可以满足这一要求,而且还可专门为社会应用提供不影响整体系统重要功能应用 的简单模块的设计,并对各种疑问进行回答。组件技术可以很好的完成这一方面的要 求。 1 1 2 组件技术在系统软件开发中的应用现状和在数字流域中的应用前景 由于受到了硬件的即插即用的启发,同时满足大型软件的开发和规划,组件技 术2 0 世纪9 0 年代得以提出,并且随着微软将其自家的组件技术规范c o r n 技术捆绑 在w i n d o w s 操作系统上后,组件技术得以迅猛地发展。并且成为最新软件开发的必 备的规范是软件开发走向成熟和合理的保证。市场上出现了很多以组件技术来开发 的软件产品。 微软公司的w i n d o w s 系统软件就是基于组件技术开发的,保证其具有良好灵活 性和实用性,而且其各种通用软件也是基于组件技术的。这就达到了当系统软件的 某模块出现问题时,可以将其单个模块进行修改,以插件的形式来添加,或者将 其模块进行升级换代的方式来完成。并且也同时为用户在其的软件为基础上进行二 次开发奠定了基础。 作为数字流域的支柱的g i s 的大型的开发软件已经和正在基于组件技术的构想 来开发的,利用分模块的方式来达到各功能的实现,为用户提供了接口和中间件的方 式进行的。用户为了更好地利用其软件的功能,使有组件技术是很好的选择。组件技 3 华中科技大学硕士学位论文 术正以其更好的升级换代的灵活性为各个大型软件开发来应用。作为大型软件系统的 数字化软件也不例外【5 1 。 国内地大区域数字化系统主要分为两块:数字城市和数字流域系统。他们的设 计原理是相似的,有些部分又是相通的。国外主要是进行数字城市的研究和探讨, 主要有数字纽约,新加坡的“智能城市”。国内有香港的“数码城”,上海的“信息 港”,数字北京、数字厦门、数字青岛和数字武汉等,更是包括作为科技奥运的“数 字奥运”了。数字城市是将城市数字化、信息化和智能化处理。主要有信息高速公 路,是利用高速的宽带技术将各种通过先进的检测技术得到的信息及时、可靠的提 供给用户,达到城市间的“零时间”、“零距离”。同时包括城市的地理信息系统,将 复杂的数据库内容以形象、真实的形式输给用户,从而来满足城市的土地管理、城 市规划、市政建设及交通指挥的灵活性。电子商务和电子政务也是其重要的组成部 分,是完成城市的经济和政治和现代的高科技进行无缝的连接,完成经济和政务的 透明性,更好的做到为民服务【7 州。 数字流域技术是以数字地球为背景,是对真实流域及一切相关信息数字化重现 与分析。流域的相关信息包括:地质地理、水文气象、自然资源、生态环境、旅游 景点、商业交通、社会经济,文化民俗等。应用组件技术开发整体的数字流域系统 尚无先例,但是和数字流域系统息息相关的分模块已经应用了组件技术 1 0 1 。 下面介绍一下组件技术应用于数字化相关的软件的实例。 i m i d b ( i n t e m e tm a s si m a g ed a t a b a s e ) 即网络海量影像数据库系统是国产的地 理信息系统基础平台m a p g i s 的一个组成部分,它是基于全关系型数据库管理系统 和组件对象模型系统,可用于遥感图像处理,为数字流域系统的数据处理提供了方 便,同时为进一步和各功能组件进行无缝连接提供了基础。 陕西煤航地理信息公司开发的w s c i s 2 0 0 1 ( w a t e ra n ds o i l c o n s e r v a t i o n i n f o r m a t i o ns y s t e m ) 是基于组件技术开发的水土保持行业的组件式g i s 的平台。 同时作为数字流域系统基础的地理信息平台,也已经发展到基于组件技术的组 件式g i s 。组件式g i s 的基本思想是把g i s 的各大功能模块划分为几个控件,每个 控件完成不同的功能。各个g i s 控件之间,以及g i s 控件与其它非g i s 控件之间, 4 华中科技大学硕士学位论文 可以方便地通过可视化的软件开发工具集成起来,形成最终的g i s 应用。控件如同 一堆各式各样的积木,他们分别实现不同的功能( 包括g i s 和非g i s 功能) ,根据需要 把实现各种功能的“积木”搭建起来,就构成应用系统。 把g i s 的功能适当抽象,以组件形式供开发者使用,将会带来许多传统g i s 工 具无法比拟的优点。 小巧灵活、价格便宜。由于传统g i s 结构的封闭性,往往使得软件本身变得越来 越庞大,不同系统的交互性差,系统的开发难度大。在组件模型下,各组件都集中地 实现与自己最紧密相关的系统功能,用户可以根据实际需要选择所需控件,最大限度 地降低了用户的经济负担。组件化的g i s 平台集中提供空间数据管理能力,并且能以 灵活的方式与数据库系统连接。在保证功能的前提下,系统表现得小巧灵活,而其价 格仅是传统g i s 开发工具的十分之一,甚至更少。这样,用户便能以较好的性能价格 比获得或开发g i s 应用系统。 无须专门g i s 开发语言,直接嵌入m i s 开发工具。传统g i s 往往具有独立的二次 开发语言,对用户和应用开发者而言存在学习上的负担。而且使用系统所提供的二次 开发语言,开发往往受到限制,难以处理复杂问题。丽组件式g i s 建立在严格的标准 之上,不需要额外的g i s 二次开发语言,只需实现g i s 的基本功能函数,按照m i c r o s o f t 的a c t i v c x 控件标准开发接口。这有利于减轻g i s 软件开发者的负担,而且增强了 g i s 软件的可扩展性。g i s 应用开发者,不必掌握额外的g i s 开发语言,只需熟悉基 于w i n d o w s 平台的通用集成开发环境,以及g i s 各个控件的属性、方法和事件,就 可以完成应用系统的开发和集成。目前,可供选择的开发环境很多,如v i s u a l c + + 、 v i s u a lb a s i c 、v i s u a lf o x p r o 、b o r l a n dc + + 、d c l 础、c + + b u i l d e r 以及p o w e rb u i l d e r 等都可直接成为g i s 或g m i s 的优秀开发工具,它们各自的优点都能够得到充分发挥。 这与传统g i s 专门性开发环境相比,是一种质的飞跃。 强大的g i s 功能。新的g i s 组件都是基于3 2 位系统平台的,采用i r t p r o c 直接调 用形式,所以无论是管理大数据的能力还是处理速度方面均不比传统g i s 软件逊色。 小小的g i s 组件完全能提供拼接、裁剪、叠合、缓冲区等空间处理能力和丰富的空间 查询与分析能力。 5 华中科技大学硕士学位论文 开发简捷。由于g i s 组件可以直接嵌入m i s 开发工具中,对于广大开发人员来 讲,就可以自由选用他们熟悉的开发工具。而且,g i s 组件提供的a p i 形式非常接近 m i s 工具的模式,开发人员可以像管理数据库表一样熟练地管理地图等空间数据,无 须对开发人员进行特殊的培训。在g i s 或g m i s 的开发过程中,开发人员的素质与熟 练程度是十分重要的因素。这将使大量的m i s 开发人员能够较快地过渡到g i s 或 g m i s 的开发工作中,从而大大加速g i s 的发展。 组件式技术已经成为业界标准,用户可以象使用其他a c t i v e x 控件一样使用g i s 控件, 使非专业的普通用户也能够开发和集成g i s 应用系统,推动了g i s 大众化进程。组件 式g i s 的出现使g i s 不仅是专家们的专业分析工具,同时也成为普通用户对地理相 关数据进行管理的的可视化工具1 1 0 。 g i s 组件的代表作应首推m a p o b j e e t s 以及m a p x 等。其中m a p o b j e c t s 由全球最 大的g i s 厂商e s r i ( 美国环境研究所) 推出;m a p x 由著名的桌面g i s 厂商美国 m a p l n f o 公司推出。另外还有加拿大阿波罗科技集团的t i t a n 等。s u p e r m a p2 0 0 0 是由中国科学院地理信息产业发展中心( 以下简称“产业中心”) 和北京超图地理信息 技术有限公司( 以下简称“超图公司”) 联合研制的新一代组件式地理信息系统软件。 s u p e r m a p2 0 0 0 是基于w i n d o w s 系列操作系统的网络化组件式g i s 软件产品,由多 个组件构成,主要包括:核心组件、拓扑组件、三维组件、桌面排版、图例组件、 辅助开发组件。 组件式g i s 可以方便地把g i s 嵌入到各种应用系统中,促进了g i s 与i t 的融合, 如超图公司的全组件式平台s u p e r m a p 和朝夕科技的g i s 开发平台m a p e n g i n e 。 1 2 选题的依据、目的和意义 数字流域的提出已经有几年的时间了,同时各部门也进行有意义的探讨,大都 是对于数字流域的整体的框架上的理论探讨,华中科技大学仿真中心实现了数字流 域的初步成果,对数字流域事业的发展作出了重要的贡献,为本文对这一庞大系统 提出利用组件技术实施提供了坚实的基础。当然为了达到事半功倍的工作目的率先 寻找一个整体的规划和采用先进的设计方法会更好一些。这就需要我们进行一些该 方面的探讨,为开发整个数字流域系统的寻找一个良好的方法。 6 华中科技大学硕士学位论文 该模式的建立就是为了更好地作先前的需求分析、合理的工程实施及安全的系统 护、系统的集成设计和以后的升级换代的方便等。排除研制中的无序性和盲目性,难 以随用户要求而改变、及系统最后的集成出错等。 本套模式是在这样的条件下研究的,通过将组件技术这一软件设计的先进的方法 应用于数字流域系统,对数字流域进行合理的分析和集成,达到最好完成数字流域系 统的各项指标,以便更好地为我国的经济和科技发展作出最大贡献。护、系统的集成 设计和以后的升级换代的方便等。排除研制中的无序性和盲目性,难以随用户要求而 改变、及系统最后的集成出错等。 7 华中科技大学硕士学位论文 2 基于组件技术的系统开发研究 2 1 组件技术基本概念 软件开发一直以来都受到以下几个方面的困扰:开发预算和开发进度时常超出预 定的限制条件、维护成本增长过快、不恰当的功能设计、拙劣的性能、不断膨胀的b u g 和代码量、不兼容、重复开发等等。这些问题在最严重的情况下就会导致所谓的“软 件危机”。现在,我们有了两种明确的技术措旌有望解决以上的问题:组件技术和软 件开发的工厂模式。 组件技术对软件开发的促进作用是非常显著的。发端于上个世纪5 0 年代的组件 技术开发思想源于传统的软件模块和五花八门的子程序库。以后,其原形中还出现了 抽象数据类型以及在此基础上诞生的面向对象开发思想。但是,组件技术超越了以上 所有这些软件开发概念,采用组件技术开发大规模、不同类乃至分布式的系统速度快 而成本也得到大大降低。 组件技术是一种近来才开始日益普及的最新软件开发技术。到目前为止,我们还 很难确定组件技术的明确定义。比如,对组件技术的常见说法有以下这些:“二进制 软件单元”、“任意场合可部署的软件”、“特别适合第三方开发”和“规范定义的接口” 等等。大致上可以这样理解组件技术:所谓组件,其实就是一种可部署软件的代码包, 其中包括某些可执行模块。组件单独开发并作为软件单元使用,它具有明确的接口, 软件就是通过这些接口调用组件所能提供的服务,多种组件可以联合起来构成更大型 的组件乃至直接建立整个系统。组件必须是自包含的,组件设计中必须包括需求、源 代码和可执行代码、接口规范、分析和设计模型、测试和其他同类术语。组件的实现 必须支持一种或者多种其用户所希望获得的接口 2 4 1 。 实现组件并不一定需要采用面向对象语言。支持组件的技术包括c o m + 、c o r b a 和e n t e r p r i s ej a v a b e a n s ( e j b ) 等。 组件技术的多样性可以让那些采用组件技术的机构大大降低系统风险。当软件工 作人员更新系统中旧有的组件时,采用组件系统的机构仍然可以正常运转。 组件的组装产生了软件工厂的概念。为了构造新应用程序,软件开发人员找出适 8 华中科技大学硕士学位论文 当的组件,将这些组件加入到正生产中的应用程序,同时对应用程序进行测试并保证 应用程序的组装工作按照预定的规划正常进行。软件开发人员所起的作用和车间流水 线工人别无二至,只是开发软件的“流水线”上跑的是应用程序产品。 软件工厂的出现使得软件开发商可以通过可重复的开发过程快速生产出效率高、 成本低、质量好的企业级软件。软件工厂所提供的软件基础架构可以实现快捷的、生 产线级的软件生产能力。具体包括:建立标准缩构、软件中间件、开发过程、实践、 扩展的集成开发环境、组件库和知识库以及重用策略等。 软件工厂是唯一的一种在建立工厂的同时生产产品的特殊“工厂”。这种方式可以 大大降低现代软件开发的成本和复杂性。只有当我们在建立软件工厂和生产软件之间 划清了明确的界限的情况下,软件的工厂化生产才会得到成功是实现。 由此,我们把软件开发人员划分成三种类型:工厂建设人员、组件开发人员、系 统建设人员和组件装配人员。工厂建设人员搭建生产设备并负责建设工厂。组件开发 人员是工厂的核心成员,他们负责建立可重用组件。系统建设人员和组件装配人员负 责把软件需求转化为组成系统的模块,这些模块再由已经过质量检验的其他代码模块 组装而成。 今天的软件开发产业中已经存在多种技术和多家厂商支持面向组件的大规模软 件生产了。c a 、i n p r i s e 、m i c r o s o f t 、r a t i o n a l 、s u n 、s y m a n t e c 和众多其他厂商都纷纷 推出了各种基于组件和w e b 的集成开发环境,其中包括了大量的软件结构和组件库。 支持对象和组件概念的编程语言也不少,比如j a v a 、c + + 、a d a 、e i f f e l 甚至v b 等都 可以达到组件设计目标。在中间件和基础结构组件方面,有c o m + 、c o r b a 和 e j b j 2 e e 这几种结构环境供开发人员使用。b e a 、i b m 、i o n a 、m i c r o s o f t 、p e r s i s t e n c e 和s u n f o r t e 都可以提供相应的应用服务器、基础组件和组件框架。数据库厂商如 o r a c l e 和i n f o r m i x 也支持对象和组件概念1 5 1 。 组件技术的基本概念( 以微软的c o m ,d c o m ,c o m + 为主) 如下: 组件为一个软件块,专门完成特定的预定工作。组件技术是构造二进制兼容软件 的规范,向一个规范簿,如果遵循,则你的软件与其它组件能互相通信。 组件代码是指组件进行的实际工作。 华中科技大学硕士学位论文 接1 2 1 ( i n t e r f a c e ) 是使任何程序能访问该组件的功能。为一组公用功能定义,使组件 向程序和其它组件提供,告诉组件功能和使用方法。接1 2 1 的特点为:1 ) 接1 2 不是类。 2 ) 接口不是对象。3 ) 接口有唯一性。4 ) 接口是不变的。 g u i d ( g l o b a l l yu n i q u ei d e n t i f i e r , 全局唯一标识符) 被赋予生成的每个组件和接口, 向操作系统和其它组件软件唯一标识这个组件。对组件或接口进行改变时就产生新的 g u i d ,为1 2 8 位。 二进制兼容性( b i n a r yc o m p a t i b i l i t y ) ,组件技术符合二进制标准,组件之间的通信 是通过二进制地址,用接口来传递的,保证了其与系统和编程的环境无关【1 8 】。 2 2 基于组件技术系统开发的各种技术 组件软件是指利用组件技术进行开发地软件系统,通常是大型的软件系统。因为 只有在大型的软件系统中,组件技术优点才能得到更好的发挥。 2 2 1 组件技术经典的三层结构分析 组件技术是个编程的规范,而微软的c o m 技术是应用最广泛的组件技术,对组件 技术的结构进行分析,本文中是以c o m 的升级版c 0 1 d + 为主进行的。 我们知道,c o m 是个开放的组件标准,它有很强的扩充和扩展能力,c o m 到 d c 0 m ,再到m t s 的发展过程也充分说明了这一点。m t s 针对企业应用和w e b 应 用的特点,在c o m d c o m 的基础上又添加了许多功能和特性,包括事务特性、安 全模型、管理和配置等,m t s 使c o m 成为一个完整的组件体系结构。由于历史的 原因,c o m 、d c o m 和m t s 相互之间并不很融洽,难以形成统一的整体,不过,这 种状况很快就要结束,因为c o m + 将把这三者有效地统一起来,形成一个全新的、 功能强大的组件体系结构,并且把d c o m 和m t s 的各种优势以更为简捷的方式带 给w i n d o w s 程序员和用户。 c o m + 不再局限于c o m 的组件技术,它更加注重于分布式网络应用的设计和实 现,已经成为m i c r o s o f t 系统平台策略和软件发展策略的一部分。c o m + 继承了c o m 几乎全部的优势,同时又避免了c o m 实现方面的一些不足。c o m + 紧紧地与操作系 统结合起来,通过系统服务为应用程序提供全面的服务,这一部分介绍c o m + 的基本 华中科技大学硕士学位论文 结构。 在介绍c o m + 结构之前,我们首先看看m i c r o s o f t 推出的w i n d o w s d n a ( d i s t r i b u t e di n t e r n e ta p p l i c a t i o na r c h i t e c t u r e ) 策略,因为c o m + 将在d n a 策略 中扮演重要的角色。w 幻d o w sd n a 是m i c r o s o f t 多年积累下来的技术精华集合起来而 形成的一个完整的、多层结构的企业应用总体方案,它使w i n d o w s 真正成为企业应 用平台1 。 m i c r o s o r 在m t s 的基础上提出了多层软件结构的概念。从大的方面来讲,一个 企业应用或者分布式应用可以分为表现层、业务层和数据层。表现层为应用的客户端 部分,它负责与用户进行交互:业务层构成了应用的业务逻辑规则,它是应用的核心, 通常由一些m t s 组件构成;数据层为后台数据库,它既可以位于专用的数据服务器, 也可以与业务层在同台服务器上。m t s 主要位于中间层,它为业务组件提供了一个 运行和管理的统一环境。图2 1 显示了这种多层结构的技术组成模型。 w i n d o w sd n a 是一个简化了的3 层结构,如图3 一l 所示。 在现有的系统平台以及软件开发工具条件下,为了实现多层结构的企业应用,我 们必须使用各种分离的技术,开发人员要学习每一种软件技术,包括使用w i n 3 2a p i 以及系统提供的一些服务。图2 1 列出了某些可能用到的软件或者技术,学习这些 知识本身就不是一件轻松的事情,更何况要开发出优秀的应用程序来。在w i n d o w s 平 台上使用过这些技术的程序员一定深有体会。 图2 2 则要简明得多,这是一个尚未实现的结构模型,但是m i c r o s o f t 正在朝这 个方向努力。在表现层,我们现在开发应用程序,要么使用w t r d 2 a p i 开发客户应用, 要么利用h t m l 或d h t m l 直接把浏览器用作客户应用。在d n a 结构中,f o r m s + 是一个技术框架,它将把w i n 3 2g u i 和w e ba p i 结合起来,并朝着d h t m l 的方向 发展,我们可以从刚刚发布的m i c r o s o f ti n t e r n c te x p l o r e r6 的结构模型中看到 f o r m s + 的一些端倪。m i c r o s r 已经把数据库接口从o d b c 转移到a d o 和o l ed b 上,这将最终促进数据层接口技术的统一。 华中科技大学硕士学位论文 图2 13 层结构技术组成模型图2 2w i n d o w sd n a 结构 在中间业务层,c o m + 目i 将成为现实,它以系统服务的形式把原先散落的一些技 术综合起来,并提供简单的编程模型,以直接应用层的编程接口为应用程序提供服 务。c o m + 是d n a 结构的核心,它将成为企业应用或者分布式应用的基本工具。伴 随着w i n d o w s2 0 0 0 的面世,d n a 结构也将逐渐清晰,最终带给我们一个全新的应用 软件模型。 c o m + 简单说起来,是把c o m 和m t s 的编程模型结合起来,同时又增加了一些 新的特性。 12 华中科技大学硕士学位论文 从c o m 的发展角度来看,c o m 最初作为桌面操作系统平台的组件技术,主要为 o l e 服务。但是随着w i n d o w 8 n t 与d c o m 的发布,c o m 通过底层的远程支持使组 件技术延伸到了分布式应用领域,充分体现了c o m 的扩展能力以及结构模型的优 势。m t s 为c o m 增添了许多新的内容,弥补了c o m 和d c o m 的一些不足,它注 重于服务器端的组件管理和配置环境。c o m + 进- - 步把c o m 、d c o m 和m t s 统一 起来,形成真正适合于企业应用的组件技术。c o m 、d c o m 、m t s 以及c o m + 的结 构关系如图2 3 所示1 4 j 。 图2 3c o u 、d c 嗍、n t s 和c 明+ 的结构关系图 2 2 2 基于组件技术系统开发的整体性篦分析 传统的面向对象的设计方法是数据和处理该数据的代码被组合在一个结构中,该 结构被称为对象。数据不再从一个模块传到另一个模块一完成不同的计算,而是直接 对包含该数据的对象发布消息( m e s s a g e ) ,令其完成计算。对象的操作不是由调用或 执行该对象所引起,而是由向对象发消息引起。当然,如果对象不具备由某消息指定 的操作功能,对象就可以拒绝该操作或处理。这样各个对象模块间的调用是彼此相关 的,当系统中一个模块出现问题时,相关模块会相应发生联动反映。不但可以出现数 据错误,也可出现代码错误。 而组件技术是通过接口连接的,在访问的时候可以进行连接和传输方面的检查。 】3 华中科技大学硕士学位论文 同时又是基于二进制地址进行的,可最大限度的减少模块间的联系,实现模块间模式 的弱相关性。 如果假设m 。代表系统的第1 个功能模块,m ,代表系统的第j 个功能模块,u 。 代表功能模块i 和功能模块j 之间相互性能影响因素,f 代表最终实现的数字流域系 统整体效果。这样就可以组成如下的两个集合: 对象集m = m ,m 。,m 3 ,m 。 : 因素集u = u 。,u ,:,u ) : 这样大型软件系统系统的实现的整体分析效果可用下面的表达式近似展示: f = 阻m :m ,鸩】 u 。lu u i ,2 u 。- u : 乩,l 玑,2 u 。 乩。 : 玑。 m 。 m 2 m 3 : m 。 ( 2 - 1 ) 传统的面向对象的模块化设计中因为各功能快之间通过各自类的封装进行各种 数据的传递和交流,关系密切的各模块间,即式中u 。存在并且不为零,尤其是相互 间调用的面向对象的模块属于强相关作用,在对软件系统进行整体分析必须将其考虑 在内。 而对于利用组件技术对数字流域系统进行的整体分析时,各个功能模块之间的联 系是通过各组件的接口完成,都是基于二进制地址上进行的交换和联系,互相间的影 响较小,其相互的作用可视为弱相互作用,各功能模块间互相影响因素u 。( i j ) 可视为零,这样的话上式就可以简化为: f = m ,m :m 3 m 。】x u 1 i 2 u 。 u n 。 m m 2 m 3 : m n ( 2 2 ) l4 ;3u ;醵 华中科技大学硕士学位论文 传统的面向对象的模块化设计的整体分析的效果式展开为: h f = m m ,( 2 - 3 ) l j = i 利用组件技术进行设计的效果式展开为: fn * $ = e m um ,= l ( 2 4 ) 从上述的面向对象和组件技术的整体分析的效果表达式可知利用组件技术对数 字流域系统进行整体的分析与设计比使用面向对象的方法要更加可靠。同时由于面向 对象的分析方法在分析和设计过程中要综合考虑各模块间的相互关系,也会带来一些 麻烦,组件技术因各功能模块间的相互影响作用的较弱,相对会简单。 但是组件技术本身的不易掌握会给应用带来麻烦,这也是利用组件技术进行数字 流域整体规划与分析的缺点。 2 2 3 基于组件技术的系统软件安全性分析 组件广泛的使用时,安全性能也就成为人们关注的焦点。当然对于电子商务、网 上医疗和银行的远程存取,以及和人们的生产生活、国民经济息息相关大型的数字流 域软件体系就更具迫切性。组件软件的安全问题主要集中在以下两个方面:l 、怎样 建立可靠的组件并把他们集成。2 、组件体系之间的安全保证。 现在的软件工程有最小化操作者功效和时效的趋势。今天的实用软件系统就是 基于实效的,客户要求是软件更少地使用系统,但是在一定的情况下客户又要求功能 的细化,对于以组件技术为基础可升级发展的软件结构中考虑组件安全性是很困难 的,并花费很大。安全性能好的软件与那些应用型的软件存在着明显的差别。它必须 综合些不确定的因素如:使用的范围、前后的友好、数据的安全等。组件软件也是 不能很好解决此类问题,此外在组件软件中还用一个最大安全隐患一组件本身的安 全。如果组件本身不能保证安全,那末软件系统就更不用说其安全性了。当然为了保 证组件的安全,相应的规范应予以制定以确保组件安全具有普遍性,但首要还是应对 组件软件安全的普遍性模型有所探讨。我们将给出组件安全体系的方程模式。他能够 华中科技大学项士学位论文 反映出组件的安全特性、在运行状态下内部各组件的安全联系和怎样达到软件体系中 组件合理搭配。首先对单个组件安全性进行分析,单个组件的安全性是和其他各组件 相辅相成的,做到各组件安全是保证软件的整体安全的基础。在软件安全系统中一般 采用的三个参数为:环境变量如数据、安全保障体系( 如密码) 和运行保密体系( 如 使用加密解密码) 。这三个参数在组件应用中,运行保密是来强化安全特性,而安全 保障体系又必须在运行中得以实现,环境变量又要在组件操作中得以体现。综合以上 三个因素我们可以得出以下的公式用以反映单个组件安全关系: f ( 0 ,k j ,d - )( 2 - 5 ) f 代表着三个互相关联的参数的相关性,0 。是指参与者i 在一合成体系中的安全 操作,k j 是指这一参与者所拥有的一套安全属性,下标j 包

温馨提示

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

评论

0/150

提交评论