已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
篇篇、 摘要 多年来,信息系统作为最常见的一种计算机数据处理形式得到了广泛地应 j q 。然而遗憾的是,据统计在我国真证能体现其应用价值的信息系统不到3 0 。 ! t f d 息系统朝着大型化、分和化、网络化、个性化发展的趋势形成鲜明对比的 是信息系统设计方法和实现技术却难以满足客户闩益增长以及不断变化的需 求。由于信息系统的特殊性,使得信息系统的通用性和复用度相对其它计算机 研究领域要低很多。提高信息系统开发成功率和增强信息系统适应性已成为当 务之急。 f 自“构件技术仍然属于一项新兴技术,与之相关的理论尚没有完全成熟。 相反,作为一种前景广阔的应用技术,在实际应用方面许多领域都丌始引入构 件技术,在边试验边研究的过程中不断发展,以此作为对理论不足的补充。本 文将构件技术引入到具体的信息系统重构中,并进行了有益的尝试,通过与传 统方法进行比较的方法逐步改进和完善现有系统。其中,对构件的设计、提取、 分类、测试以及检索等重要环节加以了详细的介绍和讨论。本文着重讨论了采 用构件技术丌发信息系统的一般过程和基本方法,在此基础上通过对诉讼管理 系统的分析改造,初步完成了领域相关的专用构件库的设计与实现工作。最后, 给出了具体的构件库设计方法和示例,指出了今后的研究方向。 关键词:复用,信息系统,构件,构件库 硕士学位论文 m a s t e r st i l s i s a b s t r a c t f o ry e a r s ,o n eo ft h em o s tc o m m o nu s e dd a t ap r o c e s sf o r m s ,t h ei n f o r m a t i o n s y s t e m h a sb e e nw i d e l y a p p l i e d u n f o r t u n a t e l y ,a c c o r d i n g t ot h e s t a t i s t i c s ,n o m o r et h a n3 0 p r o d u c t so fi n f o r m a t i o ns y s t e m sa r ew o r t ht h e i rv a l u e i nc o n t r a s t t ot h ei n f o r m a t i o ns y s t e mb e c o m i n gl a r g e s c a l e ,d i s t r i b u t e d ,n e t w o r kb a s e da n d c h a r a c t e r i s t i cs t r e s s e d ,t h em e t h o d sa n d t e c h n o l o g i e s o fi n f o r m a t i o n s y s t e m d e v e l o p m e n t c o u l dn o t s a t i s f y c u s t o m e r s i n c r e a s i n g d e m a n d sa n dc e a s e l e s s c h a n g e so fr e q u i r e m e n t s d u et o t h ep a r t i c u l a r i t y ,b e i n ga b l et or e u s ea n da p p l y i n f o r m a t i o ns y s t e mi sm u c hl o w e rt h a no t h e rc o m p u t e rd o m a i n s t h e r e f o r e ,t o i n c r e a s et h es u c c e s sr a t ea n da d a p t i t u d eo fd e v e l o p i n gi n f o r m a t i o ns y s t e mh a s b e c o m eap r e s s i n gw o r k c o m p o n e n tt e c h n o l o g yi ss t i l lan e w l ya r i s i n gt e c h n o l o g yw h o s et h e o r yi sf a r f r o mc o m p l e t em a t u r i t y o nt h ec o n t r a r y , a st h en e w t e c h n o l o g yw i t he x p a n s i v e f o r e g r o u n d ,i th a sb e e na p p l i e di nm a n ya r e a s a tt h es a r n et i m e ,m u c hr e s e a r c h w o r kh a sb e c o m eu s e f u lc o m p l e m e n t a r i t i e st om a k e u p f o rt h ei a c ko f t h e o r y t h i s p a p e ri n t r o d u c e sc o m p o n e n tt e c h n o l o g yt ot h er e c o n s t r u c t i o nw o r ko fi n f o r m a t i o n s y s t e m a n dt a k e ss o m e h e l p f u la t t e m p t s o ni t b yc o m p a r i n g t ot r a d i t i o n a l d e v e l o p i n gm e t h o d s ,s o m ei m p r o v e m e n t sa n dm o d i f i c a t i o n sh a v eb e e nm a d es t e p b ys t e p w i t hs o m ep a r t i c u l a r i n t r o d u c t i o na n dd i s c u s s i o na r o u n d c o m p o n e n t d e s i g n ,c o m p o n e n te x t r a c t i o n ,c o m p o n e n tt e s ta n dc l a s s i f i c a t i o n ,c o m p o n e n ts t o r e a n dr e t r i e v a l t h i st h e s i se m p h a s i z e st h eg e n e r a ld e v e l o p m e n ts t e p sa n dm e t h o d s o fd e v e l o p i n gi n f o r m a t i o ns y s t e m s ,a n das p e c i f i cd o m a i nc o m p o n e n tr e p o s i t o r y w a sd e s i g n e da n di m p l e m e n t e do nt h eb a s i so fe m b e d d e dr e s e a r c ha n d a n a l y s i so f t h el m i s f i n a l l y , c e r t a i n c o n c r e t e d e v e l o p i n g m e t h o d sa n d e x a m p l e s a r e d e m o n s t r a t e d ,a n ds o m er e s e a r c hd i r e c t i o n sa r ep o i n t e do u ta sw e l l k e y w o r d s :r e u s e ,i n f o r m a t i o ns y s t e m ,c o m p o n e n t ,c o m p o n e n tr e p o s i t o r y 硕士学位论文 m a s l e p , sn i e s l s 致谢 我对有幸被免试推荐到华中师范大学计算机科学系攻读硕士学位而感到 由衷的感激。我要特别感谢我的导师,胡会柱教授,对我无微不至的关怀以及 在学术上对我的严格要求,培养我的独立性和创新精神。我还要特别感谢冯刚 教授,我的启蒙老师和学习的楷模,感谢他对我的教诲与帮助。我还要感谢陈 利教授,感谢她在我需要帮助的时候伸出援助之手。 我要感谢下列老师对我的关心和支持: 何婷婷教授、黄万徽教授、李晓燕教授、金汉均教授、魏丌平教授、郑世 珏教授,李键老师、王海老师、李源老师和李新华老师。 我也要感谢我的师兄弟,他们是舒忠梅、李源、肖明、姬涛、陈娟娟、张 陷理、李敏、费丽娟和王海燕。 特别感谢王锐和邓锐给予我的兄弟般的情意和无私的帮助。我将永远珍藏 我们共同的经历,无论是成功的喜悦还是失败的惆怅,都将是我一生中宝贵的 财富。 最后,我要感谢我的父母,是他们始终鼓励我无论在何种情况下都要竭尽 全力做到最好。我要感谢他们给我的无尽的爱、理解与支持,没有这些我将无 法完成本文的撰写。感谢他们自始至终都对我充满信心以及在我遇到挫折时的 鼓励与支持。 感谢所有曾经关心、帮助和支持我的人们! 硕士学位论文 m a s t e r s r i l e s i s 第一章绪论 1 1 研究目的 自1 9 4 6 年以柬,计算机在许多领域得到了广泛的使用。从其诞生伊始,计 算机系统通常被划分为两大组成部分:硬件和软件。多年来,计算机硬件技术 以高速而稳定的速度( 摩尔定律) 持续发展着,而计算机软件技术似乎总是阻 碍着历史前进的车轮。尽管信息时代对软件的需求正迅速地增长,与之相关的 软件丌发和生产能力却显得有些不足。这种情形使得许多急需的软件无法及时 丌发或者开发工作以失败告终,从而导致了2 0 世纪6 0 年代的软件危机。当人 们认识到软件危机并引入软件工程概念后,许多研究人员和工程师努力从事软 件开发方面的研究。近期人们认识到为了增加开发的效率和提高质量,必须将 工程开发方法和工业化生产技术引入到软件开发中来 1 】。 随着计算机应用的发展,软件变得比以往更庞大和复杂。为了满足h 益增 长的对各种软件的需求,人们采用了很多新方法和技术。其中,一条公认的准 则是利用已有的软件元素来构成新的软件,通常称为软件复用技术。充分利用 软件复用技术能够节省开发人员的时间和精力、降低投资的成本以及进行便利 的维护。近年来,基于构件的软件工程( c o m p o n e n t b a s e ds o f t w a r ee n g i n e e r i n g , c b s e ) , 1 1 基于构件的软件开发( c o m p o n e n t b a s e d s o f t w a r ed e v e l o p m e n t ,c b s d ) 作为最先进的技术被引入到软件复用中来。人们普遍认为,c b s e 和c b s d 将 会给现在和将来的软件开发带来一场技术革命。 作为重要的、不可或缺的计算机应用系统,信息系统扮演着积极的角色。 在很多领域,信息系统以幕后子系统的形式出现,负责从数据库中存取数据。 - 一个有经验的开发团队可以轻易地处理这种情况,并且在规定的时间内设计出 很好的系统。但对于某些特定领域,特别是企业级应用中,则需要设计复杂而 不确定的管理信息系统( m a n a g e m e n ti n f o r m a t i o ns y s t e m ,m i s ) 。据统计,不到 3 0 的管理信息系统能体现出它们的价值。此外,与计算机应用的其它领域不 同的是,运行中的管理信息系统应用了各种各样、从最老到最新的数据库技术。 硕士学位论文 m a s t e r st l i g s i s 应片jc b s d 柬设计和实现m 1 s 已经成为摆在每一个设计者面前的巨大挑战, 然而查找和使用构件并不像人们想象的那样容易。尽管使用构件库可以简化这 项【作,但是设计出组织结构合理的构件库却需要比设计单独的系统付出更多 的u q 问和精力。有鉴于此,本文着重从概念上探讨特定领域构件库的设计方法。 1 2 研究背景 自2 0 世纪9 0 年代以来,作为一种流行的技术c b s d 被广泛地用于设计各 种计算机软件。据信,使用c b s d 可以提高软件生产率和质量,许多研究机构 和组织( 例如卡内基梅隆大学和北京大学) 都致力于构件技术的研究。目前, 构件理论包含许多不同的研究观点,包括构件体系结构、构件模型、构件分析、 掏件设计、构件分类、构件标准化等。 作为一项新兴技术,系统而成熟的构件理论并没有建立起来。幸运的是, 假多有益的实践活动已经取得了显著的进步。以构件体系结构为例,目| ;i 有;i 种主要的工业级体系结构:c o m d c o m ( c o m p o n e n t o b j e c t m o d e l 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 ) ,c o r b a ( c o m m o no b j e c tr e q u e s t b r o k e ra r c h i t e c t u r e ) 手e j bf e n t e r p r i s ej a v ab e a n ) 。每一种体系结构都有各自的拥护者,而且在短期 内也没有迹象显示出三种标准将趋于统。由于这种三:足鼎立的情势不会轻易 打破在一i 同的应用领域中选择合适的体系结构开发不同的应用系统便成为民 智之举。 另一方面,设计复杂计算机软件系统的挑战对基于c b s d 的开发形成了巨 k 的冲击。其中一个难题是如何设计和实现特定领域合适的构件库系统用于构 件的存储和检索。实际上,在设计概念上的构件库时,对构件进行分析和分类 刷哿它们划分到不同的类别中去要比单纯的存储和检索更为重要。 1 3 法院综合信息管理系统 本文讨论的法院综合信息管理系统来源于黄石中级人民法院与华中师范 犬学软件工程与数据库研究所合作开发的项目。为了提高办公业务的效率,使 硕士学位论文 m a s i e p - st t i e s i s 用计算机应用技术来帮助政府机关处理日常工作的计划( 被称为电子政务) 已 经被提到议事同程上来,本项目就是其中之一+ 。法院综合信息管理系统主要有 四个予系统组成:院长决策支持系统、诉讼信息管理系统、办公自动化系统和 公众信息服务系统。实际上,整个系统可以划分为两个独立的组成部分:诉讼 信息管理系统和办公自动化系统,院长决策支持系统和公众信息服务系统是办 公自动化系统的组成部分。本文将着重讨论需要依托构件技术进行重构和维护 的诉讼信息管理系统。诉讼信息管理系统最初设计为客户机服务器 ( c l i e n t s e r v e r ) 结构,随后需要改造成分和式多层系统结构,本文作者有幸加入 到该项目中柬,并对系统进行了改造。由于缺乏原始的需求分析和文档资料, 建立系统专用构件库显得困难重重。因此,与构件的存储和检索相比,本文重 点讨论了构件的设计、提取、分类等策略。围绕构件库架构和实现的一些新思 想和概念也被引入到文本中来,旨在探讨设计基于法院综合信息管理系统构件 库的方法和具体实现步骤。 1 4 论文的组织 第一章说明了研究的目的和研究背景,并将法院综合信息管理系统作为本 文研究的主体进行了介绍。 第二章回顾了软件复用技术的发展历史和基于构件的软件丌发技术,并对 ? 种 i 要的构件体系结构的有缺点进行了比较。 第三i 章重点介绍了信息系统的体系结构,并着重讨论了客户机服务器结构 和分佃式多层系统结构 第四章围绕构件库的设计方法,详细探讨了构件库体系结构、分类策略、 设计和实现技术等问题。 第血章介绍了基于法院信息管理系统构件库的改造、实现以及维护方法。 最后一章对全文进行了总结,并指出了今后的研究方向。 m 驰a s t e 雏r s t 黻ii e s i 。 第二章软件复用与构件技术 2 1 软件复用开发方法的发展历史 很多人一直认为计算机软件是随着1 9 4 6 年世界上第一台电子计算机 e n i a c ( e l e c t r o n i cn u m e r i c a li n t e g r a t o ra n dc o m p u t e r ) 的发明而随之诞生的。实 际上,公认的世界上第一个计算机程序可以追溯到1 8 4 1 年阿达拜伦( a d a b y r o n ) 拟订的一份设计图。在阿达随后的一系列论文中,她对计算机软件设计 做 日了杰出的贡献,包括提出了变量、符号语言、存储程序等重要概念,这些 概念一直沿用至今并构筑了当今软件体系结构和软件复用技术的基础。一百多 4 厄,随着微电子技术的迅猛发展,阿达的理论终于得以现实。由于资源以及 操作能力的限制,早期的计算机往往只局限于科学计算等领域。然而,随着集 成电路的发明以及计算机理论的日渐成熟,计算机技术已经被广泛应用于各行 符业。 由于手工作坊式的软件丌发模式越来越无法满足持续增长的软件需求,虽 终导致2 0 世纪6 0 年代爆发了著名的软件危机。不久以后,软件复用的概念在 1 9 6 8 年北大西洋公约组织m a t o ,n o r t ha t l a n t i c f r e a t yo r g a n i z a t i o n ) 的会议上 陂l f 式提出了。尽管软件如用以及软件工程概念的引入对软件丌发效率和生产 力带来了相当显著的进步,对于软件的需求仍然无法得以满足。在过去的3 0 多年中,软件开发技术主要经历了三个重要阶段:结构化设计技术( s p , s t r u c t u r e d p r o g r a m m i n g ) 、面向对象程序设计技术( o o p , o b j e c t o r i e n t e d p r o g r a m m i n g ) 以及基于构件的软件丌发技术( c b s d ,c o m p o n e n tb a s e ds o f t w a r e d e v e l o p m e n t ) ,这三个阶段无论在过去还是在将来都对软件丌发技术产生了深 远的影响。 2 1 t 结构化设计技术 在高级语言诞生的初期,计算机软件的丌发设计几乎完全是个人行为,然 i 莉随着软件规模的不断扩大和对软件需求的同益增长,仅仅依靠个人丌发整个 4 m a s t e r 雠 s t h e 文s i 。 软件已经变得不现实。在这种情况下,结构化设计技术于2 0 世纪6 0 年代未7 0 年代初应运而生,其重要标志是p a s c a l 语言的诞生。结构化设计思想的精髓 是将软件设计划分为若干子模块,通过实现各子模块来完成整个软件,这种思 想一直沿用至今。理论上,计算机程序只需要顺序结构、转移结构和循环结构 即可,早期的计算机程序主要依靠的就是这三种结构。不难想象,早期的程序 在:编写、调试以及维护等方面相当困难。而结构化技术的最大贡献就是强调了 以函数和过程为主体的软件丌发方法,使得程序的编写在大多数时候都是围绕 编写函数和过程。因此,函数和过程有时也被称为计算机程序的第四种结构。 2 1 2 面向对象程序设计技术 虽然结构化设计技术的发展有力地促进了软件的丌发设计,但是当软件设 计规模进一步增大,丌发人员在设计软件时不得不处理大量的函数和过程。同 时,由于程序的日趋复杂,全局变量的无序使用等原因使得以函数和过程为中 心的模式已经不再能满足开发设计的需要。面向对象思想虽然可以追溯到2 0 世纪6 0 年代,但是面向对象思想的普遍接受主要得益于2 0 世纪8 0 年代仞面 向对象的c + + 语言的出现。面向对象技术在结构化设计技术的基础上,提出了 类、封装、继承和多态等重要概念。类的出现克服了结构化设计中函数和过程 相对分散以及对全局变量过度依赖等缺点。函数和过程将以类中成员的形式出 现,有效地避免了以往杂乱堆砌的模式。 2 1 3 基于构件的软件开发技术 以类为基础的面向对象技术大大提高了软件复用度和生产力,但是面向对 象技术在实现方面的发展却因为种种原因无法达成统一( 例如,尽管c + + 足面 向对象语言的标志,但不同厂商之间的c + + 编译器通常也存在各种差异) 。到 2 0 世纪9 0 年代中后期,支持面向对象的语言和开发工具各自逐渐形成自己的 砜格。另一方面,由于i n t e r n e t 和l i n u x 的兴起,使得软件设计面临前所未 仃的挑战。为解决复用由其它丌发工具丌发的模块以及满足支持跨语言、跨平 台、跨网络的应用需求,软件构件技术成为解决这些问题的有效技术手段。 硕士学位论文 m a s 髓r st h e s i s 2 2 构件技术 软件复用和构件这两个概念最初是1 9 6 8 年由md m c i l r o y 在他著名的论 文“犬量生产的软件构件( m a s sp r o d u c e ds o f t w a r ec o m p o n e n t s ) ”一文中首先 提出的。历经3 0 多年的不懈努力,特别是最近l o 多年,构件技术逐渐开始崭 露头角。 2 2 1 构件定义 术语c o m p o n e n t 一词在不同的领域和不同的技术环境下有着不同的意思 和削泽。甚至在软件丌发领域,对c o m p o n e n t 也有着不同的解释和实现形式。 仵1 、仝j 引起混淆的前提下,本文将c o m p o n e n t 翻译为构件。以下给出了一些 有是构件的定义: b i n a r yu n i t so fi n d e p e n d e n tp r o d u c t i o n ,a c q u i s i t i o n ,a n dd e p l o y m e n t t h a t i n t e r a c tt of o r ma f u n c t i o n i n gs y s t e m 【2 1 c o m p o n e n ti s ar e u s a b l es o f t w a r ee n t i t y a n dc o n s i s t so ft w op a r t s c o m p o n e n ts p e c i f i c a t i o na n dc o m p o n e n ti m p l e m e n t a t i o n 【1 1 c o m p o n e n t s a r ep r o g r a mm o d u l e st h a tp r o v i d eac o m p l e t ep a c k a g e o f b u s i n e s sf u n c t i o n a l i t y 【3 】 c o m p o n e n t sm a yb et h o u g h to fa so b j e c t s ,w h i c he n c a p s u l a t eu s e f u l u n i t so f f u n c t i o n a l i t y a n di n t e r a c tw i t ho t h e rc o m p o n e n t so n l yt h r o u g h w e l l d e f i n e di n t e r f a c e s 【4 】 尤论是在软件的j :发还是维护阶段,与构件的实现相比,程序设计人员通 常更关心构件的接口。只拥有一个接口和一个对象的构件无疑是一种浪费。通 常情况下,构件都会体统数个接i :3 ,其中每一个接口对应着一个独立的对象, 并且每个有实际意义的构件都会完成特定的任务。 阻睨,苞苓艾佯着看荣构件是面向接口、封装7 一纽其香特定功能的司 复南对象的实体、 硕士学住论文 b l a s t e r st h e s i s 2 2 2 基于构件的应用系统 构件是一个高度集成的实体,由接口、属性、方法等基本元素组成。图2 1 所示的是一个典型的构件基本结构和基于构件的应用系统。 图2 - 1 构什结构和基丁构竹的应用系统 对构件的访问可以通过构件的接口来完成,无论是对于丌发人员还是使用 人员而高,构件接口是唯一可见的外部端口。具体的功能都封装在构件内部的 对象中,某项任务的完成是通过对某个对象中特定方法的调用来实现的。基于 构件的应用系统由多种构件组成,其中有些构件以相互协作的方式完成特定的 功能而另外一些构件则以独立的方式完成工作。 在选取和装配分离的构件之前,首先应该确定所选用的构件体系结构。最 目代表悱的有微软公司提出的c o m d c o m ,o m g 倡导的c o r b a 和s u n 公司的e j b 。 ( 目自i ,国内对。- f - c o m d c o m 、c o r b a 和e j b 的性质没有定论。不同的文献中分 别将它们作为体系结构、模型、规范等来进行划分。在此,本文以体系结构作 为重点对它们进行介绍和讨论) m 船a s t e 鞭r s t 敞h e s i 。 2 3 构件体系结构 在设计基于构件的应用系统之前,选择合适的构件体系结构便成为首要 的工作。因此,掌握有关构件体系结构的基本概念和知识对于系统的开发将有 益无害。 2 3 1 微软公司提出的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 ,c o m ) 是一个可以创建二进制构 件、与平台无关、分布式的面向对象的系统模型。c o m 是构成微软公司的o l e ( o b j e c tl i n k i n ga n de m b e d d i n g ) $ na c t i v e x 技术以及其它一些技术的基础 5 】。 d c o m ( d i s t r i b u t e dc o m ) 技术实际上是c o m 技术的延伸,它添加了对不同计 算机之间构件通讯的支持,使得构件可以通过局域网( l o c a la r e an e t w o r k , i e a n ) 、广域网( w i d ea r e an e t w o r k ,w a n ) 甚至互联v x ( i n t e r n e t ) 来互相访问。通 过d c o m ,应用系统可以分布在不同地点,这对于客户和应用系统本身而言都 何着重要的意义【6 】。图2 2 所示的是c o m d c o m 的基本体系结构 7 。 图2 - 2c o m d c o m 基本体系结构 c o m r u n t i m e 向客户 端( c l i e n t ) 提供面向对象的服务,通过r p c ( r e m o t e p r o c e d u r ec a l l ) 和s e c u r i t yp r o v i d e r 来生成符合d c o m 网络通讯协议标准的包 进行访问【5 】。 硕士学位论文 m a s t e r st h e s i s 2 3 2o m g 倡导的c o r b a 对象管理组( 0 m g ,o b j e c tm a n a g e m e n tg r o u p ) l 筘j 目标是鼓励对象技术的发 展并且通过建立对象管理体系结构( o m a ,o b j e c tm a n a g e m e n ta r c h i t e c t u r e ) , f r l 通用对象请求代理体系结构( c o r b a ,c o m m o no b j e c tr e q u e s t b r o k e r a r c h i t e c t u r e ) 来影响对象技术的发展方向。总的来说,采纳c o r b a 体系结构的 :洲? n t,) o h , e c t - m p l e m e n t a t i o n ) 南南肾由卤芒 0 r bc o r e 巨三弓i n 。t e r f 。a 三,i d b e n t i c a l f o r a 。l l i t i p lb 嚣j:”d a p “t e = “8 t ”一“一c 二二二 t h m a yb c t a r s 一 - ! ! _t s t u b s i n da “e i 。t o nf o 。ho b j c tt y p 。“8 l ca l n t 吖f a 伯 = 二二= := o r b - d p e n d e n ti n t e r f i o 幽2 - 3c o r b a 的基本结构 优点在于能够开发基于分布式互操作对象的应用系统。图2 3 所示的是c o r b a 的基本结构【7 c o r b a 技术的精髓在于对象请求代理( o r b ,o b j e c tr e q u e s tb r o k e r ) ,它允 许对象在分布式的环境中提出请求以及接收响应信息。 2 3 3s u n 公司的e j b e j bf e n t e r p r i s ej a v ab e a n s ) 体系结构是一个支持用s u n 公司丌发的j a v a 语 言设计分布式的、面向对象的商业应用的标准体系结构。其中,企业级的j a v a b e a n 是一些分布式面向事务的企业应用构件【8 】。事实上,e j b 和c o r b a 具有 相似的体系结构,并且f 1 趋融合。举例柬说,最新发布的e j b 采用最初d = i o m g f j c o r b a 提出和使用的i i o p ( i n t e r o r bp r o t o c 0 1 ) 协议作为其网络通讯协议。图 2 4 所,j 的是e j b 的基本执行模式。 硕士学位论文 m a s f e r s t h e s i s c l a s s e sa l eg e n e l , - i t e db y l c l a s 辩sa l ep r o v i d e db ) c o n t a i a e rp r o v i d e lt o o l s l b e a np lo x 4 d e l 剧2 - 4e j b 基本执 j :模式 客户端永远不能直接访i h j b e a n 实体,而总是访n e j bo b j e c t 实体或者访问 h c o n t a i n e rp r o v i d e r i 具生成的e j bl o c a lo b j e c t 实体。 2 4c o m d c o m 、c o r b a 和e j b 三者的比较 三种体系结构都有各自的有缺点,表2 1 给出了三者之问的客观比较结果。 表中只包合了三者之间的区别而省略了相似的特性。值得注意的是,表中给出 的比较结果和评价源于作者对三者的研究和认识。 l主题c o r b ac o m d c o me j b ,r m i | l语言独立性好好差 1 f平台无关性好差好 硕士学位论文 m a s f e r st l i e s i s ! ! ! ! ! ! = ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 苎! ! ! ! ! ! ! ! ! ! 执行效率好一般差 事务控制好只在m t s 中好 实现度仅规范优秀仅规范 安全性好差好 市场前景一般只在w i n d o w s 平台好 使用费用需付费几乎免费免费 i成熟度成熟成熟尚未成熟 【扩展性好只在w i n d o w s 平台好 e第三方支持一般好好 ( 仅供参考) 表2 - 1c o r b a 、c o m d c o m 和e j b 三者之间的比较 c o r b a 是第一个有实际应用价值的规范,也是第一个用于分和式对象的 体系结构,事实证明c o r b a 可以成功地集成和整合运行于多种平台的应用系 统。微软公司地c o m d c o m 体系结构在w i n d o w s ( 而且仅在w i n d o w s ) 平台1 f 无疑恳最理想的通常也是使用最多的构件模型。在面向桌面型的应用市场, c o m d c o m 击败了j a v a b e a n s ,但是对于服务器应用领域,它所占的市场份额 取决于w i n d o w sn t 操作系统是否占据统制地位。s u n 公司的e j b 可以说是 c o r b a 技术 d j a v a 技术的结合物,既承袭了它们的优点,同时也包含了些缺 点。它是与平台无关的体系结构,但是仅仅支持j a v a 语言,不过有迹象显示e j b 将在非w i n d o w s 平台占据支配地位【9 。 最初的l m i s 是按照客户机朋日务器( c s ,c l i e n t s e r v e r ) 体系结构丌发的,服 务器端采用l i n u x 和s y b a s e 作为后台服务器,而所有的业务逻辑和系统功能都集 中在以w i n d o w s 平台为依托的客户端。由于l m i s 属于跨平台的遗留系统,采只: c o r b a 体系结构毫无疑问成为重构和维护整个系统的最佳解决方案。 硕士学位论文 m a s f e r st t - l e s i s 第三章开发基于构件的多层信息系统 3 1 回顾多层应用体系结构 早期的计算机应用系统通常都是独立运行的更谈不上计算机网络了,因为 计算机在当时的情况下仍然属于- , e e 只有极少数人可以操作的稀少而复杂的 设备。直到= 十世纪7 0 年代末8 0 年代初,用计算机处理的信息服务仍然主要基 _ 所有处理能力都集中在中央主机的大型机和小型机。用户通过捕获键盘输入 蚱且发送信息到主机的终端来与主机进行互动 1 0 】。随着计算机成本的不断卜 降,各人电脑( p c ,p e r s o n a lc o m p u t e r ) 被广泛接受,特别是当微软公司发布了他 们著名的操作系统w i n d o w s 时,各人电脑得到了迅速普及。实现信息共享最简 荦的一种方法是通过计算机网络共享文件。文件共享体系结构实现起来相当容 易和简便,但是它存在的问题比它带来的优点更加显著。同时访问的用户数量 通常限制在1 2 人以内,其执行效率和传输效率都很低。 3 1 1 客户机服务器体系结构 客户机服务器( c s ,c l i e n t s e r v e r ) 体系结构最初是在二十世t 9 8 0 年代术提 出的,但直到二十世纪9 0 年代中后期才被广泛接受。图3 1 所示的是客户机月 务器体系结构。c s 是一种基于消息的通用模块化体系结构,与集中式运算、 大型机、分时计算等不同的是,它增强了系统的可用性、灵活性、互操作性和 扩充性。具有【1 1 。总的来既,c s 是一种基于网络的计算机系统,客户机请求 系统服务而服务器提供这些服务。 这种体系结构克服了大型机的一些缺点并且在中小型应用中取得了良好 的效果。数据库服务器比文件共享系统具有更高的效率,更利于共享和交换信 息,通过传输有组织性的数据而不是传输整个文件,c s 体系结构有效的降低 r 网络流量,使得更多的用户可以访问关系型数据库管理系统( r d b m s , r a t i o n a ld a t a b a s em a n a g e m e n t s y s t e m ) 所在的服务器。在c s 体系结构中,经常 使用远程过程调用( r p c ,r e m o t ep r o c e d u r ec a l l ) 1 标准查询语言( s q l ,s t a n d a r d 硕士学位论文 m a s f e r s 1 i t l 2 s i s q u e r yl a n g u a g e ) 在客户机和服务器之间进行通讯。 幽3 1 客户机朋务器体系结构 即便是使用一台适当的服务器,当在线用户的数量达到或者超过1 0 0 时,应 用系统的执行效率将大打折扣。这种情况下,c s 体系结构无法负担沉重的网 络传输流量,用户将注意到系统显著的延迟现象。最糟糕的情况下,有时整个 系统会在毫无征兆的情况下崩溃。另一方面,维护c s 体系结构的系统将导致 发人员陷入噩梦之中。许多设计人员会因为动态连接库( d l l ,d y n a m i cl i n k l i b r a r y ) 版本控制( 又称“d l lh e l l ”) 等原因而遇到这种问题。因此,c s 体系结 构好景不长。 3 1 2n 层体系结构 经过多年的努力,人们对c s 结构有了一个全新的认识。在不断摸索中, 人们逐渐认识到在丌发信息系统过程中,用户接口、业务逻辑以及数据库应该 相瓦分离并在不同的逻辑层( t i e r 忡加以实现。图3 2 所示的是三层信息系统体 系结构。 n 层体系结构( 其中n 代表层的数量) 是在c s 体系结构的基础上发展起来 的,一般至少由两层组成。实际上,n 层体系结构可以划分为两个子集c s 体系结构( 也就是两层体系结构) 和多层体系结构( 至少三层) 。由于c s 体系结构 在丌发复杂的企业级应用时显得有些不合时宜,因此我们将更关注多层体系结 陶。曾经有人问本人如何分辨出一个多层应用系统中的层数。虽然我的回答相 对来说有些片面但却容易理解和接受,系统中共有多少种不同的软件被安装 硕士学位论文 m a s t e r st i t e s i s 和配置在不同的计算机中,系统就有多少层。值得说明的是,并不是系统中的 层数越多系统就越强大。 图3 - 2 二层信息系统体系结构 3 1 3 实际应用中常用的体系结构 实际上,任何信息系统都是由三个主要部分组成的:输入( 数据) 、处理( 业 务逻辑) 、输出( 表现逻辑) 。图3 3 所示的是不同体系结构系统之间的区别。大 型机体系结构和c s 体系结构都是通过t c p i p 或u d p 等直接与数据库服务器 相连。 大型机与c s 体系结构最主要的区别在于业务逻辑所处的位置不同。如 果业务逻辑处于服务器端( 如大型机) ,数据库服务器将处理绝大多数的工作。 存这种情况下服务器的负载相当沉重,即使使用强大的工作站作为服务器,仍 将导致系统的阻塞或崩溃。因此,这种模式又称为瘦客户胖服务器 ( t h i n c l i e n t f a t s e r v e r ) 体系结构。相反,如果业务逻辑集中在客户端( 如c s ) , 客,。,端将处理大部分的工作。令人吃惊的是,数据库服务器并不会因此而降低 负载。驭而代之的是,服务器将忙于维护和保持不同客户机与服务器之间的连 接。更重要的是,客户端将变成胖客户( f a t c l i e n t ) ,这种情况通常意味着难以维 护和更新。 硕士学位论文 m a s f e r st 征s i s 人删机客户t a j 务器三层c o r b a p l :p r e s e n tl o g i cd s :d a t a b a s es c h e m ed b d :d m a b a s ed r i v e rb l :b u s i n e s sl o g i c o r b :o b j e c tr e q u e s tb r o k e r c s :c o m m o ns e r v i c ei i o p :i n t e m e ti n t e r - o r bp r o t o c o l 幽3 - 3 不同的系统体系结构 反观三层c o r b a 体系结构,客户端和服务器端都得以简化。客户端更集 中f 。对数据和信息的表示而数据库服务器则更注重于对数掘库的管理。业务逻 辑( c u s t o m i z e ds e r v i c e ) 芹d 通用服务( c o m m o ns e r v i c e s ) 被转移到单独的一层中( 典 型情况下是在独立的一台服务器中) 。假设有5 0 0 个客户端同时访问服务器, 采用大型机和c s 体系结构的系统将维持5 0 0 个与数据库的连接并且处理5 0 0 个运行中的进程。与大型机和c s 体系结构相对应的是,多层体系结构系统将 维护5 0 个( 或更少) 位于应用服务器和数据库服务器之间的共享连接并且只用 处理5 0 个运行中的进程。因此,采用三层c o r b a 体系结构的应用系统将耿 得更高的执行效率并且消耗更少的资源。 3 2 构件设计方法 证如之日口提到的,设计和实现运行在应用服务器端的构件是开发多层体系 结构信息系统中最重要的工作。构件设计的基本方法主要由三个步骤组成:需 求和系统分析、接口定义以及构件实现。 l5 硕士学位论文 m a sf e r s t i i e s i s 3 2 1 需求和系统分析 每个应用系统都是从需求分析开始的,没有需求就没有应用。满足需求是 软件开发的最终目的,它是开发人员与客户之间的纽带和桥梁。准确详尽的需 求分析将会使开发和使用双方都能对日后的最终系统有一个明确的认识和理 解。经验显示,根据所具有的功能和所扮演的角色,信息系统的组成元素( 如 构件) 可以划分为若干分组。图3 - 4 所示的是基于c o r b a 的应用系统架构。 图3 - 4 基y - c o r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 煤矿复采工作面顶板管理措施培训
- 2026中国UWB精准定位芯片应用场景拓展与投资价值报告
- 起重吊装作业安全操作规范与风险防控
- 2026汽车后市场服务网点体系完善客户体验品牌忠诚度内容设计分析报告
- 2026中国柔性显示屏在车载场景中的可靠性测试标准研究
- 2026森林资源管理规划政策建议调查研究报告
- 2026中国微波运动传感器行业兼并重组案例与资源整合方向研判
- 2026中国涡流泵行业价格形成机制与市场波动分析报告
- 车间溜井安全管理措施培训
- 更换刮板机机头电机安全技术措施培训
- 防腐施工安全技术操作规程
- JJF(川)143-2017 在线温度测量系统校准规范
- T∕CWTAS 0007-2025 电厂碳排放核算燃煤计量系统
- 《构网型独立储能电站档案资料管理方案》
- 2026年注册营养师道真题(名校卷)附答案详解
- 2026年广州环保投资集团有限公司校园招聘考试参考题库及答案解析
- 湖北省黄石市阳新县人民政府所属事业单位招聘考前自测高频考点模拟试题(共500题)含答案解析
- 高磷血症科普
- 医学科研成果转化的法律路径与风险
- 《JYT 0449-2011教学用玻璃仪器 抽滤瓶》(2026年)实施指南
- SQE质量工程师岗位技能测试题
评论
0/150
提交评论