(系统工程专业论文)在NET平台上BS系统的研究和设计.pdf_第1页
(系统工程专业论文)在NET平台上BS系统的研究和设计.pdf_第2页
(系统工程专业论文)在NET平台上BS系统的研究和设计.pdf_第3页
(系统工程专业论文)在NET平台上BS系统的研究和设计.pdf_第4页
(系统工程专业论文)在NET平台上BS系统的研究和设计.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(系统工程专业论文)在NET平台上BS系统的研究和设计.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着计算机技术的发展,各种新技术层出不穷,计算模式亦随着互 联弼技术的发展而改变,基于游览器,服务器( b i s ) 模式的软件以其结构 灵活、操作方便、部署及维护成本低廉,得到了迅速的推广,逐渐取代 客户机服务器( c s ) 模式成为市场主流,广泛应用于各个领域。 出于各自的商业目的,业界许多大厂商推出了自己的开发平台。其 中有s u n 的j 2 e e 平台和微软的n e t 框架是最具代表性的平台。 本文首先简要分析了计算模式的变化,然后详细介绍了多层体系结 构以及目前广泛应用于w e b 系统的设计模式,即模型一视图一控制器 ( m v c ) 模式,并讨论了多层体系结构及m v c 模式的优缺点。由于n e t 是一种比较新的开发平台,它吸收了其它平台的许多优点并有相当大地 创新,本课题采用n e t 作为开发平台。本文对n e t 框架做了详细地介绍, 从,n e t 框架组成到应用n e t 框架的优势,以及n e t 框架提供的各种解 决方案均有介绍。a s p n e t 是n e t 框架的一部分,是新一代w e b 开发平 台,亦是本课题采用的开发平台,文中对其作了详细的介绍。本课题采 用了微软最近推出的a p p l i c a t i o nb l o c kf o r n e t 组件技术,本文对其中 的u s e ri n t e r f a c ep r o c e s sa p p l i c a t i o nb l o c k ( u i p ) ,c a c h ea p p l i c a t i o n b l o c k ( c a b ) 等的使用作了详细地介绍。通过长沙卷烟厂产品管理信息 综合服务系统的开发实例的设计,尤其是对其中的子模块评吸子系统的 详细需求分析,功能分析设计,数据库的设计和界面设计以及最后系统 的编码实现的较详细的过程设计,我们能够掌握n e t 平台上开发b s 分 布式应用程序的一般方法,以及系统的安全性方面的知识。 关键字体系结构;b s 模式;n e t 框架;m v c ;u i p ;c a b 华南理工大学硕士学位论文 a b s t r a c t w i t ht h e d e v e l o p m e n to fc o m p u t e ri n d u s t r y ,n e wt e c h n i q u e s a r e e m e r g i n ge n d l e s s l y a st h ei n t e r n e ts p r e a d i n g ,t h ec o m p u t e rm o d eh a sb e e n c h a n g e da c c o r d i n g l y s o f t w a r ew r i t t e ni n b r o w s e r s e r v e rm o d e ,w h i c h r e p l a c es o f t e w a r ew r i t t e ni nc l i e n t 8 e r v e rm o d ea r eb e c o m i n gm a i n s t r e a m i nt h em a r k e t ,a n db e i n gp o p u l a r i z e dr a p i d l yt h a n k st ot h e i rf l e x i b l e s t r u c t u r e ,t h e i re a s yw a yt oo p e r a t e ,t od e p l o y ,a n dt om a i n t e n c e ,h a sb e e n u s e di nm a n yf i e l d s w i t ht h ep u r p o s eo fb u s i n e s si n t e r s t ,m a n yi n d u s t r yg i a n t sr e l e a s e dt h e d e v e l o p m e n tp l a t f o r m s ,a m o n gt h o s ep l a t f o r m s ,m i c r o s o f t s n e ta n ds u n s j 2 e ea r et h em o s tr e p r e s e n t a t i v e i nt h i sp a p e r ,t h ec h a n g eo fc o m p u t e rm o d eh a sb e e na n a l y z e di nb r i e f f i r s t l y ,t h e nt h em u l t i l a y e ra r c h i t e c h i t u r ei nd e t a i l ,a n dm v cd e s i g np a t t e n w h i c hh a sb e e na p p l i e dw i d e l yi nw e ba p p l i c a t i o nc u r r e n t l y a san e w p l a t f o r m ,n e th a sa b s o r b e dm a n ym e r i t sf r o mf o r m e rp l a t f o r m ,b u ta l s oh a s m a n yi n n o v a t i o n s s o ,i nt h et a s k ,w eu s e n e tp l a t f o r m i nt h ep a p e r ,n e t f r a m e w o r kh a sb e e nd i s c u s s e df r o mi t ss t r u c t u r et ot h ea p p l y i n ga d v a n t a g e s i nd e t a i lb e c a u s eo fi t si m p o r t a n c e a sap a r to f n e tf r a m e w o r ka n dan e w d e v e l o p m e n tp l a t f o r mi nw e ba p p l i c a t i o n ,a s p n e ti sa l s od e a l e dw i t h d e t a i l e d l y i nt h et a s k ,a p p l i c a t i o nb l o c kf o r 。n e t ,w h i c hr e l e a s e db y m i c r o s o f t ,i su s e d t h i sp a p e ri s b a s e do nt h ed e s i g no fp r o d u c ta n d r e s e a r c hs y s t e mo fc h a n g s h ac i g a r e t t ef a c t o r y ,e s p e c i a l l ya n a l y z et h e r e q u i r e m e n t ,f u n c t i o nd e s i g n ,d a t a b a s ed e s i g na n di n t e r f a c ed e s i g na n dt h e c o d i n go ft h et e r m i n a ls y s t e mo ft h ec h i l dm o d u l ew h i c hi sc a l l e de v a l u a t e s m o k es y s t e m ,w ec a ng r a s pt h ec o m m o nm e t h o do fb sa p p l i c a t i o np r o g r a m , a n dt h es e c u r i t yk n o w l e d g eo ft h es y s t e m k e y w o r da r c h i t e c t u r e ;b sp a t t e r n ;,n e tf r a m e w o r k ;m v c ;u i p ;c a b i l 华南理工大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进 行研究所取得的研究成果。除了文中特别加以标注引用的内容 外,本论文不包含任何其他个人或集体已经发表或撰写的成果作 品。对本文的研究做出重要贡献的个人和集体,均已在文中以明 确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:型 青汤日期:孵年t 月7 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规 定,同意学校保留并向国家有关部门或机构送交论文的复印件和 电子版,允许论文被查阅和借阅。本人授权华南理工大学可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于 不保密留。 ( 请在以上相应方框内打“”) 鬣象妻主霉臻善篆6 6 月j 芎 日h导师签名:名壶嘞纭哕日期: 仃j 年 第一章绪论 1 1 课题的背景及研究 第一章绪论 微软的n e t 几乎包含了微软以前所有的技术,从某种意义上说,它 是一门新技术一但是实际上这些技术已经伴随我们很长时间了,从 m s d o s 到w i n d o w s 再到a c t i v e x 最终出现了n e t 。d o s 在计算机历 史上有着转折性的意义,在其出现之前,没有一个用户可以单独操作计 算机,而只能由一组用户共同操作。 1 9 8 1 年d o s 出现的时候,n o v e l l 发了一套软件,使一个工作组可以 在相互绑定的计算机上工作,这也就是最初的基于p c 的网络。其他公司 也开发了一些产品象t e l i x ,p c b o a r d 和w i l d c a t ,同时开发了第一个分 布式开放网络,d o s 应用日益强大,但是当微软w i n d o w s 操作系统出现 以后,一切都改变了。m s - d o s 仍然在w i n d o w s 后台运行。第一个广泛 被接受的产品是w i n d o w s3 1 ,在3 1 l 版中引入了网络,用户可以共享文 件和文件夹,甚至不用使用隐藏的指令工具就可以发送电子邮件。 w i n d o w s 使p c 操作日益简化,访问大型数据库也变得容易多了。随着接 入的简单化,主机的负载也在逐渐增加,对功能强大的网络资源的需求 就被提上日程。w i n 3 2 的最初版本是w i n d o w s 9 5 ,这是从w i n 3 x 和 m s d o s 的1 6 位操作系统到w i n d o w s 9 5 的3 2 位操作系统的重大变革。 这一新版本包括了强大的网络特性和工具,同时还包括支持t c p i p 和自 动网络连接安装功能。与此同时,在微软规划的两套版本中,w o r l dw i d e w e b 也成为大抢眼之处。要有效的支持网络,就必须使用户连接到它 的i s p s 上,最终,微软发布了两个服务版本和w i n d o w9 8 。 比尔盖茨最先引发了信息革命,他首先为p c 开发了操作系统和软 件,现在他又嗅到了另一个机会,那就是开发i n t e r n e t 软件,9 0 年代中 期,他告诉微软的雇员:激活i n t e r n e t ,由此,a c t i v e x 技术诞生了。 a c t i v e x 重新改写了微软的格局,是建立在所有微软产品基础上的 o l e c o m 技术。在微软规划中起着无足轻重作用的a c t i v e x 包含了所有 面向对象中的 n t e r n e t 技术,面向对象程序要求非常严格,要求所有相关 部分都要相互协调一致。微软曾经打算把s u n 公司的j a v a 技术作为 a c t i v e x 内容的一部分,这样的合作会使双方都受益。但是,后来很多法 律诉讼和反托拉斯案相继出现,分崩离析是必然的。 华南理工大学硕士学位论文 n e t 的出现让我们眼前一亮,n e t 技术承袭了微软的技术风格。它 全面支持公开标准使微软成为了这方面的典范。 在外面的市场中,微软软件几乎随处可见,但是市场瞬息万变。关 键是要记住n e t 是服务器技术,而与客户端软件毫无瓜葛,甚至于你可 以用蜂窝电话、p d a 、手表等来代替p c 都没有关系。客户端市场已经很 平常了,最重要的还在于服务器上或者服务器群。 开发一套应用软件来跟踪个人或企业的个人、专业以及其他信息是 很容易的,m c s d ,m c d b a ,p e r l ,或j a v ag u r u 中的任意一个都可 以做到这点。但是采用不同的理论和概念以及利用不同的需求和资源 来开发一套应用程序就是另外一回事了,采用类似x m l 这样已有的或潜 在的公开标准来集成不同系统将会很容易,这就是n e t 要达到的目的之 一。 在服务器方面的竞争很明显,就是s u n 的j a v a 和微软的n e t 。为了 拉平竞争水平,同时解决最重要的互遁性问题,出现了一些国际标准: x m l ,s o a p ,u d d i ,和w s d l ,只要开发项目支持这些协议,那么就 能保证在很长一段时期内得到广泛应用。这些协议是n e t 的基础: 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 ,x m l 是i n t e r n e t 数据的标准 格式。 s o a p 一s i m p l eo b j e e ta c c e s sp r o t o c o l ,s o a p 是格式化标准商务 数据方法。 u d d i u n i v e r s a ld i s c o v e r ya n dd e s c r i p t i o ni n t e r f a c e 。u d d i 是为 了方便基于w e b 的b t o b 交易的协议,它可以实现动态交易。 w s d l w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e 。w s d l 是描述w e b 应 用服务的x m l 格式。 微软在n e t 开发工具和服务器系统中加入了w e b 服务协议,这里我 们不能一一介绍n e t 的产品,下面只是简单的列一些重要的产品: b i z t a l ks e r v e r2 0 0 0 一它被认为是盖茨的第一个n e t 产品,开发人 员用它可以开发一套转换矩阵,当然并不是每个企业都会采用n e t 产品 而不选择j 2 e e 或其他系统。微软把b i z t a l k 定位为连接不同数据系统的 工具。 p a s s p o r t n e t 一现在p a s s p o r t 比服务器提供更多的服务,p a s s p o r t 系 统为个人瓤企业交易提供集中式仓库和安全机制功能。当微软的自动升 级功能自动升级我们的m s nm e s s e n g e r s 并要求我们安装p a s s p o r t n e t 时,我们就会注意到p a s s p o r t 。从x p 开始,使用微软操作系统的用户就 应该安装p a s s p o r t n e t 才能得到相应的技术支持。 2 第一章绪论 v i s u a ls t u d i o n e t v s n e t 非常酷,它为每一种编程语言都设置了 有色代码,它还支持p e r l 和j a v a ,无论从v i s u a li n t e r d e v 或f r o n t p a g e 还是a p a c h e 站点上都可以很容易得到技术支持,当然,访问n e t 服务 器是完全获得n e t 技术支持的唯一途径。 n e t 还支持,n e tf r a m e w o r k , a d o n e t ,v b n e t ,和c 拌,现 在不采用占用内存和c p u 资源的动态连接库形式,而采用用为行之有效 的n e t 类库形式。 注意的是n e t 不是操作系统,在n e t 移殖到其他系统上之静,操作 系统仍然是w i n d o w s ,w i n d o w sa p i 也还是内核,n e t 运行时是w i n d o w s o s 和其他应用程序之间的一层,提供了更新、更面向对象和更易于使用 的开发和运行代码结构,此时可以使用c # 代码( 或者是c + + ,v b n e t 编写的受管制的代码) 。当然不是n e t 的旧应用程序可继续使用w i n d o w s 和w i n d o w sa p i ,就像它们以前那样,这种情况如图1 1 本篇论文研究了在n e t 平台下开发分布式w e b 应用程序一般方法, 包括需求分析,功能分析,界面设计和数据库的设计。由于n e t 是微软 新推出的技术,也代表了软件开发的新的方向,对它的一般开发方法的 研究具有一定的理论意义和实用价值。 图1 1 n e t 与操作系统关系圈 f i g i - 1 n e ta n do p e r a t i o ns y s t e m 华南理工大学硕士学位论文 1 2 课题来源及研究内容 本文致力于n e t 技术应用研究,由于n e t 技术是实用性很强的开发 技术,包含的内容非常广泛不可能详细介绍,本文结合例子介绍了n e t 平台下开发w e b 应用程序的一般性的方法,实例来自长沙创新艾特数字 集成公司。本篇论文研究的内容包括n e t 技术及微软新推出的a p l i c a t i o n b l o c kf o r n e t 技术的使用,开发实例长沙卷烟厂产品管理信息综合服务 系统,该系统子模块评吸管理系统的需求介绍、功能设计、界面设计、 数据库设计以及单元测试。 1 3 本文的成果及论文安排 本篇论文的主要成果包括: ( 1 ) 研究了n e t 体系结构: ( 2 ) 研究了b s 设计模式; ( 3 ) 研究a s p n e t ; ( 4 ) 研究了u i p 技术的使用; ( 5 ) 研究了在n e t 下的数据库访问技术,即a d o n e t ; 本论文个章节的安排如下: 第一章为绪论,主要介绍了n e t 技术的出现的背景,n e t 产品的介 绍和本文的研究内容和意义。 第二章研究了b s 系统构架;其中包括系统构架的发展,b s 构架与 c s 构架的比较,m v c 介绍,u i p 使用介绍等等。 第三章研究了n e t 框架,其中包括n e t 框架的组成,a s p n e t 的 介绍,a d o n e t 的介绍,w e bs e r v i c e 的研究以及c a c h ea p p l i c a t i o nb l o c k 的研究等。 第四章是一个开发实例长沙卷烟厂产品管理信息综合服务系统,其 中包括系统的总体方案,系统安全方案。子系统评吸管理系统的系统功 能设计、界面设计以及数据库的设计。 4 第二章b s 模式系统构架 第二章b s 模式系统构架 2 1 软件体系结构 2 1 1 软侔体系结构的定义 从系统的内部性态来看,软件体系结构是系统的结构,它包含软件 部件、这些部件的外部可视特征,和它们之间的相互关系。而以过程为 中心的定义则是:程序和系统中的部件的结构,它们的相互关系以及控 制设计、时间演变的原则和指南。 系统总体结构的设计和规范。对于软件项目的开发来说,一个清晰 的软件计算机应用系统变得日益复杂和庞大。软件体系结构设计已经成 为软件生命周期中的一个重要环节。随着软件系统越来越大,越来越复 杂,软件设计的核心已经转移到一个新的计算模式,雨远非传统的“程 序= 算法+ 数据结构”,这个新的模式就是系体系结构是首要的。传统的 软件开发过程可以划分为从概念到实现的若干个阶段,包括问题定义、 需求分析、软件设计、软件实现及软件测试等。 软件体系结构的建立就位于需求分析之后,软件设计之前。在建立 软件体系结构时系统设计师主要从结构的角度对整个系统进行分析,选 择恰当的构件( c o m p o n e n t ) 、构件间的相互作用以及它们的约束,最后 形成一个系统框架( f r a m e w o r k ) 以满足用户的需求,为软件设计奠定基 础。软件体系结构设计的一个核心问题是能否使用重复的体系结构模式, 即能否达到结构级的软件重用。也就是说。能否在不同的软件体系中, 使用同一体系结构。基于这个i f l 的。 2 1 2 传统的软件结构 软件体系结构的发展主要经历了4 个阶段,从早期的单机系统、文 件服务器( f i l e s e r v e r ,f s ) 系统,到现在的客户机,服务器( c l i e n t s e r v e r , c s ) 系统。乃至基于的浏览器服务器( b r o w s e r s e r v e r ,b s ) 系统。下面分 别研究c s 和b s 体系结构。 华南理工大学硕士学位论文 2 1 3c s 体系结构 在c s 体系结构中,应用程序分为两大韶分:即客户机部分和服务 器部分。客户机部分负责执行前台功能;服务器部分执行后台服务。c s 应用系统基本运行关系体现为:“请求响应”的应答模式。每当用户需要 访阃服务器时就由客户机发出“请求”,服务器接受“请求”并“响应”, 然后执行相应的服务,将执行结果送回给客户机,由它进一步处理后再 提交给用户。 c s 结构被设计成两层模式,显示逻辑和事务逻辑均被放在了客户 端,从而使客户端变得很“胖”,成为胖客户机:面数据逻辑和数据库放 在了服务器端,从而服务器端的任务相对较轻,成为瘦服务器。c s 体系 结构如图2 1 所示。 瞄2 1c s 体系结构 f i g 2 - 1c sc o m p u t e rm o d e 但是c s 结构存在着很多体系结构上的问题,比如:当客户端数目 激增时,服务器端的性能会因为负载过重蔼大大衰减;旦应用需求发 生变化,客户端和服务器端的应用程序都需要进行修改,给应用维护和 升级带来了极大的不便;大量的数据传输增加了网络的负载等等。 2 1 4b s 体系结构 b s 是由传统的两层c s 结构发展而来的三层c s 结构在w e b 上的 应用,即浏览器w e b 服务器( b r o w s e r w e b s e r v e r ) 的三层结构。b s 体系 结构是把两层c s 结构的客户事务逻辑模块从客户机的任务中分离出来, 由单独的一层来处理,把任务均衡地分配给了w e b 服务器,这样客户机 的压力大大镘轻了。此时,客户机把事务逻辑部分分绘了服务器,不再 负责处理复杂计算和数据访问等关键事务,只负责显示部分,使客户机 一下子“苗条”了许多。 在b s 体系结构中,用户可以通过浏览器向分布在网络上的许多服 务器发出请求,而且极大地简化了客户机的工作,在客户机上只需安装、 6 第二章b s 模式系统构架 配置少量的客户端软件,服务器将负担更多的工作,对数据库的访问和 应用程序的执行将在服务器上完成。b s 体系结构如图2 - 2 所示。 图2 - 2b s 体系结构 f i g 2 - 2b sc o m p u t e rm o d e 2 1 5c s 结构与b s 结构的比较 与c s 相比,b s 在许多方面体现了很大的优势,主要体现在以下几 个方面。 ( 1 )开发和维护成本 c s 开发和维护成本较高,对不同的客户端要开发不同的程序,编程 工作量大。对于b s ,只需在客户端安装通用的浏览器,所有的维护和升 级工作都是在服务器上执行的,不需对客户端进行任何改变,故而大大 降低了开发和维护成本 ( 2 )客户端任务 c s 的客户端具有显示和处理数据的功能,任务过重。b s 的客户端 把事务逻辑部分分给了服务器,不再负责处理复杂计算和数据访问等关 键事务,只负责显示部分,任务大大减轻。 ( 3 )采用的标准 c s 所采用的标准只在内部统一,其应用通常是专用的。b s 所采用 的标准是开放的、非专用的,保证了其应用的通用性和跨平台性。 ( 4 )灵活性 c s 系统模块中每一部分的变动均要影响到其它模块的变动,系统升 级困难,灵活性差。b s 各层之间相互独立,任何一层的改变不影响其它 层的功能,系统改进非常容易,灵活性好。 ( 5 )安全性 c s 系统中的客户机直接与服务器相连,非法用户可以很容易地通过 应用程序侵入系统,并对服务器数据库进行操作,这给系统的安全性带 来极大的隐患。b s 系统在客户机和服务器之间增加了一层w e b 服务器, 是两者不在相连,客户机无法直接对数据库操作,可有效地防止用户的 非法入侵。 7 华南理工大学硕士学位论文 ( 6 ) 移植性 c s 系统对不同工具开发的应用程序,一般来说互不兼容,难以移植 到其它平台上运行,移植性差。b s 系统在客户端安装的是通用浏览器, 不存在移植性河题。 ( 7 )用户界面风格 c s 用户的界面由客户端应用程序决定。用户界面各不相同。b s 只 需在客户端安装通用的浏览器就可以访问应用程序,浏览器的界面统一 友好、易于使用。 通过以上对c s 和b s 的介绍和比较,b s 的优点非常明显,n e t 平台上开发的软件体系结构是属于b s 结构,与此相应的是最基本的三 层结构:p r e s e n t a t i o nl a y e r ( 展现层) ,b u s i n e s sl a y e r ( 业务逻辑层) , d a t aa c c e s sl a y e r ( 数据访问层) 。在实际应用时候,往往根据需要,可 能会把其中的某一层( 或者几层) 分为更多的层。见图2 - 3 。 图2 - 3 n e t 三层结构 f i g2 - 3t h r e el a y e r ss t r u c t u r eo f n e t 2 2m v c 模式 2 2 1m v c 模式结构 m v c 由t r y g v er e e n s k a u g 提出,首先被应用在s m a l l t a l k 一8 0 环境中, 是许多交互和界面系统的构成基础。m v c 结构是为那些需要为同样的数 据提供多个视图的应用程序而设计的,它很好的实现了数据层与表示层 第二章b i s 模式系统构架 的分离。m v c 作为一种开发模型,通常用于分布式应用系统的设计和分 析中,以及用于确定系统各部分间的组织关系。对于界面设计可变性的 需求,m v c ( m o d e l - v i e w c o n t r o l l e r ) 把交互系统的组成分解成模型、视图、 控制器三种部件。 视图部件把表示模型数据及逻辑关系和状态的信息以特定形式展示 给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显 示形式或视图。 控制器部件是处理用户与软件的交互操作的,其职责是控制提供模 型中任何变化的传播,确保用户界面于模型问的对应联系;它接受用户 的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和 视图协调工作的部件。 模型部件保存由视图显示,由控制器控制的数据;它封装了问题的 核心数据、逻辑和功能的计算关系,它独立于具体的界面表达和i o 操 作。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。 如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这 些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变 化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是 一种模型的变化传播机制。模型、视图、控制器三者之间的关系和各自 的主要功能,如图2 4 所示。 图2 - 4m v c 组件关系和功能图 f i 9 2 4m v cc o m p o n e n t sr e l a t i o n sa n df u n c t i o n s 9 华南理工大学硕士学位论文 2 2 2u s e ri n t e r f a c ep r o c e s sa p p l i c a t i o nb l o c k 在,n e t 中微软新推出的u i pa p p l i c a t i o nb l o c kf o r n e tf 用户界面过 程,简称u i p ) 也是基于m v c 模式的,为了便于理解可以把m v c 先简单 的看成是i n p u t p r o c e s s o u t p u t 系统。m o d e l 负责管理应用程序中的数据 和各种操作,可以看作是p r o c e s s 部分,在u i p 中由s t a t e 类实现,保存 用户信息和控制信息;v i e w 管理显示给用户的信息,可看作是o u t p u t 部 分,在 u i p 中由w e b f o r m v i e w ,w i n d o w s f o r m v i e w, w i n d o w s f o r m c o n t r o l v i e w 类来实现,用来在应用程序中创建v i e w s c o n t r o l l e r 允许用户与应用程序交互,它从用户那里得到i n p u t 并将指令 传递给m o d e l ,可以看作是i n p u t 部分,在u i p 中由派生自c o n t r o l l e r b a s e 的类来实现,负责在u s e ri n t e r f a c ep r o c e s s 中s t a r t 、e n d 或者n a v i g a t i o n 。 v i e w 和c o n t r o l l e r 都依赖于m o d e l ,而m o d e l 不依赖于v i e w 和c o n t r o l l e r 。 下面是u i p 技术的一些关键术语: c o n f i g u r a t i o nf i l e ( 配置文件) 在n e t 开发平台上使用u i p 技术 时候,程序中所用的u i p c o n f i g u r a t i o n 的定义,各个视图所使用的 c o n t r o l l e r 的类型,各个v i e w 的定义,v i e w 的导航以及所使用的s t a t e 的声明都必须写作配置文件中。 u i pc o n f i g r u a t i o n :获取、验证和保存应用程序中c o n f i g u r a t i o nf i l e 里的信息。 c o n t r o l l e r b a s e 是各个视图控制器的基类。 u i pm a n a g e r :提供了一个使用u i p a b 的入口,用来以不同的 n a v i g a t o r 启动或载入一个t a s k ; n a v i g a t o r :管理在不同v i e w 之间的转移,负责选择适当的v i e w , 并要求v i e wm a n a g e r 来激活v i e w ; v i e wm a n a g e r :按照n a v i g a t o r 的要求来创建和激活不同的v i e w ; s t a t e :维护p r o c e s s 中的状态和t a s k 中的当前的v i e w ; s t a t ep e r s i s t e n c ep r o v i d e r ,s t o r e :获取s t a t e 信息并持久化保存; u i p a p p l i c a t i o nb l o c k 的工作方式: 应用程序调用u i pm a n a g e r 上的一个方法( s t a r t n a v i g a t i o n t a s k , s t a r t o p e n n a v i g a t i o n t a s k ,或s t a r t u s e r c o n t r o l s t a s k ) ,某个t a s k 通 过上述方法被启动后,v i e w s 和n a v i g a t i o n 的创建,以及s t a t e 的管理都 可以在u i p 中进行; l o 第二章b s 模式系统构架 u i pm a n a g e r 创建适当的 c o n t r o l sn a v i g a t o r ,或w i z a r d 信息; n a v i g a t o r ( 如g r a p hn a v i g a t o r , u s e r n a v i g a t o r ) ,并向n a v i g a t o r 传入必要的 n a v i g a t o r 调用u i p c o n f i g s e t t i n g s 类来获取从配置文件中解析出来 的配置信息; n a v i g a t o r 根据配置文件中指定的v i e w s 的类型来创建适当的v i e w m a n a g e r 5 - n a v i g a t o r 创建或加载一个t a s k ; n a v i g a t o r 决定那个v i e w 被激活: n a v i g a t o r 通过u i pm a n a g e r 发布一个n a v i g a t e e v e n t 事件,该事件 可以被u i p a b 之外的程序使用,其中提供了当前的v i e w 和下一个v i e w 的信息; n a v i g a t o r 调用s t a t e 对象的s a v e 方法,s t a t e 对象可以调用适当的 s t a t ep e r s i s t e n e ep r o v i d e r 来保存当前状态: n a v i g a t o r 调用适当的v i e wm a n a g e r 的a e t i v a t e v i e w 方法,并向v i e w m a n a g e r 传入v i e w 的名字,这个方法负责创建c o n t r o l l e r 并显示v i e w ; v i e w 显示之后,用户获得控制权,在用户在界面上执行任何动作 之前( 比如点击按钮) ,u i p 不会做什么: 如果用户执行了某个动作,会导致v i e w 上的某个方法被调用,该 方法接着会调用c o n t r o l l e r 上的某个方法,根据用户所执行的动作, c o n t r o l l e r 将去傲下面的某件事: 执行或者委托一个与业务逻辑相关的函数( 比如将信息保存到 d b ) ,这中业务逻辑将导致v i e w 的刷新或s t a t e 的变化,如果该 函数导致了当前s t a t e 的改变,那么s t a t e 类将产生一个 s t a t e c h a n g e d 事件,用以通知所有监听状态变化的l i s t e n e r ; 调用n a v i g a t o r 上的n a v i g a t e 方法来转移到下一个v i e w 或者u s e r c o n t r o l ,并且更新s t a t e 对象 调用s u s p e n d t a s k 方法从内存中清除s t a t e 对象,但是不从s t a t e p e r s i s t e n c es t o r a g e 中清除: 调用c o m p l e t e t a s k 方法从内存和s t a t ep e r s i s t e n c es t o r a g e 中把 s t a t e 对象清除掉:u i pa p p l i c a t i o nb l o c k 的构架见图2 5 : 华南理工大学硕士学位论文 图2 - 5u i p 构颦图 f i g 2 5u i ps t r u c t u r e s l a l e f 峙f b i s t 日n c es t o r e 第三章n e t 框架 3 1 n e t 框架组成 第三章n e t 框架 随着i n t e r n e t 的发展,可以预见在不远的将来整个世界都将由 i n t e r n e t 连接在一起,不论何时何地都可以实现宽带访问。为此m i c r o s o f t 公司实施了n e t 战略。n e tf r a m e w o r k 就是像a s p n e t 这样可使n e t 更加具体的新技术,该构架提供了具体的服务和技术,以便于开发人员 创建相应的应用程序,满足i n t e r n e t 上的用户的需要。 n e tf r a m e w o r k 是建造m i c r o s o f t n e t 战略的基础,它为编写使用像x m l ( 可扩展标志 语言) 和s o a p 这样的开放标准的应用程序在i n t e r n e t 上( 或者是诸如 i n t r a n e t 之类的其他网络) 实现无缝和轻松的通信提供了工具和技术。 n e tf r a m e w o r k 主要包含四个主要的组成部分: 应用程序开发技术; 类库; 基类库; c l r ( 公共语言运行时) ; 这四个部分的基础性依次增强,较高的层使用一个或者多个较低的层, 如图3 1 : 图3 1 n e t 框架组成图 f i 9 3 1 n e tf r a m e w o r ks t r u c t u r e 华南理工大学硕士学位论文 3 1 1 应用程序开发技术 a s p n e t 是一种用来建立w e b 应用程序的优秀的n e t 技术,提供了 许多新增功能和更简洁的编程模式,这里简单介绍它的两个功能: w e b 服务 w e b 服务基于一种称为s i m p l eo b j e c ta c c e s sp r o t o c o l ( s o a p ) ,简 单对象访问协议的x m l 应用程序,s o a p 在诸如h t t p 这样的标准协议 的基础上为两个不同的实体之间交换的有效载荷提供了一种标准化的封 箱格式,s o a p 是完全基于开发式标准的,w e b 服务的普通用户完全不必 了解提供的w e b 服务的平台的实现原理,而只需在h t t p 协议的基础上 简单的发送和介绍x m l 就可以了。w e b 服务是a s p n e t 的核心部分, 使用a s p n e t 可以在自己的站点上很容易地提供w e b 服务,也可以很轻 松地从其他站点上享受它们所提供的w e b 服务。w e b 服务的文件扩展名 为a s m x ,当a s p n e t 运行程序发现调用某个,a s m x 文件的请求时,它就 会明白所请求的文件是一个w e b 服务,并自动对引入的s o a p 请求进行 解码,并激活适当的函数,同时发出一个s o a p ,x m l 响应。 w i n f o r m s 对于开发传统的w i n d o w sg u i 应用程序来说,n e tf r a m e w o r k 为我 们提供了w i n d o w sf o r m s ( w i n f o r m s ) 。 如果您曾在v b 6 中使用窗体设计器开发过窗体,或使用v c + + m f c 创建过对话框,w i n f o r m s 就不会陌生,它们之间许多类都是相似的。 w i n f o r m s 使用的设计器和v i s u a ls t u d i o 以前的版本很类似,功能却丰富 很多,而且它们是面向对象的。 w i n f o r m s 的另外一个重要的优点就是对所有它支持的语言来说,只 有一个g u i 库和窗体设计器。无论是使用v b ,c + + ,或者c # ,都将使 用相同的类、方法和事件,因为它们使用同一个类库即 s y s t e m w i n d o w s f o r m s 。这样对程序员来说,可以选用自己最拿手的编程 语言,而不必担心该语言是否与其他语言有相同的可用功能。 3 1 2 类库 类库是提供给开发人员的编程接口。它与通用语言运行环境紧密结 合在一起。n e t 框架中有一个类库的扩展集,它包括以下的一些类: d a t a a c c e s s :高性能数据访问类,用于连接s q ls e r v e r ,o r a c l e 或者 其他的o l e d b 提供者。 1 4 第三章n e t 框架 x m ls u p p o r t :下一代的x m l 支持,它远远超过了m s x m l 的功能。 d i r e c t o r ys e r v i c e :支持使用a d s i 对a c t i v ed i r e c t o r y l d a p 的访问。 3 1 3 基类库 n e tf r a m e w o r k 的基类库非常庞大,它是m i c r o s o f t 已经编写好受管 制代码的集合,它可以完成以前要通过w i n d o w sa p i 来完成的绝大多数 事情。基础类库能够访问操作系统提供的服务,如网络、多线程、图形、 窗体、数据访问等。 3 1 4 公共语言运行时( c l r ) n e t 提供了一

温馨提示

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

评论

0/150

提交评论