已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江苏大学工程硕士学位论文 摘要 软件架构是控制软件复杂性、提高软件系统质量、支持软件开发和复用 的重要手段。然而在现实当中很多早期开发的应用系统和新开发的软件系统 不存在合理的系统架构,这就使得对这类系统的维护、升级、扩充和更新十 分困难。因此,深入研究从系统实现中提取、分析、推演和重构软件系统架 构的有效方法,对于延长软件系统的使用寿命、提高软件系统的维护效率、 降低维护成本具有重要意义。 根据微软公司n e t 平台所引领的技术发展趋势,提出了结合设计模式改造 传统的三层应用软件系统,构建多层复合架构的设计思路。然后从网络管理 信息系统开发技术的特点以及多层架构系统的基本概念和相关技术入手,逐 渐深入的阐述在网络管理信息系统开发中进行层次式设计的方法以及采用组 件技术如何实现多层架构系统。在系统地总结设计模式的基础上,对当今n e t 环境下流行的设计模式进行研究,归纳设计模式相关的技术以及应用设计模 式的方法和思想,其中重点研究经典g o f 设计模式、g o f 设计模式与设计原 则之间的联系,并提出了应用设计模式的基本原则、思想。以实际的管理信 息系统开发项目为背景,提出全新的多层架构体系,详细分析了p e ts h o p 的典 型三层架构及使用的f a c t o r y 模式、d u w a m i s h 的多层架构及使用的f a c a d e 模式, 比较两者不足,综合各自优势,提出目标系统开发架构。在完成复合架构设 计后,给出了测试平台与方案,对所完成的架构的各项性能进行了相应的测 试与分析。解决了业务接口层的实现问题,通过业务实体的选择,详细介绍 了业务实体层的解决方案;在数据访问层,讨论如何解决系统适用于不同数 据库的问题。最后给出了这个复合架构的实际应用,讨论了信息平台的架构 设计与开发工作。 复合架构的测试结果表明,新架构融合了两种模型的优点,不仅具有企 业级设计方案的高性能、低代码错误率、可扩展性,也具备了中小型设计的 高效、灵活性。在实际应用中取得了较好的效果。 关键词:p e t s h o p ,d u w a m i s h ,复合架构,设计模式 江苏大学工程硕士学位论文 a b s t r a c t s o f t w a r ea r c h i t e c t u r ei sa ni m p o r t a n tm e a n st oc o n t r o lt h ec o m p l e x i t yo fs o f t w a r e s y s t e m s ,t oi m p r o v es o f t w a r eq u a l i t ya n dt os u p p o r ts o l , w a r ed e v e l o p m e n ta n ds o f t w a r er e u s e h o w e v e r , i np r a c t i c et h er e a s o n a b l es y s t e ma r c h i t e c t u r eo fl a 唱en u m b e rs o f t w a r es y s t e m sd o e s n o te x i s t ,i ti so f t e no u to fs y n cw i t ht h ei m p l e m e n t i o n e ds y s t e mw h i c hi n c r e a s et h eo v e r a l l d i f f i c u l t yo fs o f t w a r em a i n t e n a n c e t h u s ,t h er e s e a r c h e so nt h ee f f e c t i v em e t h o d sf o rg a i n i n g , a n a l y z i n g ,r e a s o n i n ga n dr e c o n s t r u c t i n gs o f t w a r ea r c h i t e c t u r ef r o ma v a i l a b l ee v i d e n c ea r ev e r y i m p o r t a n tf o re x t e n d i n gt h el i f eo fl e g a c ys y s t e m ,i m p r o v i n ge f f i e i e n e ya n dr e d u c i n gt h ec o s t s o fs o f t w a r em a i n t e n a n e e t h ep a p e rp r o p o s e st h ed e s i g np r o b l e mo ft h em u l t i l a y e r e ds y s t e m ,o nt h eb a s i so ft h et r e n d w h i c hm i c r o s o f t n e th a sb e i n gb r o u g h to u t ,p u t sf o rw a r dt h eo p i n i o nu s i n gd e s i g np a t t e r n st o c h a n g et h eo r t h o d o xt h r e e - t i e r a ra r c h i t e c t u r e t h r o u g ht h ei n t r o d u c t i o no ft h ec h a r a c t e r i s t i c so f t h em i sd e v e l o p m e n ta n dt h er e l a t i v et e c h n o l o g i e so ft h el a y e r e d s y s t e m ,i td i s c u s s e st h em e t h o d o ft h el a y e r e d m i sd e v e l o p m e n ta n dh o wt ou s et h ec o m p o n e n t sw i t h i nt h i sm e t h o d t h ep a p e r s u m m a r i z e sd e s i g n p a t t e r n a n dc o n c l u d e st h er e l a t i v e t e c h n o l o g y a b o u td e s i g n p a t t e r n , r e s e a r c h e st h ee x i s t i n gm e t h o d sa b o u th o wt ou s ed e s i g np a t e m s t h er e l a t i o n s h i p si ng o f d e s i g np a t t e r n sa n dt h er e l a t i o n s h i p sb e t w e e nd e s i g np r i n c i p l e sa n dd e s i g np a t t e n sa r er e s e a r c h e d m a i n l y ,t h e ni ta l s op r o p o s e st h eb a s i cp r i n c i p l ea b o u th o wt ou s ed e s i g np a t t e r n s a c c o d i n gt o t h eb a c k g r o u n do ff a c t u a lm i sd e v e l o p m e n t ,p r o p o s i n gan e wm u l t i l a y e rf r a m e w o r kb a s e do n p e ts h o pa n dd u w a m i s h ,w h i c hc o m b i n e st h ea d v a n t a g e so ff a t o r ya n df a c a d em o d e l s u s i n g f a c a d ea n df a c t o r yp a t t e r n st os o l v et h er e a l i z a t i o np r o b l e mo fb u s i n e s sf a c a d el a y e r ;t h r o u g h t h ec h o i c eo fb u s i n e s se n t i t y , i n t r o d u c e st h es o l u t i o no fb u s i n e s se n t i t yl a y e r ;o nd a t a b a s e a c c e s sl a y e r ,d i s c u s s e sh o wt os o l v et h a tas y s t e mm u s ta d a p tt od i f f e r e n td a t a b a s e a tl a s t ,b y t h ep r a c t i c a lp r o j e c tb a s e do nt h ec o m p o u n dp la t f o r m ,t h i st h e s i sd i s c u s s e st h ea r c h i t e c t u r e d e s i g na n dr e a l i z a t i o no fs o m ef u n dm a n a g ep l a t f o r m c o m p o u n ds t r u c t u r eo ft e s tr e s u l te n u n c i a t i o n ,n e ws t r u c t u r ef u s i o nt w o k i n d so fa d v a n t a g e o fm o d e l ,n o to n l yh a v eb u s i n e s se n t e r p r i s ec l a s sd e s i g np r o j e c to fh i g hp e r f o r m a n c e ,l o wc o d e m i s t a k er a t e ,e x p a n i b i l i t y ,a l s oh a v em e d i u ms m a l ls c a l e dd e s i g no fe f f i c i e n t l y ,v i v i d o b t a i n e d g o o de f f e c ti na c t u a l l yt h ea p p l i c a t i o n k e yw o r d s :p e t s h o p ,d u w a m i s h ,c o m p o u n da r c h i t e c t u r e s ,d e s i g np a t t e r n s 江苏大学工程硕士学位论文 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅本人授权江苏大学可以将本学位论文的全部内容或部分内容编入有 关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位 论文 本学位论文属于 保密口,在年解密后适用本授权书 不保密哦 学位论文作者签名:衫穆 指导教师签名: p 麝 2 0 0 8 年月。日2 0 0 8 年厶月lo 日 江苏大学工程硕士学位论文 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研 究工作所取得的成果除文中已注明引用的内容以外,本论文不包含任何其 他个人或集体已经发表或撰写过的作品成果对本文的研究做出重要贡献的 个人和集体,均己在文中以明确方式标明本人完全意识到本声明的法律结 果由本人承担 学位敝作者虢彻 2 0 0 8 年月p 日 江苏大学工程硕士学位论文 第一章绪论弟一早珀t 匕 1 1 研究背景 信息化发展程度己经成为国家现代化水平和综合国力的重要标志。据2 0 0 7 年年底统 计,处于单机应用和局部应用阶段的占5 2 ;处于信息系统整合阶段的为6 2 5 ;开始 1 t 与业务整合的为3 2 3 。网络管理信息系统( n e t w o r km a n a g e m e n ti n f o r m a t i o ns y s t e m 简称n m i s ) 的研究旨在能针对目标机构的环境,准确捕获客户需求,设计高效系统开发 架构,提出有效的、安全的解决方案,并最终开发出“定制”的网络信息平台,提高业 务效率、扩大宣传范围。随着软件系统的规模越来越大,结构也越变越复杂,特别是基 于w e b 应用的信息系统,相应的维护代价不断的增加,而对系统内部结构的正确理解直 接影响了系统维护的总代价。在f j e l d s t a d 和h 锄l e n 的报告【l 】中指出:在系统性能提高和 纠错任务中,分别有4 2 和6 2 的时间花在理解活动上。 软件架构是控制软件复杂性、提高软件系统质量、支持软件开发和复用的重要手段 之一,是目前软件工程的一个重要的研究领域。如果一个项目的系统架构( 包括理论基 础) 尚未确定,就不应该进行此系统的全面开发。只有对架构做出明确清楚的表述,才 能使之在整个开发和维护过程中加以充分的利用【2 】。随着软件工程的发展,对系统架构 的研究开始超出软件设计阶段,逐步扩展到了整个软件生命周期【3 】。系统架构研究热点 之一为软件架构的重构,架构重构就是根据现有系统的源代码和文档等各种可利用的知 识重新构建出已实现系统的软件架构的过程【4 】。 当前,在国内外存在多种实现w e b 应用系统的技术途径。其中,最具有代表性、使 用最广泛的两大开发技术平台分别是m i c r o s o f t 公司提出的n e t 平台和s u n 、i b m 等公司 提出的j 2 e e 平台。 1 2 目的与意义 软件危机几乎从计算机诞生的那一天起就出现了,主要有以下表现: 设计对于需求的变化缺乏配合 软件过程控制对于维持设计的正确性缺乏保障 软件产品通常缺乏概念的完整性 软件的成本同益增长 开发的进度难以控制 软件的质量没有严格的保证 随着软件规模的扩大和复杂程度的提高,软件的维护越来越困难 软件危机程度的f 1 益加剧,人们越来越深刻地认识到软件系统规模和复杂性的增 长,系统总体结构设汁和规格说明的重要性已远远超过特定算法和数据结构的选择,良 好的体系结构对保证系统的成功至关重要。 江苏大学工程硕士学位论文 研究软件体系结构有着重大意义1 5 】: 1 ) 通过认识和理解体系结构可以使系统的高层次关系得到全面表达和深刻理解。 经过多年的软件开发实践,今天_ 丁:发的软件系统与以前的系统常常有相似之处,识别相 似系统的通用结构模式,有助于理解系统之间的高层联系,使新系统可以作为前系统的 优化模式来构造。 2 ) j 下确的体系结构是软件系统设计成功的决定因素,错误选择体系结构将会导致 灾难性后果。 3 ) 全面深入地理解软件体系结构,有利于在复杂问题面前选择合理的设计方案。 4 ) 系统体系结构对于复杂系统高层性质的分析和描述极为重要。 5 ) 熟练掌握体系结构的概念和描述,可以使软件设计者之间、设计者和用户之间 快速方便地交流知识、经验和新的设计思想。 6 ) 在体系结构的全局思想指导下的任何系统维护、扩充和升级,不会破坏整体的 完整性和一致性。 1 3 研究内容 首先介绍课题的研究背景与目的、意义,然后对w e bj t 艮务技术、微软n e t 框架及 其所支持的技术、相关设计模式进行研究。在此基础上结合两种经典的实例模型,对多 层体系架构进行分析并对复合架构的设计及性能测试进行阐述,做接下来结合具体应 用,把复合架构引入系统设计和丌发过程。论文的主要内容分七部分实现:一是绪论, 介绍课题的研究背景、现状与意义,概括了“p e ts h o p 和d u w a m i s h 复合架构的研究与应 用”课题主要研究内容及研究思路,最后给出论文的组织结构;二是w e b 服务与n e t 相关技术,介绍了w e b 服务原理与n e t 体系结构以及n e t 所支持的关键技术:三 是n e t 设计模式研究,比较了当今n e t 环境下流行的设计模式,介绍了设计模式的定 义、描述方法、意义、分类以及程序设计语言与设计模式的关系,重点分析了微软基 于n e t 平台的p e ts h o p 和d u w a m i s h 两种模型实例和与课题相关的f a c t o r y 模式与f a c a d e 模式;四是p e ts h o p 与d u w a m i s h 复合架构设计,介绍了多层体系架构的优势,对复合架 构的可行性进行分析,以p e ts h o p 典型的三层架构及d u w a m i s h 的多层架构为出发点,比 较两者不足,综合各自优势,提出复合架构体系的设计思路;五是性能测试与分析,使 用w e ba p p l i c a t i o ns t r e s st o o l 测试软件,对比分析p e ts h o p 、d u w a m i s h 及复合架构分别 应用于目标系统时,在网络流量、系统响应时问和客户端系统资源消耗方面的差异;六 是复合架构在网络信息管理系统中的应用,用标准建模语言u m l 对系统重点模块分别展 开分析,按照复合架构设计中的多层划分,列出主要功能模块的实现;七是总结与展望, 对本文研究内容与系统实现进行总结,客观分析,提出不足。对技术发展趋势进行分析, 通过对各种先进技术的整合运用,使所研究的系统具有较好的实用性和可操作性,着眼 于特定项目,在提供具体解决方案的同时,也高度概括了w e b 应用信息系统丌发的特点 和规律。 2 江苏大学工程硕士学位论文 第二章w e b 服务与n e t 相关技术 w e b 服务描述了一组可以在网络上通过标准化的x m l ( e x t e n s i b l em a r k u pl a n g u a g e 可扩展标记语言) 消息传递访问的操作【6 】。是一个软件接口,是一种可以通过u r l 地址来 访问的网络资源,也是一种完全建立在x m l 等i n t e r n e t 标准协议或规范上的应用程 序。客户端程序可以通过h t t p 和s o a p 等标准协议来对他进行访问f 7 】。w e b 服务的主要 目标是在现有的各种异构平台的基础上构筑一个通用的与平台无关、语言无关的技术 层,多种不同平台上的系统应用依靠这个技术层来实施彼此的连接和集成,w e b 服务的 实现也给软件基础架构的开发、部署和管理带来了根本性的改变【8 】。 2 1w e b 服务体系结构 w e b 服务的体系结构中主要由w e b 服务提供者、w e b 服务请求者和w e b 服务注册中 心三个重要角色组成。其服务模型如图2 1 所示【9 】: j 图2 1w e b f l 臣务模型 通过x m l 的媒介,客户端程序可以通过定义好的接口束调用w e b 服务提供的功能。 把远程服务、本地服务和应用程序代码结合在一起,可以用来创建信息应用程序。其服 务应用程序模型如图2 2 所示: 图2 2w e b 服务席 i j 程序模型 通过i n t e m e t i n t r a n e t 标准协议,用户可以在多种不同类型的应用程序中访问、调用 各种可能位于不同位置和不同应用系统的w e b 服务,使应用系统之间可以方便地进行通 膛 1 日o 2 1 1w e b 服务相关规范和标准 目前主要的w e b 服务相关规范和标准: 3 江苏大学工程硕士学位论文 x m l :- f 7 标记语言,它作为大多数w e b 服务相关规范的基础,是- f - 通用语 言,能够以一种结构化的形式来描述内容,并且与在特定设备上的表现形式分离。 与x m l 相关的标准还有命名空间( n a m es p a c e s ) 和x m l 模式定义( x s d ) 。 s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c o l ,简单对象访问协议) :基于x m l 的用户与计 算机之i 日j 交互信息的协议。s o a p 是w e b 服务的重要组成部分,绝大多数w e b 服 务都使用s o a p 协议来进行交互。s o a p 规范目前的版本有1 1 和1 2 。其中s o a p l 2 在2 0 0 7 年4 月成为w 3 c 组织发布的推荐标型1 0 】。 w s d l ( w e b s e r v i c e sd e f i n i t i o nl a n g u a g e ,w e b 服务描述语言) :用一种和具体语 言无关的抽象方式描述了w e b 服务的操作以及调用语法。 w s a d d r e s s i n g :在s o a p 信封头中综合了消息交付、回复以及错误回复的寻址信 息,使s o a p 消息可以包含足够的寻址信息,独立于传输层。 w s p o l i c y ( w e b f j 艮务策略框架) :为服务请求者和服务提供者定义了语法和语义来 描述他们的需求、首选项和性能。语法为以策略的形式表述每个领域的需求提供 了一种灵活简洁的方法。 w s s e c u r i t y :w e b 服务安全协议中最主要的规范。定义了在s o a p 灌j 息中嵌入认 证、加密和安全性的方法,为交换x 5 0 9 证书或s a m e 令牌等基于x m l 的对象提供 框架。 w s s e c u r i t yp o l i c y :提供一种w e b 服务用来交换安全政策的方法,使认证和授权 的“协商”无需人工干预就可以进行。 u d d i ( u n i v e r s a ld e s c r i p t i o n ,d i s c o v e r y ,a n di n t e g r a t i o n ,统一描述、发现和集成) :专 为电子商务世界的“黄页”而设计。u d d i 基于现成的标准,如可扩展标记语言 x m l 和简单对象访问协议s o a p 。u d d i 规范已经发展到第三版。 w s c o o r d i n a t i o n :定义了一个可扩展的协调框架支持需要显式协调者的情况。 w s a t o m i c t r a n s a c t i o n :为w e b 服务指定了传统的a c i d 事务,并为原子事务协调 类型定义了3 个协议:完成协议( c o m p l e t i o np r o t o c 0 1 ) 平n 两阶段提交协议 ( t w o p h a s ec o m m i t p r o t o c 0 1 ) 的两个变体。完成协议用于启动提交处理。 w s 。b p e l ( 商业流程执行语言) :为基于w e b f 艮务的业务流程行为定义了一种表示 法。这种表示法被称为w e b 服务的业务流程执行语言,内置了业务流程处理逻辑 的描述以及如何组合w e b 服务。 2 1 2 n e t 中w e b 服务的实现 在n e t 中构造w c b 服务是使用a s p n e t ,在a s p n e t 中关键的组件是i s a p i 扩展和 独立的a s p n e t i 作进程( a s p n e t _ w p e x e ) ,i s a p i 对带有特定扩展名文件的请求路由到 i s a p id l l 处,然后a s p n e td l l 会通过一个指定的管道将请求转发至u a s p n e t 的工作 4 江苏大学工程硕士学位论文 进程中,在处理完成后返回请求结果】。该结构响应模式如图2 3 所示: 服务请求l i i s 服务响应 i a s p n e t 丁作进程 特定管道l ( a s p n e t _ w p e x e ) 图2 3a s p n e t 请求响应模式 实现w e b 服务的方式多种多样,n e t 的a s p n e t 是构建、部署和使用x m l 、w e b 服务的较好的平台。n e t 平台内嵌了对w e b 服务的支持,包括w e b 服务的构建和使用。 与其它开发平台不同,使用n e t 平台,不需要其他工具或者s d k 就可以完成w e b 服务的 开发。n e tf r a m e w o r k 本身就全面支持w e b 服务,包括服务器端的请求处理器和对客户 端发送和接受s o a p 消息的支持。用a s p n e t 将类外置为w e b 服务,必须将类放入a s m x 文件中。a s m x 文件是w e b 服务的入口。w e b l 艮务的代码既可以是a s m x 文件,也可以是 后台代码文件。w e b 服务指示符指定了a s m x 文件中使用的语言,命名了外置为w e b 服务 的类。在用于w e b 服务的方法前添 j 1 w e b m e t h o d 属性。w e b 服务的部署工作是把a s m x 文件放在w e b 应用程序的目录中。对于w e b 服务的测试,用户不必编写测试客户机程序 末测试w e b 服务,a s p n e t 提供了可以测试w e b 服务的测试页,同时提供w s d l 文件格 式的w e b 服务结构化描述。在n e t 中调用w e b 服务即其他应用程序调用w e b 服务,使用 代理类将w e b 服务的功能组合到其他应用程序中。代理类可以引用远程的w e b 服务,在 用户的应用程序中使用其功能。 2 2x m l 技术 x m l 是使用标记来界定内容的语言【犯】。x m l 是从s g m l 演化而来,并继承了s g m l 的强大功能而消除了s g m l 的繁琐定义,是s g m l 的一个子集,也可以说是s g m l 的 一个应用实例【i 引。 2 2 1x m l 的优势 面向服务的架构体系是以x m l 为基础的,x m l 技术贯穿于整个面向服务体系之 中。面向服务的架构之所以能够具有跨平台、跨应用系统的功能,也是得力于x m l 技 术的不断发展【1 4 1 。 x m l 具有自描述性,适合数据交换和共享,并且独立于具体的平台和厂商,确保了 结构化数据的统一。目前x m l 己成为开放环境下描述数据信息的标准技术,也是w e b 服务中信息描述和交换的标准手段。x m l 使用x m ls c h e m a 作为建模语言,具有丰富 的数据类型,支持类型继承,能对x m l 文件进行严格的合法性检查。使用与x m l 完 全一致的语法,并引入了命名空间的概念,解决了可能出现的名称重复问题,保证命名 空自j 的唯一性。x m l 定义了一套元句法,与特定领域有关的标记语言( 如m u s i c m l 、 m a t h m l 和c m l ) 都必须遵守。如果一个应用程序可以理解这一元句法,那么它也就自 江苏大学工程硕士学位论文 动地能够理解所有的由此元语言建立起来的语言。x m l 不等同于h t m l ,并在很多方 面都弥补了h t m l 的不足,h t m l 也可以看成x m l 的一个子集。二者存在许多明显的 区别,如表2 1 所示【1 5 】: 表2 - 1x m l 与h t m l 特性对比表 特性h t m ll 扩展性 不具有可扩展性可白由扩展标签 侧重点侧重信息的表示侧重信息的结构化表示 不要求标记的嵌套、配对等,严格要求嵌套、背对,并遵循 语法要求 不要求标记之间具有一定顺序d t d 的树形结构 可读性难丁阅读结构清晰,便丁阅读 数据和显示的关系内容描述与显示方式整合为一 内容描述与显示方式相分离 x m l 技术的发展和流行,主要是因为它在技术上展现出了强大的优势,主要包括: 良好的可扩展性 遵循严格的语法要求 内容与形式的分离 便于不同系统之| 、只j 信息的传输 数据的多样显示 数据的本地处理 2 2 2x m l 的文档对象模型 d o m ( d o c u m e n to b j e c tm o d e l ,文档对象模型) 是一种通过编程对x m l 文档中的数据 及结构进行访问的标准,x m l 将数据组织为一颗树,d o m 就是对这颗树的一个对象描 述,是x m l 文档在内存中的表示形式【1 7 】。d o m 提供了在不同环境和应用中的标准程序接 口,使用户能够以编程的方式读耿、操作和修改x m l 文档。在解析器读入整个文档后, 就为x m l 在内存中创建一个树形结构,树的节点是一个对象,通过遍历这个文档树来存 取这些节点上的对象后就能够实现对x m l 文档内容的操作。下面是一个典型的x m l 文 档: 0 0 0 0 01 硬件技术 3 5 5 0 0 0 0 0 0 2 软件技术 3 2 一 6 江苏大学工程硕士学位论文 5 0 将此x m l 数据转化成关系表格的形式如下表: 表2 2x m l 关系数据表 b o o k s c o d en a m e p r i c e ( u n i t s :元) q t y ( u n i t s :本包) 0 0 0 0 0 l 软什技术 3 55 0 0 0 0 0 0 2硬什技术3 25 0 将此x m l 文件解析到内存后,将会生成如图2 4 所示的树状结构: d o c u m e n t x m l b 石a i s b o o k 7 弋_ c o d e n a m e p r i c eq t y ; 0 0 0 0 0 1 软件技术 3 5 5 0 0 0 0 0 0 2 硬件技术 3 2 5 0 图2 - 4d o m 树状模型 在x m l 文档结构中,每个节点被称为一个x m ln o d e 对象,x m l n o d e 对象是d o m 树中的基本对象。d o m 解析器将x m l 文档一次性解析,生成一个位于内存中的对象树。 d o m 定义了一系列的对象和方法对d o m 树的节点进行各种随机操作,可以通过遍历树 来了解原始x m l 文档包含的内容,可以删除树的某些部分,还可以对树进行重新排列和 添加新的分支等。开发系统时,可以利用d o m 来动态地创建x m l 文档、遍历x m l 文档、 增加、修改和删除x m l 文档的内容。其面向对象的特性,使开发人员在处理与x m l 解 析相关的事务时能够节省大量的精力,是一种完全符合代码重用编程思想的编程工具。 2 2 3 n e t 对x m l 的支持 w e b 服务可以说是完全建立在x m l 之上的,u d d i 、s o a p 、w s d l 等规范标准是基 于x m l 的,同时,x m l 也是今后软件技术发展的核心所在。n e tf r a m e w o r k 对x m l 的 支持是全方位的,它为建立基于x m l 的互联网服务提供了一个多层次的应用程序开发平 台,f r a m e w o r k 本身在创建应用程序时很大程度上利用x m l 。由于x m l 的易共享性等众 多优点,x m l 技术越来越多地被应用于企业数据处理等领域,例如企业报表、新闻发布、 会计数据处理等等。x m l 正快速成为从中间层传送数据到桌面的工具,由于x m l 的数 据可以通过中间层代理与多种后端源集成,目前绝大多数数据库制造商已全面支持x m l 技术,提供了各种强大功能处理数据。n e t 围绕这一核心提供了一个强大而快速的开发 工具c j | | ,它具有前所未有的高开发效率,特别是在x m l 编程方面。c 撑n e t 平台上编写 x m l 应用程序不但快捷而且方便,在编写a s p n e t 数据库应用程序时,用x m l 文件替 代一些小的表格,能减少许多数据库存取连接,也能让其他网络程序更易使用这些数据。 江苏大学工程硕士学位论文 目前x m l 的主要瓶颈在于文件系统的读出或写入,要使用更多内存和缓存方式。如果信 息量不巨大、修改量较小、浏览量巨大,使用x m l 方法将是很好的选择;相反,如果数 掘量巨大,应考虑使用支持x m l 的数据库,c 撑n e t 中提供了直接的类函数可让数据库 中的信息直接能与x m l 交互访问。同时,x m l j 下在迅速地发展和不断地完善中。 2 3m i c r o s o f t n e t 框架 m i c r o s o f t n e t 是微软公司推出的新一代基于互联网平台的软件丌发构想,提供了 对丌发基于w e b 服务的软件系统的强大支持。将n e t 框架技术和面向服务计算充分结 合起来,以此来满足对复杂的异构网络环境中信息共享和数据交换的需要。n e t 包括 用于创建和操作新一代服务的n e t 基础结构和工具,用于建立新一代高度分布式的数 以百万计的n e t 组件服务,以及启用新一代智能互联网设备的n e t 设备软件【堪】。其完 整的结构如图2 5 所示: 霍竺叠匪鱼蹙竺虱睡骂匿翌飞z z = 五互园弋琵型弋互= = = 二= = 弋互z z z 翻飞五互= = 互登 公共语言规范( c l s 锄 百页吾吾再匡淆丽a x 广、 l 内存管理勘i 公芡类型系统渤l 即时编译j i t 踢f 版本管理陵 弋西蚕墨互三翻飞夏互瑟瑟王互露盛飞互五= 夏互趟弋兹互盔础 图2 - 5m i c r o s o f t n e t 结构图 2 3 1 公共运行时 公共语言运行时( c o m m o nl a n g u a g er u n t i m e ,c l r ) 是n e t 平台提供的个运行 环境,管理代码的执行并使开发过程变得更加简单,其功能通过编译器与其他工具共同 展现。c l r 主要的功能包括:内存管理、即时编译( j u s ti nt i m e ,j i t ) 、公共类型系统( c t s ) 、 版本管理【l 卅。由于n e t2 0 和3 0 共享同样的c l r ,在n e t2 0 中编写的任何程序都可 以运行于n e t3 0 中,这是和以前版本的一个重要而显著的区别。它们之间的关系可以 总结为公式: n e t3 0 = n e t2 0 + w c f + w p f + w c s + w f w c f ( w i n d o w sc o m m u n i c a t i o nf o u n d a t i o n ) :w i n d o w s 平台下丌发和部署服务的软 件丌发包( s o f t w a r ed e v e l o p m e n tk i t ,s d k ) 。为服务提供了运行时环境( r u n t i m e e n v i r o n m e n t ) ,使丌发者能够将c l r 类型公丌为服务,又能够以c l r 类型的方 式使用服务,包括服务交互、类型转换、封送( m a r s h a l i n g ) 以及各种协议的管理。 江苏大学工程硕士学位论文 允许你通过提供一个基于标准的框架和一个组合的架构来构建服务。 w f ( w i n d o w sw o r k f l o w ) :企业级工作流开发框架和引擎,它首次把声明性工作流 引向主流。w f 支持有人参与的( h u m a n ) 、系统的( s y s t e m ) 、连续的( s e q u e n t i a l ) 和状态机( s t a t e m a c h i n e ) 工作流。它提供了运行时基础、灵活的工作流控制机 制、长时问运行和状态化工作流、对用户而言运行时和设计时的透明性,以及用 于规则遵从和记录管理过程的审核能力。 w p f ( w i n d o w sp r e s e n t a t i o nf o u n d a t i o n ) :试图弥合在游戏和娱乐产业中常见的身 临其境的用户体验和在业务软件世界中静态又难用的界面之间的差距。w p f 利用 x m l 让你无需成为图形设计师就能尽情地开发下一代界面。 w c s ( w i n d o w sc a r ds p a c e s ) :创建了一个身份标识元系统,能显著改善在组织内 部和组织之问的企业身份管理的方式。 2 3 2 n e tf r a m e w o r k c l r 的上一层是n e tf r a m e w o r k 基类库( n e tf r a m e w o r kb a s ec l a s s e s ) ,它是一个可 供应用程序开发者使用和扩展的丰富的类库。可重用和扩展这些类使开发者更易于在短 时间内开发出新成果和更加富于特色的应用程序。因为基类库提供了更多特色,那些以 前不得不由开发者自己编写的代码,现在可以轻松获得。n e tf r a m e w o r k 包含了一个 非常大的代码库,可以在客户语言中通过面向对象编程技术来使用这些代码。这个库分 为不同的模块,这样就可以根据希望得到的结果来选择使用其中的各个部分。如一个模 块包含了w i n d o w s 应用程序的构件,另一个模块包含联网的代码块,还有一个模块包 含w e b 开发的代码块。一些模块还分为更具体的子模块,在w e b 开发模块中,有用于 建立w e b 服务的子模块。n e tf r a m e w o r k 基类库是生成n e t 应用程序、组件和控件的 基础,它提供了数据的访问和操作、安全、连网等功能。开发者可以按原样使用这些类, 或者在多数情况下从这些类派生开发者自己的类。 2 3 3 n e t 中的应用程序 利用n e tf r a m e w o r k 可以很方便的开发基于b s 的w e b 应用程序和c s 的w i n d o w s 窗体应用程序。这两种应用程序可以在m i c r o s o f tv i s u a ls t u d i o n e t 集成开发环境下进 行开发,而且,两种应用程序都完全采用面向对象的编程模式,将界面与逻辑相分离。 a s p n e t 是统一的w e b 开发平台,用来提供生成企业级w e b 应用程序所必需的服务。 在a s p n e t 中可以用任何与n e t 兼容的语义( 包括v i s u a lb a s i c n e t 、c j f j 和j s c r i p t n e t ) 创建应用程序。因为a s p n e t 是n e t 框架的组成部分,所以它能够充分利用公共语言 运行时的功能,例如类型安全、语言互操作和版本控制。 a s p n e t 的语法在很大程度上与a s p ( a c t i v es e r v e rp a g e ) 兼容,同时它还提供一种 新的编程模型和结构,用于生成功能强大的新型应用程序。用a s p n e t 创建w e bf o r m s 时,只需将服务器控件拖放到w e b 页就行了,做到了界面与逻辑相分离,分工更为明 确。利用a s p n e t 还可创建提供远程访问服务器功能的w e b 服务,通过使用w e b 服 9 江苏大学工程硕士学位论文 务,企业可以公丌其数据或业务逻辑的编程接口,然后客户端和服务器应用程序就可以 获得和操作这些编程接口。通过使用诸如h t t p 和x m l 消息传递之类的标准跨越防火 墙移动数据,x m lw e b 服务可以在客户端服务器或服务器服务器方案下实现数据的交 换。n e tf r a m e w o r k 提供了创建w i n d o w s 窗体应用程序的类,这些类大部分是放在 s y s t e m w i n d o w s f o r m s 命名空间中。n e t 的任何语言创建w i n d o w s 窗体应用程序时, 所用都是w i nf o r m s 编程模型和一样的资源编辑器。 2 3 4 公共语言规范 公共语言运行库是n e t 框架应用程序的运行引擎。提供了一系列服务,包括:代 码管理( 装入与执行) 、应用程序内存隔离、类型安全检查、中间语言到机器语言的转 换、访问元数据( 增强类型信息) 、托管对象的内存管理、强制的代码访问安全性、异 常处理等。公共语言运行库负责运行时服务,例如:语言集成、强制安全、内存、进程 和线程管理。除此之外,它还在丌发时期承担生命周期管理、强类型命名、跨语言异常 处理以及动态绑定等这一类的角色,以减少丌发人员将事务逻辑转成可重用组件必须要 编写的代码数量。公共语言运行库的结构如图2 - 6 所示: 幽2 - 6 公共语青运行厍基本构成 2 3 5a d o n e t 与n e t 的关系 整个n e t 平合体系结构可以分为4 个主要部分: 基础设施和工具:用来构建和运行电子企业系统的基础设施和工具,其中包括 v i s u a ls t u d i o n e t 、n e te n t e r p r i s es e r v e r s 及n e tf r a m e w o r k 。 基础服务:包括一组用于i n t e m e t 的信息共享服务,例如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 特殊教育学校个性化音乐教学的初探
- 【初中物理】2024-2025学年苏科版初中物理八年级上册 期中复习单选题练习
- 兰州2024年统编版小学英语第3单元真题试卷
- 2024年高考数学复习试题专项汇编:函数与导数
- 2024年阻燃ABS热塑性弹性体项目投资申请报告代可行性研究报告
- 2023年矿山施工设备:凿岩机械投资申请报告
- 2024年玻璃纤维网垫项目资金申请报告代可行性研究报告
- 2023年抗生素类药品资金需求报告
- 临床消化道出血高发年龄、出血征象、生命指症评估、诊断鉴别及急诊处理
- 监督管理制度
- 2024版抗菌药物DDD值速查表
- 小学二年级数学上册期中试卷(全套)
- DB11T 1580-2018 生产经营单位安全生产应急资源调查规范
- 各省中国铁路限公司2024招聘(目前38183人)高频难、易错点500题模拟试题附带答案详解
- 猜想04整式的乘法与因式分解(易错必刷30题10种题型专项训练)
- 大学实训室虚拟仿真平台网络VR实训室方案(建筑学科)
- 体育赛事组织与执行手册
- 北师大版(2024新版)七年级上册数学期中学情评估检测试卷(含答案解析)
- 【课件】跨学科实践:制作隔音房间模型人教版物理八年级上册
- 2024-2025学年高二英语选择性必修第二册(译林版)UNIT 4 Grammar and usage教学课件
- 二十届三中全会精神学习试题及答案(100题)
评论
0/150
提交评论