已阅读5页,还剩82页未读, 继续免费阅读
(计算机软件与理论专业论文)基于网络构件的安全调用信任模型的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位论文 摘要 摘要 软件构件化可以说是跨世纪软件技术发展的必然趋势,也是软件工程界的一 个热门话题。随着传统构件技术与i n t e m e t 的进一步融合,基于i n t e m e t 异构环 境下分布式软件构件网络构件已成为构件发展的重要方向之一。然而由于 i n t e m e t 的开放性,不稳定性、局部自治性、异构性等特性,不仅使网络构件的 运行环境处于动态不可预知的情况下,而且网络构件调用、访问处于不安全状态, 容易被远端不安全的客户端访问攻击。因此网绍构件的调用安全将面临巨大的考 验。 本文就网络构件的运行安全调用提出了网络构件的安全调用信任模型。在传 统的网络构件体系模型上增加了安全层,它确保了客户和构件之间通信的安全 性。并在提高性能方面提出了信任域概念和两种降低安全开销的策略。接着,针 对该模型进行详细的系统设计。 本文的主要工作包括以下四方面: 第一,我们考虑了传统的网络构件的软件体系结构,提出了安全网络构件的 概念,并对安全网络构件进行了形式化的定义与描述。 第二,介绍分析了s s h 安全协议以及s s h 在网络安全上的安全验证。对s s h 协议和其他相关的协议做了比较,分析得出其在网络安全应用层上的优势。针对 网络构件软件体系的安全问题,我们借鉴s s h 的思想到我们的网络构件体系中。 并且介绍了s s h 在华为v r p 平台上的应用项目。 第三,针对网络构件的远程安全调用提出了网络构件安全调用信任模型。为 了提高远程调用的效率,提出了网络构件体系安全域的概念,用形式化方法描述 了安全域、安全代理。对安全步骤的重用进行了讨论。提出了两种降低安全开销 的策略:数据预传和并行认证,并对它们的效率进行计算。 第四,详细描述了网构安全调用信任模型的系统设计,给出了主要模块的设 计描述。将其加载到基于构件开发的工具包( c b s d k ) 系统上。我们在c b s d k 平台下,对基于网构安全调用信任模型的e j b 构件进行了试验分析。结果表明, 这种新的安全构件体系结构有效提高了分布式安全系统的性能。 本文得到以下基金和项目赞助:基于构件库的支持协同软件开发的工作流关 键技术研究( 国家8 6 3 课题) ( 2 0 0 1 a a l l 3 1 4 2 ) 。华为s s h 项目。本论文的设计 思想来源于这两个项目的启发。 关键字:构件,安全,信任,域,网络 浙江大学颤: 学位论文 摘要 a b s t r a c t c o m p o n e n tb a s e ds o f t w a r ee n g i n e e r i n gi s t h en e c e s s a r yt e n d e n c yo fs o f t w a r e t e c h n o l o g yi nt h en e x tc e n t u r y i t i sa l s oo n eo ft h eh o t t e s tt o p i c si nc u r r e n ts o f t w a r e e n g i n e e r i n gr e a l m a st r a d i t i o n a lc o m p o n e n tt e c h n o l o g yi si n t e g r a t e di n t oi n t e r n e t f u r t h e r , s o f t w a r ec o m p o n e n tw h i c hb a s e so nh e t e r o g e n e o u sa n dd i s t r i b u t e dn e t w o r k e n v i r o m e n t ,w ec a l l e dn e t w o r k c o m p o n e n t ,h a sa l r e a d yb e c o m eo n eo ft h em o s t i m p o r t a n t d i r e c t i o n so fc o m p o n e n td e v e l o p m e n t t h ec h a r a c t e r i s t i c so fi n t e r n e t e n v i r o n m e n t ,s u c ha so p e n i n g ,u n s t a b i l i t y , a u t o n o m ya n dh e t e r o g e n e i t y , e t c i e a dt h e r u n n i n ge n v i r o n m e n t so f n e t w o r k - c o m p o n e n t t oa l lu n p r e d i c t a b l es i t u a t i o n a l s o ,t h e c o m m u n i c a t i o nb e t w e e nt h e n e t w o r k - c o m p o n e n t s b e c o m eu n s e c u r e d s ot h e c o m m u n i c a t i o n o f n e t w o r k - c o m p o n e n t w i l lb ec o n f r o n t e dw i t h g r e a tc h a l l e n g e s , t h i st h e s i sb e g i n sw i t ht h e a n a l y s i so f s e c u r er e q u i r e m e n to f n e t w o r k - c o m p o n e n t p r o p o s e st h es e c u r et r a n s f e rm o d e lo f n e t w o r k - c o m p o n e n t ( s t m n c ) t h es t m n c a d ds e c u r i t yl a y e ro nt r a d i t i o n a ln e t w o r k - c o m p o n e n ts y s t e mm o d e l ,i ti n s u r e ss e c u r e c o m m u n i c a t i o nb e t w e e nc l i e n ta n d n e t w o r k - c o m p o n e n t s w e a l s op r o p o s et h ec o n c e p t o fs e c u r ed o m a i nt oe n h a n c ee 街c i e n e ya n dt w os t r a t e g i e st h a tw i l ld e c l i n et h e o v e r h e a d t h e nd e s c r i b ed e s i g na n d i m p l e m e n t a t i o n o f t h em o d e l 1 1 矗st h e s i sm a i n l yi n c l u d e s : f i r s t , a sw ec o n s i d e rt h et r a d i f i o n a ln e t w o r k - c o m p o n e n ts o f t w a r ea r c h i t e c t u r e , w ea n n o u n c et h e c o n c e p to fs e c u r en e t w o r k - c o m p o n e n t t h e nw ed e f i n e a n d d e s c r i b ei tu s i n gf o r m a l i z a t i o n m e t h o d ; s e c o n d ,t h et h e s i si n t r o d u c e st h es s hp r o t o c o l ,a n a l y s e si t sw o r k f l o wa n dt h e s e c u r ea s s u r a n c ei nn e t w o r k s e c u r i t y c o m p a r i n gw i t l lo t h e rp r o t o c o l s w ed e d u c ei t s a d v a n t a g ei nt h ea p p l i c a t i o nl a y e ro f n e t w o r k s e c u r i t y a i m i n ga tt h es c c u t 。p r o b l e m o f n e t w o r k - c o m p o n e n t s o f t w a r e s y s t e m ,w ea p p l y t h es s hi d e at oo u r n e t w o r k c o m p o n e n ts y s t e m w ea l s od e s c r i b et h es s hp r o j e c ti nh u a w e i sv r p p l a t f o r m 砌r d w ep r o p o s et h es e c u r et r a n s f e rm o d e l o f n e t w o r k - c o m p o n e n ta i m i n g a t t h ed i s t r i b u t e ds e c u r ec o m m u n i c a t i o no ft h en e t w o r k - c o m p o n e n t f o re n h a n c i n st h e e f f i c i e n c yo f t h ed i s t r i b u t e dc o m m u n i c a t i o n ,t h et h e s i sp r o p o s e st h ec o n c e p to fs e c u r e d o m a i n t h e nw ed i s c u s sr e n s e n e s so fs e c u r i t ys t e p sa n dt h ef o r m a ld e s e r i p t i o no f s e c u r ed o m a i na n ds e c u r ea g e n t w ep r o p o s et w os t r a t e g i e st h a tw i l ld e c l i n et h e o v e r h e a d :d a t a p r e f e t c h a n d p a r a l l e la u t h e n t i c a t i o n a n dt h e i rp e r f o r m a n c e a tl a s t w ed e s c r i b et h es y s t e md e s i g no ft h es t m n c d e t a i l e d l ya n do f f e rt h e a l g o r i t h mo ft h em a i nm o d u l e a n da d dt h es t m n c t o t h e “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 tk i t s ”( c b s d k 、w ed os o m ee x p e r i m e n t so ne j bu s i n g s y s t e m c b s d k t h e e x p e r i m e n t a l r e s u l t ss h o w e dt h a tt h en e ws e c u r e n 浙江大学硕士学位论文 摘要 n e t w o r k - c o m p o n e n ts o f t w a r ea r c h i t e c t u r ec a l lg e te x c e l l e n tr e s u l ti ni m p r o v i n gt h e p e r f o r m a n c e a n d e f f i c i e n c yo f d i s t r i b u t es e c u r ec o m m u n i c a t i o ni ns o f t w a r es y s t e m t h i st h e s i si s s u p p o r t e db yt h ef u n do ft h ec o n c u r r e n tw o r k f l o wd e v e l o p m e n t b a s e do nc o m p o n e n t l i b r a r yr e s e a r c h ( 2 0 0 1 a a l l 3 1 4 2 ) a n d t h es s h p r o j e c ti nh u a w e i c o m p a n y t h e i d e ao f t h i st h e s i si sg e n e r a t e df r o mt h i st w o p r o j e c t s k e y w o r d :c o m p o n e n t ,s e c u r i 吼d o m a i n ,n e t w o r k ,s o f t w a r e a r c h i t e c t u r e i 浙江大学硕士学位论文 毒糟论 第一章绪论 在信息时代,新的技术革命正在改变我们日常生活的面貌,而这场技术革命 的核心是计算机软件系统。在面向对象技术给解决软件危机带来曙光之时,分布 式网络计算的巨大压力又给软件开发提出了许多新的难题,使软件开发仍处于高 风险状态。新的分布式网络计算要求软件实现跨空间、跨时间、跨设备、跨用户 的共享,导致软件在规模、复杂度、功能上的极大增长,追使软件要向异构协同 工作、各层次上集成、可反复重用的工业化道路上前进。为适应软件的这种需求, 新的软件开发模式必须支持分布式计算、浏览器朋r 务器结构、模块化和构件化 集成,使软件类似于硬件一样,可用不同的标准构件拼装而成。同时,随着计算 机网络技术的发展,进入9 0 年代以来,异构环境下分布式软件的开发已成为一 种主流需求。预计在未来十年内,软件构件以及基于i n t e m e t 的网络构件会成熟 并得到普及,那时,整个软件的形态将彻底地发生变化,将引发出现软件经济的 新模式、新生产方式与新商业规则。 1 。1 软件技术历史回顾 软件技术,简言之,是指支持软件系统的开发、运行和维护的技术。其核心 内容是:高效的计算模型及其支撑机制,有效的开发方法学及其支撑机制。 软件作为一门学科,其研究内容可分为三个层次:一是研究软件的本质和模 型,即软件的基本元素( 软件实体) 及其结构模型,这是软件呈现良好结构性并 能够有效、高效地运行的基础。同时,相应的形式化模型的研究也是重要的研究 课题,这是实现软件生产自动化的必备前提;二是针对特定的软件模型,研究高 效的软件开发技术,以提高软件系统开发的效率和质量。研究内容多体现为方法 论及相应的工程原则、支撑工具;三是研制领域特定的或应用特定的软件。软件 技术的研究主要指第一和第二层次的研究工作。 软件技术之所以自5 0 6 0 年代以来一直不断地发展,一个主要原因是人们至 今尚没有一个能够高效率、高质量、低成本生产软件的满意方法。 回顾软件技术的发展历史,其核心技术之一是软件的基本模型。与软件技术 发展密切相关的三个要素是计算机平台、人的思维模式和问题的基本特征。驱动 软件技术不断向前发展的核心动因之一是复杂性控制。高级语言的发展是为了控 制计算机硬件平台的复杂性,结构程序设计的发展是为了控制程序开发过程和执 行过程的复杂性,面向对象方法贝口是为了控制系统需求易变所导致的复杂性。面 浙江大学硕士学位论文 绪论 向对象技术目前之所以流行是因为它较好地综合了软件开发的三个要素:计算机 平台、人的思维模式和问题的特征。面向对象技术的基本建模元素是对象及对象 间的交互,这种看待现实世界的观点既符合人的思维模式,又符合客观世界的构 成规律,因此,能够达到问题空间、设计空间和程序空间之间的直接映射,从而 能更容易地控制需求变化所导致的在设计空间和程序空问的“涟漪”效应。 考察软件基本模型的发展,可以发现如下的历程。在高级语言出现以前,汇 编语言( 机器语言) 是编程的工具,软件模型的基本单元是指令,指令的序列构 成程序,其控制机制主要是顺序和转移;f o r t 融n 语言的问世,使得软件模型 向人类的思维模式靠近了一步,人们可以直接使用算术表达式来编程实现其科学 和工程计算任务,这种基本计算单元抽象程度的提高不仅改善了人们的编程效 率,而且大大拓广了计算机应用的领域和程序员的范围:高级语言的发展,使得 程序员可以在一个更高的抽象层次上进行程序设计,从而提高了开发效率( 从理 论上说,人在单位时间内所能编写的代码行数基本相同) ,也提高了开发质量; 结构化程序设计技术的出现,使得任意计算流程均可用顺序、循环和条件等三种 基本控制结构来描述,而函数( 过程) 等程序元素的出现又为信息隐蔽和封装提 供了机制,这样的软件模型不仅基本计算单元粒度增大,而且控制流程结构化, 这是在较长一段时间内在软件界占据主流的软件模型:模块化、抽象数据类型等 概念的出现也是人们在提高基本计算单元粒度和抽象度方面努力的结果,但是这 些概念并没有在编程语言层次上的对应体( 虽然一些个别的研究性语言提供了模 块或抽象数据类型的机制,但对大多数语言而言,还只能用其本身的基本结构来 模拟之) 。因此,模块化基本上还局限于设计阶段,抽象数据类型则主要局限于 学术研究中;近2 0 年来,面向对象程序设计语言的诞生并逐步流行,为人们提 供了一种以对象为基本计算单元,以消息传递为基本交互手段的软件模型,该模 型以拟人化的观点来看待客观世界( 客观世界由一系列对象构成,这些对象问的 交互就形成了客观世界的活动) ,符合人们的思维模式和现实世界的结构,随后 而兴起的面向对象方法学也就逐步成为软件开发的流行方法;对软件复用的关 注,又使得人们试图寻找比对象粒度更大、更易于复用的基本单元,从而导致了 软件构件技术的兴起,如果说在早期构件还基本上是一种设计级元素的话,那么 近几年分布对象技术的进展已使得人们可以在语言级别上实现一个构件实体,面 向构件的计算模型已被视为新一代的软件模型。 回顾软件技术发展近5 0 年的历程,可以认为,软件技术的每一次进步,都 促进了软件生产力水平的提高与改善。 概括来讲,软件技术的发展大体经历了五代历程。 1 9 6 0 年代末,是以a l g o l 、f o r t u n e 等编程语言为标志的算法技术。由于高级 语言的流行,使得计算机的应用范围得到较大扩展,对软件系统的需求急剧 浙江大学硕士学位论文绪论 上升,从而产生了所谓“软件危机”,软件开发从质量、效率等方面均远远 不能满足需求。6 0 年代末出现了“软件危机”。于是如何克服“软件危机”, 为软件开发提供高质、高效的技术支持,受到人们的高度关注。1 9 6 8 年,在 n a t o 会议上首次提出了“软件工程”这一概念,从而使软件开发开始了从 “艺术”、“技巧”和“个体行为”向“工程”和“群体协同工作”转化的历 程。开始注重对程序结构的研究;出现了结构化程序设计思想;软件工程思 想和概念被正式提出。 1 9 7 0 年代,是以p a s c a l 、c o b o l 等编程语言和关系数据库管理系统为标志的 c 。软件开发的前期阶段受到重视,人们开始研究结构化分析和设计方法: 程序设计方法学研究成为独立研究领域;以数据为中心的抽象数据类型概念 的提出;软件工具开始出现。 w e d o k s 拉a 首先提出了一种解决方案,采用结构程序设计方法,就是 把软件开发看作数学求解,沿用数学上的枚举、抽象、归纳、类比等思维方 式,把问题简化。用工程的概念、方法、原理和技术来开发和维护软件,产 生了结构化分析和设计的方法。这种技术以强调数据结构、程序模块化结构 为特征,采用自顶向下逐步求精的设计方法和单入口单出口的控制结构,从 而大大改善了程序的可读性。伴随着结构化软件技术而出现的软件工程方法 ( 包括c a s e 工具) ,使软件工作的范围从只考虑程序的编写扩展到从定义、编 码、测试到使用、维护等整个软件生命周期。软件不仅仅是程序,还包括开 发、使用、维护程序需求的所有文档,编程工作只占软件开发全部工作量的 2 0 。结构化软件技术使软件由个人作坊的“艺术品”,变为团队的工程产品, 大大改善了软件的质量与可维护性,但软件开发的成本却大大增加了。 1 9 8 0 年代,软件技术是以s m a l l t a l k 、c + + 等为代表的面向对象技术( 0 0 ) 。 从程序设计方法学研究转向软件开发方法学研究;计算机辅助软件工程 ( c a s e ) 及软件工程环境的研制成为热点:面向对象技术开始出现并逐步 流行。 o o 以对象作为最基本的元素,它将软件系统看成是离散的对象的集合。 一个对象既包括数据结构,也包括行为。一般情况下,一个对象与现实世界 的一个事物相对应。面向对象的认识论是将系统看成由多个对象组成,通过 对象之间的通信形成了系统,为客观世界过渡到软件系统提供了途径和编程 的思维方法。其主要特征是: ( 1 ) 类和封装性,实现数据抽象和信息隐蔽,给出了对象类型和参数化, 通过生成实例后组装成系统,提供了实现复用的手段; ( 2 ) 继承性,提高了代码复用性: ( 3 ) 多态性。 面向对象技术的最大优点是帮助分析者、设计者及用户清楚地表述概 浙江大学硕士学位论文 念,互相进行交流,并作为描述、分析和建立软件文档的一种手段。显然, 这将大大提高软件的易读性、可维护性、可重用性,进一步地,这使得从软 件分析到软件设计的转变非常自然,因此可大大降低软件开发成本。而算法 技术和结构化技术相应的转变就没有这种自然性,因为这两者的实现基础是 计算机指令系统,而不是人思维中的概念。例如,循环和分支等语言机制就 是对机器跳转指令的抽象。另外,0 0 技术中的继承、封装、多态性等机制, 直接为软件重用提供了进一步的支持。0 0 技术开辟了通过有效的软件重用 来达到提商软件生产率的新篇章。 1 9 9 0 年代,软件技术是以c o r b a 等为代表的分布式面向对象技术( d o o ) 。 面向对象方法和技术成为主流软件开发技术;软件过程研究及企业软件 过程改善成为热点;软件复用和软件构件技术被视为解决软件危机的一条现 实可行途径。 随着计算机网络技术的发展,进入9 0 年代以来,异构环境下分布式软 件的开发已成为一种主流需求,0 0 技术对软件的重用,仅限于单台计算机 上、同种操作系统与编程语言环境下软件重用,对象往往仅存在于一个程序 中,程序的外界并不可能感知和访问这些对象。异构环境分布式系统中的软 件重用,要求能够重用不同计算机上、不同操作系统或语言环境下,由不同 人员不同时间开发的软件模块。具体地,就是要解决不同软件之间的组合性 ( p l u ga n dp h y ) 、互操作性、可移植性等技术问题。d 0 0 技术的核心是中间 件技术,即是通过在系统软件与应用软件之间提供一个统一的软总线 f s o f t w a r eb u s ) ,以屏蔽不同操作系统、不同语言环境的差别,将异构分布式 系统“转化”为,对软件开发人员而言,一个虚拟的单台计算机、单一开发环 境。d 0 0 不仅使0 0 的优点在异构分布式环境下得到保持,更重要的是大 大简化了异构分布式软件开发工作的复杂性。另外,d 0 0 对于如何保留利 用已有传统软件( 1 e g a c y s y s t e m ) ,并使已有传统软件与新开发软件能够互操 作运行方面提供了有效的解决方案。 1 9 9 0 年代中期至今,软件技术是以c o m 、c o r b a 3 0 、e j b 和w e bs e r v i c e 等 为代表的软件构件技术。 浙江大学硕士学位论文 绪论 构件开发 应l i 开发( 构扑成) 图卜1 软件构件的一般开发模式 面向对象技术及分布式对象技术等支持的软件重用只是以程序源代码的形 式进行的,而不是软件的最终形式一一可执行二进制码的重用。这要求设计者在 重用别人的软件时,必须要理解别人的设计和编程风格。对于封装风格不同的类 库,使用者不仅需要理解封装在库内的底层技术,还需要理解库本身强加的抽象 概念。因此应用其他开发人员的代码往往比再实现这些代码要付出更多的代价。 软件构件技术的突破,在于实现对软件可执行二进制码的重用。这样,一个软件 可被切分成一些构件,这些构件可以单独开发、单独编译,甚至单独调试与测试。 当所有的构件开发完成后,把它们组合在一起就得到完整的应用系统。 目前软件工程理论和技术方面研究的主要热点有:软件建横相关的研究工 作,包括对统一建模语言u m l 的扩展及形式化研究;方法学相关的研究工作, 包括面向a g e n t 的方法学、面向a s p e c t 的方法、面向构件的方法学等;再工程 相关的研究工作,包括程序分析、程序理解和逆向工程;软件复用相关的研究工 作,包括软件构件技术、软件体系结构技术、基于关键的软件开发、领域工程技 术、产品线技术等:i n t e m e t 相关的研究工作,包括w e b 工程、基于i n t e m e t 的 协同工作等:以及其他关于软件测试、过程管理等方面的研究工作。 1 2 构件相关技术概述 在基于构件的分布式应用系统中,构件是系统的基本组成元素,体系结构则 描述构件之间的功能划分与协作关系,而分布计算技术为应用的分布提供环境支 持。 浙江大学硕士学位论文绪论 1 2 i 软件体系结构 目前,软件体系结构是软件工程领域的一个重要研究内容。概括地说,软件 体系结构是软件系统的组织结构、构件间的联系与约束、指导系统设计与演化的 原则与准则,它是对系统组成、系统结构较为宏观的描述。 其实,软件体系结构是软件结构研究的继续。1 9 6 8 年,e d s g e rd i j k s t r s 指 出:为了产生正确的结果,相对简单编程,应该更加注重软件是如何分解、如何 结构化的。 软件体系结构领域的所有工作都是为了建立一个基于体系结构的软件开发 范型,其动机是:结构最重要,结构正确会带来好处 不过,由于软件技术的发展,软件体系结构的研究与传统的软件结构研究大 不相同。首先,传统研究主要关心算法与数据结构的研究,其核心设计模式是“算 法+ 数据结构二程序,而软件体系结构是关于一个大系统的整体结构的设计与 规范。再者,传统软件结构与软件体系结构研究的对象不同。传统上,个体系 结构的实例是一个特定系统的体系结构。比如用带有流程图的系统文档来描述该 系统的体系结构。软件体系结构重在研究体系结构和体系结构风格。一个体系结 构规定了构件和连接的名称( 如过滤器和通道) 、拓扑结构( 如图不可以循环) 、语 义约束( 如过滤器不能共享数据) 、构件或连接的特定实例。体系结构风格可以是 抽象的体系结构模式或定式( 如客户服务器的组织) ,也可以是具体的参考体系 结构( 如i s o o s 工通信模型、传统编译器的线性分解模型) 。 目前,软件体系结构的研究有两种倾向:一般的、抽象的软件体系结构和特 定领域的软件体系结构。 对于抽象的软件体系结构,主要通过分析研究在各个领域开发的应用系统, 总结构造复杂系统己有的一些共同的方法、技术或模式,提炼而形成,如管道一 过滤器、面向对象组织、基于事件的隐式激发机制、分层系统、分布式进程等。 而特定领域软件体系结构的研究着重于探讨特定领域中相关系统的共同方面。为 新系统的开发提供可重用框架。 另外,软件体系结构的描述、规约以及构件向软件体系结构集成机制等都是 需要研究的重要内容。 软件体系结构是对系统整体结构设计的刻画,包括全局组织与控制结构,构 件间的通信、同步和数据访问协议,设计元素间的功能分配,物理分布,系统的 伸缩性和性能,设计选择等。 研究软件体系结构对子进行高效的软件工程过程具有重要的意义:通过这一 研究,有利子发现不同系统在较高级别上的共同特征:获取正确的软件体系结构 对于进行正确的系统设计非常关键:对各种软件体系结构的深入了解,使得软件 浙江大学硕士学位论文 工程师可以根据一些原则在不同的软件体系结构之间作出选择:从软件体系结构 的层次上表示系统,有利于系统在较高级别性质的描述与分析。特别重要的是, 在基于重用的软件开发中,为重用而开发的软件体系结构可以作为一种大粒度 的、抽象级别较高的软件构件进行重用,而且软件体系结构还为构件的组装提供 了基础,对于成功的软拌重用具有非常重要的意义。 软件体系结构研究如何快速、可靠地从可重用构件构造系统的方式,着重于 软件系统自身的整体结构和构件间的相互联系。 1 2 2 构件与软件重用 软件构件的思想来自于硬件集成电路的即插即用、高封装性等特点。每个软 件构件都是自主的,有其独有的功能,只能通过接口与其通信。系统地说,软件 构件是可重用的软件单元,可以被用来构造其它软件。它的粒度比较自由,可以 是封装的对象类、类树、设计模式、软件框架、软件体系结构以及软件系统的分 析、设计文档等。软件构件技术的发展为组件化、装配式的软件开发提供了基础。 形象地说,构件相当于建筑上的预制板,在应用软件开发中,从构件库中选 择合适的构件,通过构件的组装与控制来构造应用软件。构件化软件开发是从根 本上实施软件重用的重要途径,也是未来软件开发技术的发展方向。 软件重用 1 , 2 1 早在6 0 年代就有人提出,但至今仍无实质性的突破。其主要原 因在于可重用的成分还没有足够的抽象性,表现在其规模、适用范围和易用性等 方面都有很强的约束。在代码重用方面,应用最为成功的是数学函数库,但在通 用领域收效甚微。目前,人们对代码重用进行了长期的研究与实际,发现开发 个软件所需的大部分工作往往在分析与设计阶段,编码只占全部工作的小部 分。随着软件重用研究的深入,重用成分的形式已经从代码扩展到一切可以用来 构造软件系统的成分,包括需求分析、软件框架、测试信息等等。 1 2 3 分布计算技术 随着计算机网络技术的发展,特别是i n t e r n e t 的迅速膨胀,计算机工业正从 传统的计算模型向分布式计算模型过渡,这是近年来最为剧烈的技术性变化之 一。 分布计算技术( d i s t r i b u t e dc o m p u t i n gt e c h n o l o g y ) 的发展经历了两种不同 的技术路线。 第种是理想的技术路线。试图在互连的计算机硬件上部署全新的分布式操 作系统,全面管理系统中各自独立的计算机,呈现给用户单一的系统视图。在八 十年代,学术界普遍追求这一目标,尽管产生了许多技术成果,但未被用户接受。 浙江犬学硕士学位论文 绪论 第二二种是现实的技术路线,即在网络计算平台上部署分布计算环境( 也称中 间件) ,提供开发工具和公共服务。支持分布式应用,实现资源共享与协同工作。 九十年代,工业界普遍遵循这一技术路线,产生了一系列行之有效的技术和广为 用户接受的产品。 通常所说的分布计算技术是指在网络计算平台上开发、部署、管理和维护以 资源共享和协调工作为主要应用目标的分布式应用系统。 分布式系统 分布式系统是由某种网络连接的自治的计算机集合。相对于单处理器系统, 分布式系统具有以下优势: 1 系统提供多个计算单元。如果某个应用分解成几个可同时运行的部 分,则运行速度会更快并可提高吞吐量: 2 当使用多台计算机时,每台机器上竞争资源的用户将比使用单处理 器时更少。因此将缓和竞争并减少使用高峰期的响应时间, 3 由于组成分布式系统的计算机具有相互独立的故障特性,系统整体 的有效性得到提高。通过对软硬件资源进行冗余复制的方法可以减少因某台 机器出现故障所影响的用户数目。在服务器节点复制重要数据可保证其有效 性。 4 分布式系统提高了可伸缩性。此外,整个系统的配置具有更大的灵 活性。分布式系统所提供的灵活性和传统的集中式计算模型有限的更改可能 性相比,二者构成了强烈的反差。 尽管分布式系统具有诸多优点,但实现分布式系统存在许多困难。首先,分 布式系统往往规模较大且复杂,分布式软件体系结构的研究正是为了减少分布式 软件系统的复杂度。另外,异构环境中应用的互操作问题、系统管理问题、系统 安全问题等都是必须加以重视的。 c 1 i e n t s e r v e r 计算模型 分布式系统广泛使用客户服务器计算模型,该模型定义了客户服务器应用 中两个独立的部分: 1 在工作站上运行的应用为客户请求服务: 2 服务器可以是客户机所在机器中的某个程序或是在远程机器上,甚 至可以与客户机使用不同的操作系统。 c 1 l e n t s e r v e r 是松散藕合系统,通过消息传递机制进行对话。一个请求w 序( c 1i e n t ) 首先通过m 络协议( 如t c p i p 协议或i p x s p x 协议等) 与服务程序进行 连接,由客户端发出请求给服务器,服务器则进行相应的处理,然后结果经传递 机制返回给客户端。 浙江大学硕士学位论文 绪论 j 窖户瓤应甩厦莽器 擞捆露鞭菇罨 斑臀稳翩p r c j j 匮恩基序 广1 ( h r l i j 网 蟊器斌箍调擂誉口。 卜 路 蟹舞牟酗n 程i i -l 【健瓿l 飞r 图卜2 三层客户服务器模型 最初,c l s 结构是一个简单的两层模型( t w o t i e r s ) f l p c i l e n t s e r v e r 。在这 种结构中,几乎所有的表示逻辑和应用逻辑( 商业规则) 等都在客户端,因此称为 肥客户机。s e r v e r 贝l j 成为数据库服务器,进行商业数据的处理与维护,称为瘦服 务器。 客户端过于庞大,负载太重,使得应用系统的性能、可伸缩性和可扩展性受 到限制。因而出现了三层结构的客户服务器模型,即客户一应用服务器数据 库服务器 在三层客户服务器模型中( 如图卜2 ) 客户端包括应用程序和开发工具。c p u 密集型应用能够充分利用客户端的处 理能力以及自治性来减少服务器的管理。服务器端分为两部分:应用服务器与数 据库服务器。应用服务器包括从客户端划分出来的一部分应用及从专用服务器中 划分出来的一部分工作。基于服务器的应用程序代码在此可以更好地保密,应用 代码可以访问其他服务器应用或作为其他服务器应用的路由,因此具有较大的灵 活性及易扩展性。 近年来,随着c s 技术的成熟和发展,三层c s 模型己逐渐代替早期的两层c j s 模型,成为构筑企业级c s 应用的首选方案,例如最新的b r o w s e r w e b d a t a b a s e 体系结构就是三层c s 模型的一种特例。 分布对象技术 在分布式客户服务器计算机系统的建立及其应用系统的开发过程中,人们 逐步体会到分布式系统比想象的复杂得多,例如异构环境下的应用互操作问题、 系统管理问题、系统安全问题等,这些问题在集中技术模式下是不曾出现或不突 出的。传统的面向过程的技术在开发大型软件系统是己经暴露出很大的局限性, 在应付复杂的分布式应用系统时更加力不从心。因此,开始孕育以面向对象技术 为主要特征的分布计算技术,称为分布对象技术。 分布对象存在子网络的任何地方,可被远程客户应用以方法调用的形式访 问。至于分布对象是使用何种程序设计语言和编译器所创建,对客户对象来说是 透明的。客户应用无须知道它所访问的分布对象在网络中的具体位置以及运行在 何种操作系统上,该分布对象与客户应用可能在同一台计算机上,也可能分布在 浙江大学硕士学位论义 绪论 由广域网相连的不同计算机上。分布对象具有动态性,它们可以在网络上到处移 动。 分布对象是一种典型的软构件( c o m p o n e n t ) ,构件是一些独立的代码的封 装体,在分布计算的环境下可以是一个简单的对象,但大多数情况下是一组相关 的对象复合体,提供一定的服务。分布环境下,构件是一些灵敏的软件模块,它 们可以位置透明、语言独立和平台独立地互相发送消息,实现请求服务。基于分 布对象技术的分布式应用开发就是分布对象的开发和组装分布式对象计算中, 通常参与计算的计算体( 分布式对象) 是对称的。 分布对象技术采用面向对象的多层客户服务器计算模型,该模型将分布在 网络上的全部资源都按照对象的概念来组织,每个对象都有定义明晰的访问接 口。刨建和维护分布对象实体的应用称为服务器,按照接口访问该对象的应用称 为客户。因此,在分布对象技术中,客户与服务器的角色划分是相对的或多层次 的。 传统的面向对象技术有两个基本的特点:封装性和继承性,通常其强调的是 代码复用,对象往往仅存在于一个程序中,程序的外界并不可能感知和访问这些 对象。而分布式对象技术主要使用了面向对象技术的封装性,构件可以分布在网 络的任何位置。对外界来说,它所需关心的只是构件的界面,至于内部是如何实 现的则无需考虑,远程客户通过方法调用来访问它。这是分布式对象技术和传统 的面向对象技术的最大的不同点。 分布对象技术的实质在于使面向对象技术在异构的网络环境中得以全面、彻 底和方便的实施,从而能有效控制系统的开发、管理和维护的复杂性。 另外,在分布式对象里我们一般不提对象,而提构件。那么,构件和对象有 什么区别呢? 我们知道,在面向对象技术里可以有很小的一个对象,比如说个 邮政编码做一个对象;但在分布式对象计算中,我们往往会把一些小的相关的对 象组合在一起,形成一个相对比较大的构件,通过这个构件来提供一系列的服务。 目前分布对象技术己经成为建立应用框架( a p p l i c a t i o nf r a m e w o r k ) 和软件 构件( s o f t w a r ec o m p o n e n t ) 的核心技术,在开发大型分布式应用系统中表现出强 大的生命力,并形成了具有代表性的主流技术,如o m g 的c o r b a ,m i c r o s o f t 的 a c t i v e x i d c o m 和s u n 的3 a v a r m i ( r e m o t e :m e t h o di n v o c a t i o n ) 等。分布对象技 术使得符合接口标准的构件可以方便地以“即擂即用,的方式组装到系统中,对 软件重用提供了良好的支持。 1 。3i n t e r n e t 对软件技术的需求和挑战 i n t e m e t 无疑是2 0 世纪末最伟大的技术进展,其普及和发展为我们提供了一 种全球范围的信息基础设施。这个不断延伸的网络基础设施,形成了一个资源丰 0 浙江大学硕二l 学位论文绪论 富的计算平台。以i n t e r n e t 为主干,各类局域网或无线网为局部设施,伴随着移 动通讯技术的发展,再加上各种信息处理设备和嵌入设备作为终端,构成了人类 社会的信息化、数字化基础,成为我们学习、生活和工作的必备环境。 i n t e m e t 主要特点体现在下述三方面: 1 ) i n t c r n e t 提供了广泛的连通性,这里的连通性不仅是指物理上连接的地域 范围既包括人类生活的各个方面,也包括了卫星、星际探测器等各类智能化设备 能够到达的广泛空间;更是通过开放的标准化技术,和i n t e r a c t 为主干的连通能 力,将规模庞大的计算设备连接称为了一个协同的整体,不仅为信息共享、传播 提供了基础,更可以提供巨大的计算能力,并将该能力融合到人类生活的各个方 面。 2 ) 以i n t e m e t 连通起来的整体信息系统是无统一控制的分布性系统结构,各 节点可具有高度的自治性,实体行为复杂具有不可预测性。方面系统中相连的 人、设备、软件和局部环境具有丰富的多样性和异构性,使用方式也具有个性化 和灵活性的表现:另一方面,通过开放性的技术标准又实现了整体复杂的互连、 协作和互操作。由此,在基于标准的互连、互操作特性基础上i n t e r a c t 系统表 现出了显著的动态特性。 3 ) i n t e m e t 为人类海量信息的处理要求提供了基础平台,互连不仅使信息孤 岛相互连接,共享范围得以扩充:更重要的是使得计算设备的能力实现了整合, 能够在基本计算单元能力较弱的情况下,实现整体海量的计算能力。 i n t e m e t 的发展为社会信息化孕育了巨大的创新空间,也为软件及其技术发展 带来了新的平台、新的模式和新的业务,并为软件产业发展提供了规模空前的基 础设施。 从软件的运行平台上来看,早期软件以面向单c p u 多c p u 的集中封闭机器 结构为基础,着重发展特定局部环境下简单通讯协同的软件技术;随着网络技 术的发展,出现了以网络环境为核心的分布式系统结构;而新一代软件运行平台 将建立在广泛连通的i n t e m c t 基础上,i n t c m e t 整体成为了软件运行的环境,软件 本身既强调自治性、又强调协作性。 基于i n t c m e t 的连通性,软件产品的形态和传播模式开始发生根本性变化。 继软件作为一种产品和产业从硬件脱离出来以后,目前软件正在从由依附在存储 介质( 磁盘、光盘等) 上的产品形式转变成无固态形态的服务形式,软件产业正 在从生产产品演变成提供软件服务。软件作为服务( s o f t w a r ea sas e r v i c e ) 这一 崭新模式有望取代传统的基于拷贝的产业模式。这种新型模式不仅更加具有商业 合理性,同时,客户端i n t e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安徽电子信息职业技术学院单招职业适应性测试必刷测试卷带答案解析
- 2026年云南锡业职业技术学院单招综合素质考试题库及答案解析(名师系列)
- 2026年浙江警官职业学院单招职业适应性测试必刷测试卷附答案解析
- 2026年四川工业科技学院单招职业技能考试必刷测试卷及答案解析(名师系列)
- 地震损伤木结构评估
- 房屋搬迁平移协议书
- 房屋沁水调解协议书
- 房屋翻新易合同范本
- 房屋装修包工协议书
- 房屋转卖合同协议书
- 中行流水模板
- 疟疾防治知识培训课件
- 民族与社会 第十讲 语言使用与族群关系
- 四上22《为中华之崛起而读书》预学单、导学单
- 早期胃癌内镜诊断与治疗1
- 建筑工地影像资料收集要点
- YS/T 372.2-2006贵金属合金元素分析方法 铂量的测定 高锰酸钾电流滴定法
- GB/T 879.2-2018弹性圆柱销直槽轻型
- 外科学试题库及答案(共1000题)
- SAP入门基本操作培训课件
- 干式变压器采购技术协议
评论
0/150
提交评论