已阅读5页,还剩84页未读, 继续免费阅读
(管理科学与工程专业论文)基于mvc架构的web系统开发的研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京交通大学硕士学位论文 摘要 随着互联网技术的发展和新的商业模式的出现,必然会出现大量 基于网络的应用系统。而基于b s 结构的w e b 系统应用,因其具有易 用性、通用性和良好的可扩展性等优点而发展迅速,正在逐渐成为各 类应用信息系统的主流。 然而,在以往的w e b 应用系统开发中,往往存在着程序可重用程 度低、维护工作繁琐、困难、系统应变能力弱等缺点。为了有效地提 高w e b 应用系统的可重用性、可维护性和可扩展性,经过不断的实践 与总结,人们对于如何科学合理的设计这些w e b 系统,逐渐有了一些 深刻和统一的认识。人们开始认识到,最主要的是系统采用的体系结 构要台理、开放。系统需求的变化永远会比技术和设计思想发展快, 所咀,要想使将来系统的升级和维护付出的代价最小。研究软件系统 体系结构在开发过程中的应用是非常有必要的。 本文在结构上分为两部分:第一部分通过研究网络计算模式的 发展状况及当今较为流行的w e b 系统体系结构,全面阐述了应用成 熟的体系结构进行w e b 系统开发的基本理论与方法。第二部分为实 例应用部分,以当今流行的m v c 架构为基础,以s t r u t s 框架为典型 应用,结合实际开发项目,从系统分析、体系结构设计、设计模式 应用和关键技术的应用等方面对应用实例的设计开发过程进行了全 面详细的分析。同时,还根据该系统的特点,就如何合理的应用设计 原则和m v c 架构提出了一些设计思路,并对该系统的应用架构进行评 价和改进分析。 本文的特点在于,在分析w e b 系统开发体系结构的理论框架和 方法的基础上,提出如何将经典的m v c 架构理论与实际系统开发相 结合,并依据此机制和系统开发实例,对如何科学、合理、有效的 利用这一设计架构来改善系统进行了详细、深刻的阐述与分析。 关键词:w e b 系统:m v c ;体系结构;s t r u t s 框架;设计模式 一垒堕! ! 竺 a b s t r a c t w i t ht h ed e v e l o p m e n to fi n t e m e tt e c h n o l o g ya n dt h ea p p e a r a n c eo f t h en e wb u s i n e s sm o d e ,a l a r g en u m b e ro fa p p l i c a t i o ns y s t e m sb a s e do n n e t w o r ki n e v i t a b l e l yc o m ei n t oo u rl i f e t o d a y , t h ew e b a p p l i c a t i o nb a s e d o nb sc o m p u t i n gs t m c t u r ei sd e v e l o p i n gi nh i g hs p e e d ,a n di th a sb e c o m e t h em a i n s t r e a mo fa l lk i n d so f a p p l i c a t i o ni n f o r m a t i o ns y s t e m sg r a d u a l l y f o ri t s c h a r a c t e r i s t i c ss u c ha s e a s y u s i n g c o m m o n a b i l i t y a n d g o o d e x p a n s i b i l i t y , e t c h o w e v e r , al o to fd i s a d v a n t a g ee x i s t e di nt h ed e v e l o p m e n to fw e b a p p l i c a t i o ns y s t e mi nt h ep a s ty e a r s ,s u c ha sl o wp r o c e d u r er e u s a b l i l y , b a d a n dt e d i o u sm a n t a i n a b i l i t y , w e a ka d a p t a b i l i t yt o c h a n g e sa n ds oo n i n o r d e rt oi m p r o v et h er e u s a b l i t y ,m a i n t a i n a b i l i t ya n de x p a n s i b i l i t yo fw e b a p p l i c a t i o ns y s t e me f f e c t i v e l y , t h r o u g hc o n s t a n tp r a c t i c ea n ds u m m a r y , p e o p l ea c c u m u l a t e dm o r ed e e pa n du n i f i e du n d e r s t a n d i n go fh o wt o d e s i g nt h e s ew e bs y s t e m si nar a t i o n a la n ds c i e n t i f i cw a y p e o p l er e a l i z e t h a tt h em o s t i m p o r t a n tt h i n gi st h a tt h ea r c h i t e c t u r ea d o p t e db yt h es y s t e m m u s tb er e a s o n a b l ea n do p e n t h ec h a n g eo f r e q u i r e m e n ti s e v e rf a s t e r t h a nt h ed e v e l o p m e n to f t e c h n o l o g ya n dd e s i g ni d e a r s i fy o uw a n tt o m i n i m i z et h ec o s tf o rs y s t e mu p d a t ea n dm a i n t a i n a n c ei nt h ef u t u r e t h e r e s e a r c ha n da p p l i c a t o no fs o f t w a r e s y s t e m a r c h i t e c t u r ei nt h e s y s t e m d e v e l o p m e n ti sv e r yn e c e s s a r y t h ep a p e ri sd i v i d e di n t ot w o p a r t s i ns t r u c t u r e t h ef i r s t p a r t c o m p r e h e n s i v e l ye x p o u n d st h ef u n d a m e n t a lt h e o r i e sa n dm e t h o d so nh o w t o d e v e l o p m e tw e bs y s t e mw i t ht h ea d v a n c e da r c h i t e c t u r et h r o u g ht h e r e s e a r c ho nt h e d e v e l o p m e n t s t a t eo fn e t w o r kc o m p u t i n gm o d ea n d p o p u l a rw e bs y s t e ma r c h i t e c t u r en o w a d a y s t h es e c o n dp a r ti s f o rt h e a p p l i c a t i o ne x a m p l e w i t ht h ep o p u l a rm v c a r c h i t e c t u r ea st h ef o u n d a t i o n a n ds t r u t sf r a m e w o r ka st h e t y p i c a la p p l i c a t i o nf r a m e w o r k ,t a k i n gt h e a c t u a l d e v e l o p m e n tp r o j e c t a st h e e x a m p l e ,t h i sp a r tg i v e s ad e t a i l e d a n a l y s i so nt h ed e s i g na n dd e v e l o p m e n to fw e ba p p l i c a t i o ns y s t e mf r o m t h e r e s p e c t s o f s y s t e ma n a l y s i s ,a r c h i t e c t u r ed e s i g n ,d e s i g np a t e m s 北京交通大学硕士学位论文 a p p l i c a t i o na n dk e yt e c h n o l o g y m e a n w h i l e ,i t s t i l l g i v e ss o m ed e g i g n i d e a r so nh o wt o a p p l ys o m ed e s i g np r i n c i p l e sa n dm v c a r c h i t e c t u r e r e a s o n a b l ya c c o r d i n gt ot h ec h a r a c t e r i s t i c so f t h es y s t e m ,a n d 百v e ss o m e a p p r a i s ea n da n a l y s i so n t h es y s t e ma p p l i c a t i o na r c h i t e c t u r e , t h ec h a r a c t e r i s t i co ft h i sp a p e ri st h a t ,o nt h eb a s i ca n a l y s i so fw e b s y s t e md e v e l o p m e n tt h e o r yf r a m e w o r ka n dm e t h o d ,i tf o c u s e so nh o w t o c o m b i n et h e t y p i c a l m v ca r c h i t e c t u r e t h e o r y w i t ha c t u a l s y s t e m d e v e l o p m e n t ,a n dg i v e sad e t a i l e d ,d e e pe x p o s i t i o na n da n a l y s i so n h o wt o u s et h i sd e s i g nf r a m e w o r kt oi m p r o v es y s t e ma c c o r d i n gt om v c t h e o r y a n da c t u a lp r o j e c t e x a m p l e k e y w o r d s :w e bs y s t e m m v ca r c h i t e c t u r e :s t r u t sf r a m e w o r k ;d e s i g n p a t e m s 独创性声明 y7 4 1 9 2 2 独创i 生声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽本人所知,除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得北京交通大学或其他教学机构的学位或证书而使用过的 材料。与我一起_ t 作的同志对本研究所做的任何贡献已在论文中作了 明确的说明并表示了谢意。 本人签名: 日期:生堕年三月上日 背景与意义 i 背景与意义 1 1 引言 网络时代的到来,使得基于网络计算的管理信息系统在经济和社 会生活中获得了广泛、深入的应用。其中,基于8 s 结构的w e b 信息 系统应用成为应用的主流。另一方面,随着信息系统应用领域的不断 扩大,软件系统的规模和复杂性也在不断增长,在系统开发中,软件 工程思想的应用越来越重要。在大量的实践中,人们进一步深刻地认 识到,系统总体结构设计的重要性已远远超过开发过程中具体特定算 法和数据结构的选择,良好的系统架构设计对保证系统歼发的成功至 关重要。 如同建筑一样,每个软件系统也都应该具有一定的体系结构,尤 其是对于大型系统的开发,一个良好的系统架构就更加重要。然而。 在过去很多的软件工程实践中,体系结构设计往往是被非形式化的采 用,带有极大程度的主观随意色彩,这就给系统的分析、设计、开发 和维护带来了很大的困难。同时,也带米一些消极的后果:_ 丌发者对 于体系结构的设计理解模糊;蹩个系统的开发都建立在直觉和经验、 而不是科学的原则之上;在系统维护中难以保持系统设计的一致性和 完整性 随着系统需求的变化,系统难以在原来的架构基础上加以完 善和维护。从而系统难以得到扩展。因此,对于软件体系结构进行研 究和探讨,对于当今流行的w e b 应用系统的开发具有深远而重要的意 义。 当然,软件体系结构并不是最近才出现的。经过多年的研究和实 践,软件开发人员已经总结出很多好的体系结构,并已经在很多领域 中得到应用。例如,i s o o s l 的网络层次参考模型,人工智能中的黑 板系统,以及图形用户界面编程的事件驱动模型等,它们都从系统、 宏观的角度表达了关于复杂系统的整体架构以及系统所具有的各种 特性信息。如系统的演化方式、总体的计算模式、同其他类似系统的 关系等。 北京交通大学硕士学位论文 因此,对于w e b 系统应用的开发,我们应该通过研究和实践,力 求遵循科学、合理的软件体系结构设计原则,学习先进的设计思想, 不断的改进我们的系统设计和开发过程,从而提高系统开发的质量。 1 2 网络计算模式的演变 w e b 系统的应用是以网络计算模式的发展为基础的。网络计算是 指以网络为中心的计算或是基于网络的计算,它把计算功能和负荷合 理地分配到联网的各台计算机上。而网络计算模式就是完成网络上 的计算任务或应用服务所采用的使用共享资源的形式和方法。 回顾计算机网络的发展历史,我们可以看到:网络计算模式主要 经历了七八十年代的集中式计算模式、9 0 年代的分布式计算模式的发 展历程。 1 2 1 集中式计算模式 集中式计算模式包括:主机终端结构和工作站文件服务器结 构,前一种模式的各种计算主要集中在主机上;而后一种的各种计算 主要集中在工作站上完成。 a 主机终端结构 主机终端结构又简称主机系统,是六七十年代以来形成的以一 台计算机为中心的多用户系统。在该系统中,用户通过终端与主机相 连,在主机操作系统的管理下麸享主机的硬件资源。其特点是可同时 为多个用户服务。在主机终端系统中,所有数据和程序都在主机上, 进行集中管理,各终端只相当于一个显示器加键盘的功能。这种系统 便于集中处理大量的信息,如大型科学计算、人口普查和航空购票系 统等。 该系统的主要缺点是:( 1 ) 主机负担过重,所有的计算、存储都 集中在主机上,一旦主机出故障,系统将全面瘫痪;( 2 ) 扩充不易。 当用户量不断增加时,必须更换主机,否则服务质量就要受到影响: ( 3 ) 系统的购置、安装、维护费用较高,不易普及。 b 。工作站文件服务器结构 8 0 年代初,随着局域网的兴起,连网的微机被分为两类:一类称 背景与意义 为服务器,专门为网络上的其他用户提供共享文件( 或数据) ,被称 为文件服务器,它是网络的核心,管理网络通信,网络操作系统也安 装在文件服务器中;另一类称为工作站,它可访问文件服务器中的数 据和文件,而本工作站的资源不被其他工作站或服务器共享。每个局 域网中可有一台或多台文件服务器。工作站用户通过磁盘映像,使用 文件服务器上的硬盘。网络上传递的只有文件,计算任务在工作站上 完成。在工作站文件服务器中,数据库和全部应用程序都存储在文 件服务器上,但应用程序的执行是在微机工作站上进行,从而增加了 网络传输负荷。同时当服务器负荷超过某个限度后,其效率会明显下 降。这种系统由于数据的安全性较差,无法发挥服务器的信息处理能 力,现在已很少采用。 1 2 2 分布式计算模式 分布性主要指数据分杯和计算分靠,其中数据分郴是指数据可分 散存储在网络上的不同计算机中:计算分布则是把操作计算分散给不 同的机器进行处理。在物理上分布式数据库的资源结构与分布式的 组织结构相吻合;而逻辑上的相关性,又使它们可以利用计算机网络 集成为功能强大的系统。分布式计算模式在系统可靠性、可扩展性、 可用性和并行处理等方面具有明显的优羚”。 分布式汁算模式主要指客户机服务器结构和w e b 计算结构,其 目的是将计算工作分摊到多台计算机中,降低集中在单台计算机上运 算的负载及可能的风险。w e b 计算结构包括浏览器服务器结构和浏览 器应用服务器数据库服务器三层结构。 a 客户机服务器结构 8 0 年代后期和9 0 年代初,随着数据库技术和局域网技术的发展, 客户机服务器( c l i e n t s e r v e r ,简称c s ) 结构应运而生。c s 结构 与工作站文件服务器结构在硬件组成、网络拓扑结构、通信连接等 方面基本相同。但文件服务器变成了数据库服务器,工作站改称为客 户机。它们的最大区别在于在c s 结构中,服务器控制管理数据的能 力上升为数据库管理方式,原先在工作站文件服务器中由工作站所 承担的数据处理任务,现在改由服务器来完成,从而使整个系统的 北京交通人学硕士学位论文 性能有了很大的飞跃。一方面高档微机组成的数据库服务器的效率得 到了充分的发挥:另一方面数据经服务器加工后在局域网中传输的仅 仅是客户机所需的那一小部分处理结果而不是整个文件,从而大大降 低了网络流通量。 但是,随着应用的深入和规模的不断扩大,应用程序日趋复杂, c s 结构又暴露出许多问题:客户机需要安装更多的软件,客户机的 管理越来越困难,这不仅给应用软件的实现带来了不便,而且使得软 件维护的费用越来越高。另外,c s 结构的软件产品大都缺乏开放的 标准,一般不能跨平台运行。当把c s 结构的软件应用于广域网时就 会暴露出许多问题。相对而言,w e b 计算结构可以比较圆满地解决以 上问题。 b w e b 计算结构 2 0 世纪9 0 年代中期,随着i n t e r n e t 的广泛应用和普及,人们能 够方便、快捷的从i n t e r n e t 上得到多样化的信息,而且不必了艇列 络内部实现的细节。浏览器n 务器( b r o w s e r s e r v e r ,简称b s ) 结构 就是在这种背景下产生的。 在b s 结构中,客户机变“瘦”了。统一采用易于操作的浏览器 界面。“瘦”客户机的形成实现了主机系统的集中式管理,挞个系统 可控性更好,系统维护也极为方便。b s 结构下。系统的应用程序集 中在服务器端,无需单独_ 丌发客户端程序,服务器上所有应用程序都 可以通过w e b 浏览器在客户机上执行。通过在网上建立自己的w e b 服 务器,并将服务器与数据库连接。就可以实现访问w e b 数据库的功能。 这样,不仅能够统一用户界面,而且可以实现系统的跨平台操作。 b s 结构的最大特色在于为用户提供良好的交互界面。w e b 服务 器把各种形式的信息,如文本、图像、声音和视频等集成在一起,并 提供与网络数据库动态交互的功能,用户只需要提出自己的查询要 求,其他的处理细节都由w e b 服务器自动完成。 基于w e b 计算结构的信息系统应用非常广泛,适用于局域网、广 域网和国际互联网。 1 3 网络计算解决方案 随着对应用系统的分布性、可扩展性和异构性等要求越来越高, 4 背景与意义 以及分布对象计算技术和构件技术的不断发展,各软件生产商和研究 机构纷纷推出各自的网络计算解决方案,比较典型的有 a c t i v e x d c o m 、j a v a r m i 和c o r b a 等。 1 3 1 a c t i v e x 模型 a c t i v e x 模型是m i c r o s o f t 公司分布式计算的基础。1 9 9 5 年, m i c r o s o f t 提出了e o m ( 组件对象模型) 和d c o m ( 分布式组件对象模 型) 。c o m 模型用于在异构网络和操作系统中创建、使用和加入可重复 使用的组件对象,这些组件可以相互通信和交互,而与它们的平台、 语言和分布无关。d c o m 是一套用于分布式环境中的c o m 对象,在d c o m 环境中,位于一个网络上的c o m 对象能与位于另个网络上的c o m 对 象进行通信。a c t i v e x 模型符合c 0 m d c o m 标准“。 从总体来看,a c t i v e 平台可包括三个方面的内容:a c t i v e 服务 器、a c t i v e 桌面和a c t i v e 技术。 a c t i v e 服务器是a c t i v e 平台所有服务技术的总称,也是构成整 个a c t i v e 平台的主体。它负责信息的处理、存储、管理及传递,并 提供一套完按的a c t i r e 服务器端的应用开发环境,主要包括 m i c r o s o f t 的i n t e r n e t 信息服务( i i s ) 、a s p ( a c t i v es e r v e rp a g e s ) 、 i n d e x ( 文件索引) 等。 a c t i v e 桌面是a c t i v e 平台的客户端,它直接面对网络用户。用 户可利用m i c r o s o f t 的i n t e r n e te x p l o r e r 获得一般的硼w 服务和 a c t i r e 服务器的服务。 a c t i v e x 是一群联系a c t i v e 服务器和a c t i v e 桌面的所有技术的 总称。a c t i v e x 技术主要由传统的h t m l 、脚本程序( s c r i p t ) 语言和 a c t i v e x 组件构成。a c t i v e x 技术具有跨平台、与程序语言无关、面 向文件及组件的特点。 1 3 2 c o r b a 技术 c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 定义了 一种面向对象的软件构件构造方法,不同的应用可以共享由此构造出 来的软件构件。每个对象都将其内部操作细节封装起来,同时又向外 北京变通大学硕士学位论文 界提供了精确定义的接口,从而降低了应用系统的复杂性,也降低了 软件开发费用“1 。 c o r b a 的平台无关性实现了对象的跨平台引用,开发人员可以在 更大的范围内选择最实用的对象加入到自己的应用系统之中。c o r b a 的语言无关性使开关人员可以在更大的范围内相互利用别人的编程 技能和成果,成为实现软件复用的实用化工具。 c o r b a 规范的突出特点有以下几个方面: ( 1 ) 引入了代理的概念。一个代理至少可以有三个方面的作用: 完成对客户方提出的抽象服务请求的映射;自动发现和寻找服务器; 自动设定路由,实现到服务器方的执行。 ( 2 ) 增加代理机制后,实现了客户程序与服务器程序的完全分 离。这与面向过程调用机制为基础的客户n 务器模式根本不同。 ( 3 ) c o r b a 规范定义的基础是面向对象的设计思想和实现方法。 把分布式计算与丽向对蒙的概念相结合有很多好处,能够将冗余度控 制在最低,一个对象既能被客户程序使用,也能被服务器程序使用, 对蒙实现的修改不会影响双方程序和软件重用率。 ( 4 ) 提供了软件总线的机制。这使得任务应用程序、软件系统 或工具只要具有与该接口规范相符合的接口定义,就能方便地集成到 c o r b a 系统中,而这个接口规范独立于任何实现语亩和环境。 ( 5 ) 分层的设计原则和实现方式。 c o r b a 规范充分利用了现今各种技术发展的最新成果,在分布环 境下实现应用的集成。使得基于对象的软件成员在分布异构环境中实 现可重用、可移植和可互操作。 1 3 3 j a v a 计算模式 j a v a 是一个应用程序开发平台,它按照高性能、可移植、可解释 的原则,提供面向对象的编程语言和运行环境。j a v a 计算的本质就是 利用分布在网络中的各类对象共同完成相应的任务“3 。 j a v a 的软件构件称为j a v a b e a n ,它是可重用的软件构件。 j a v a b e a n 的组件模型包含组件和容器两个基本要素。 作为典型的组件模型,j a v a b e a n 具有属性、方法、事件、自我检 背景与意义 查、定制和永久性等6 个方面的特征。其中前3 种特征( 属性、方法、 事件) 是面向对象组件必须满足的基本要求,属性和方法保证 j a v a b e a n 成为一个对象,而事件可以描述组件之间的相互作用以及组 件与容器之间相互通信。通过事件的生成、传播和处理,构件相互之 间关联在一起,共同完成复杂的任务。后三种特征( 自我检查、定制 和永久性存储) 主要侧重于对j a v a b e a n s 组件性质的描述。自我检查 用于暴露与发现构件接口。使用自我检查机制,可以使构件的使用者 了解到构件的属性、方法和事件。由于一个构件通常是具有一定性质 和行为的对象的抽象,它往往有很大的通用性。为了在一个具体的应 用环境中使用构件,必须对构件进行定制。j a v a b e a n 的定制通常在一 个可视化生成工具中进行,通过构件的自我检查机制,发现构件的属 性、方法和事件,然后利用生成工具提供的属性编辑器实现定制。永 久性存储是将构件的状态保存在永久存储器中并能够恢复的机制。 j a v a 通过序列化实现定制构件的永久性存储,通过反序列化可以实现 构件状态的恢复。 在网络上,j a v a b e a n 构件可以以三种方式进行活动: ( 1 ) j d b c 使j a v a b e a n 构件眙够访问s q l 数据库。j a v a b e a n 可 以实现给定数据库中的表操作,完成相应的业务逻辑。 ( 2 ) j a v a r l l l i ( 远程方法调用) 使分布在网络不同地点的两个构 件之间实现互操作。构件之间的调用方式采用c 1 i e n t s e r v e r 计算模 型;远程方法调用机制r m i 是构成j a v a 分布对象模型的基础结构。 ( 3 ) j a v a i d l 是一个j a v a 版的c o r b a o r b 。通过它可以实现一 个j a v a b e a n 和一个c o r b a 服务之间的互操作。 1 3 4 三种计算模式的比较 基于c o r b a 的、基于微软a c t i v e x 的和基于s u n 公司的j a v a r m i 的三层w e b 体系结构,它们的主要差别在于层与层之间的通信不同, 即客户端与应用服务器之间、应用服务器与数据库资源之间的通讯协 议不同。 在支持平台方面,基于c o r b a 的w e b 体系适合于多种平台异构环 境下的分布式应用的集成;基于微软a c t i v e x 的w e b 体系适合于 北京交通大学硕= _ i = 学位论文 w i n d o w s 平台上应用的集成;而基于s u n 公司j a v a r i 的w e b 体系只 能访问j a v a 对象,效率高。 从性能上讲,c o m 会超过c o r b a ( 特别是本地调用) 。利用c o m d c o m 和c o r b a 的互操作模型,可以实现两者之间的互操作。r m i 与c o r b a 正相互靠拢,将来两者之间可能会相互融合。 1 4 流行的动态网络开发技术 随着网络应用技术的发展,传统的静态h t m l 已经不能满足需要, 人们更多的需要交互式的w e b 应用模式来方便地对后台数掘实施动态 管理和控制。在这种情况下,动态网络技术应运而生。动态网络技术 能够显示动态的页面,同时可以提高和后台程序交互的能力。 1 4 1 c g i ( c o m m o ng a t e w a y in t e r f a c e ) 技术 早期的动态网络开发解决方案使用c g i b i n 接口,开发人员编写 与接口相关的单独程序,以及基于w e b 的应用程序,后者通过w e b 服 务器来调用前者。 这种技术存在严重的扩展性问题:每个新的c g i 要求在服务器上 新增一个进程。如果多个用户并发地访问该程序,这些进程将消耗掉 该w e b 服务器所有的可用资源,使系统性能降低到极其低下的程序。 1 4 2 a s p ( a c t iv es e r v e rp a g e s ) 技术 微软公司提出的a s p 技术,利用“插件”和a p i 简化了w e b 应用 程序的开发难度。a s p 属于a c t i v e x 技术中的服务器端技术它将 v b s c r i p t 、j a v a s c r i p t 等脚本语言集成到h t m l 中,可以直接存取数 据库及使用无限扩充的a c t i v e x 控件。 更具体的说。a s p 是一个中间件,这个中间件将w e b 上的请求转 入到一个解释器中,在这个解释器中将所有的a s p 的脚本进行分析, 再进行执行,这时可以在这个中间件中创建一个新的c o m 对象,对这 个对象中的属性和方法进行操作和调用,再通过这些c o m 组件完成更 多的工作。因此,a s p 的强大在于它后台的c o m 组件,这些组件无限 的扩充了a s p 的能力。 背景与意义 a s p 的弱势在于: ( 1 ) w i n d o w s 本身的问题。如安全性、稳定性、跨平台性等都会 在其身上显现出来; ( 2 ) 组件安全性。由于a s p 使用了c o m 组件,如果组件操作不 注意,外部攻击就会取得相当高的权限而导致网站的瘫痪或数据丢 失; ( 3 ) 较低的效率。由于a s p 是一种脚本语言,除了适用大量组 件外,很难提高其工作效率; ( 4 ) 无法实现跨操作系统的应用; ( 5 ) 无法实现大型的企业应用。如完全的集群、负载均衡等。 虽然a s p 具有简单易学、使用方便等优势,但是它的一些弱点, 使得它只适用于w i n d o w s 系列平台、企业内部管理信息系统、中小型 i n t e r n e t 应用和快速数据库开发的应用。 1 4 3 p h p ( h y p e r t e x tp r e p r o c e s s o r ) 技术 p h p 是一种跨平台的服务器端的嵌入式脚本语言,它大嚣地借用 c 、j a v a 和p e r l 语言的语法并耦合自己的特性,使w e b 开发人员能 够快速写出动态页面。 p t l p 的主要优点是:是一种快速学习、跨平台、有良好数据库交 互能力的开发语言;具有很好的扩展性,与a p a c h e 及其扩展库结合 紧密;具有良好的安全性。 但是p h p 也存在一些弱点,主要体现在:p h p 是一种解释型语言, 不支持多线程结构;支持的平台和连接数据库有限:特别是在支持的 标准方面存在先天不足,对于一些电子商务应用来说,p h p 是不适合 的。 p h p 技术的适用人群为:熟悉u n i x 环境,需要在最少的投入下完 成快速的应用开发。适用平台为:l i n u x u n i x 操作系统、i n t e r n e t 高访问量和快速数据库开发的应用。 1 4 4 j s p ( j a v as e r v e rp a g e s ) 技术 j s p ( j a v as e r v e rp a g e s ) 是由s u n 公司倡导、许多公司参与一起 北京交通大学硕士学位论文 建立的一种动态网页技术标准。按照s u n 的说法,j s p 能够适应市场 上包括a p a c h ew e bs e r v e r 、i i s4 0 在内的8 5 的服务器产品,它为 创建高度动态的w e b 应用提供了个独特的开发环境。 j a v as e r v l e t 是一种开发w e b 应用的理想架构,j s p 以s e r v l e t 为基础,又在许多方面做了改进。利用跨平台的j a v a b e a n s 组件,j s p 为分离处理逻辑与显示样式提供了卓越的解决方案。 j s p 技术的主要特点是:能够在任何w e b 应用程序服务器上运行; 能够将应用程序逻辑和页面显示分离;能够快速地开发和测试;简化 了歼发基于w e b 的交互式应用程序的过程。 j s p 的优势主要在于以下几点: ( 1 ) 具有跨平台的可重用性: ( 2 ) 开放的开发过程开放的源代码; ( 3 ) j s p 标签具有可扩充性; ( 4 ) 程序执行效率高; ( 5 ) j a v a 的优越性使得基于j s p 技术的应用程序更易于维护和 管理: ( 6 ) 强大的服务器端组件和数据库支持。 1 。4 5 。几种开发技术的比较 通过以上的介绍。我们认为,其中的j s p 技术在一定程度上具有 的优势,是开发大中型w e b 应用系统可以考虑优先采用的技术。这里, 主要总结了a s p 、p h p 和j s p 在w e b 应用技术方面的特点,进行了比 较,具体内容见表1 - 1 。 表卜i 主要w e b 应用技术对比表【3 】 a s pj s pp h p w e b 服务器 i i s 、p 霄s a p a c h e 、i i s 、p w s 、n e t s c a p ea p a c h e 、i i s 、 s e r v e r 以及大量的企业应用p w s 、n e t s c a p e 服务器( b e aw e b l o g i c 、i 跏 s e r v e r 葬 w e bs p h e r e 等) 运行平台鲥n d o r su n i x 、l i n u x 、耳i n d o f s 、 l a c o su n i x 、l i t l u x 、 背景与意义 等w i n d o w s 组件技术 c 0 l l j a v ab e a n s 、e j bc 训、j a v ab e a n s 自定义标签语法无有无 开发性无多家厂商台作,并得到开放源自由软件 码组织支持 脚本语言支持v b s c r i p tj a v a 、 e m a c s c r i p t 、p a p j a v a s c r i p tj a v a s c r i p t 等 建立大型w e b 应用可以 可以不宣 程序执行速度快 投块极快 s b s s i o n 管理 钉胄有 统一的数据库连接有a d o 、o d b c有j d b c 有 1 5 w e b 系统应用的意义 信息技术的发展过程中,w e b 以其资源丰富、访问方便、界面 友好、无空间距离限制等特点成为当今技术发展关注的焦点。将现有 应用转化到w e b 上或直接开发w e b 应用是当今许多软件开发人员及各 企业管理者的迫切任务。作为一种优秀的网络计算模式,w e b 将是我 们下一代信息系统的基础。w e b 不仅可以减少开发维护费用,而且具 有无缝集成分布计算的优点。例如:将应用逻辑集中在服务器上可以 极大减少应用的维护、发布费用以及不必要的延迟。用户只须使用标 准的浏览器就可以访问网上的应用及分布在各地的资源。如果需要更 新资源、修改应用,只需在服务器端进行即可。 当今的w e b 应用,尤其是大型的w e b 应用系统一般都是在较大 范围内的组织中。组织一般由许多部门组成,部门之间的业务关系复 杂:同时,组织之间不是孤立的,它处在其他组织中间,需要和其他 组织发生各种联系。因此,大部分w e b 应用系统具有以下几个特点: ( 1 ) 功能繁多。由于组织规模较大,可能会包含一系列访问数 据库的程序,而且这些程序相对比较独立。 ( 2 ) 数据多样。包含许多企业经营和业务的各种数据,使用的 可能是不同厂商提供的数据库。 ( 3 ) 业务关系复杂。处理各种业务的程序流程复杂,要求操作 北京交通大学硕士学位论文 的交互性强,必要的时候可能需要能够在一起集成。 ( 4 ) 不同的应用环境。系统一般处在i n t r a n e t 或i n t e r n e t 中, 用户的操作系统平台可能各不相同,因此需要一定程度的适应性。 ( 5 ) 便捷的用户界面。能够为用户提供方便易用的服务,通常 通过标准的w e b 方式来完成系统交互操作。 由此可见,大型的w e b 应用系统的结构复杂,涉及到的内外资源 众多、事务密集、数据量大、用户多、安全性要求高、对系统的适应 性和可扩展性要求高。作为理想的w e b 应用系统,不但要具有强大的 功能,还要能够满足未来业务需求的变化,易于升级和维护。这就需 要我们在实践中研究并采用当今流行的n 层体系架构,才能成功的开 发和部署一个结构复杂的、跨i n t r a n e t 和i n t e r n e t 的w e b 应用系统。 w e b 应用系统的体系结构 w e b 应用系统的体系结构 2 1 w e b 应用体系结构 2 1 1 一般w e b 应用的体系结构 w e b 应用系统,尤其是大型的企业级w e b 应用系统,需要使用优 秀的应用体系结构来支持,而优秀的应用体系结构通常来自优秀的解 决方案。“。应用程序设计开始就要考虑其体系结构的合理性、灵活性、 他壮性,从而既可满足系统应用的复杂需求,也能为今后系统的调整 和升级留有余地。好的体系结构会影响整个应用的生命周期,能够增 强系统在多变的商业社会中的适应性,减小系统维护的开销和难度。 一般情况下,w e b 应用的体系结构如图2 一l 所示: 图2 1 一般w e b 应用的体系结构 在这种结构中,表示逻辑通常提供图形用户界面,负责与用户进 行交互。它通过h t t p 协议从业务层服务器上下载超文本页面,同时 下载并执行内嵌在页面中的客户程序或中间代码。这些客户程序能通 过内部通信机制向应用服务器中有关服务对象发出请求。其中,业务 流程的控制通过流程控制层完成,它负责将客户层的请求转发给业务 层。业务层的服务对象封装了相关的业务逻辑,它们之间可通过内部 北京交通大学硕士学位论文 协议彼此通信,并能访问资源层的数据库对象或其它的应用程序,以 协同完成客户请求。 另外,系统一般会采用分布对象技术,并增加控制层和应用层, 将客户层与资源层分开,从而降低w e b 服务器的负载,避免w e b 服务 器的性能缺陷对整体佳能的影响,并通过连接缓冲、负载均衡、安全 管理等功能,来提高w e b 应用系统整体的灵活性、可伸缩性和可扩展 性。 2 1 2 理想的w e b 系统体系结构的特点 通常情况下,一个理想的w e b 应用系统的体系结构应该具有以下 特点:( i ) 开发、部署和维护方便;( 2 ) 具有较强的健壮性和可靠 性:( 3 ) 具备失败恢复的能力;( 4 ) 能够支持大量的用户;( 5 ) 具备 很高的安全性;( 6 ) 数据交互能力强;( 7 ) 能够快速开发和部署新的 应用程序;( 8 ) 能够简化组件重用;( 9 ) 适用于小、中、大各种规模 的应用系统;( 1 0 ) 能够不断进行技术升级,满足不断涌现的需求。 在实际系统开发中,我们应该以此为参考来选择和构建良好的 w e b 系统架构,为系统的成功奠定基础。 2 2 w e b 应用系统建设中的问题 2 。2 1 伸缩性 伸缩性是指系统能够承受日益增长的业务需求。这就要求系统能 够灵活扩展以满足新的需求,这种扩展有功能上的扩展,也有用户群 上的扩展。当潜在的上百万用户同时使用某个特定的应用时,应用程 序的伸缩性就显得非常重要。此时,系统不仅要处理大量的客户的请 求,同时还要能够有效的使用系统资源。 2 2 2 安全性 由于企业级系统应用中保存的数据往往是关系到本企业生死存 亡的数据,所以随着业务的增加、与外界联系的增多,受到外界安全 的威胁也就越来越多。这就更加需要一个充分安全的保障措施来保证 w e b 应用系统的体系结构 系统的稳定运行和系统数据的安全。没有安全保障的应用是不可用 的。在系统开发中主要考虑以下的安全问题: ( 1 ) 应用程序数据安全。开发的系统程序安全没有漏洞,严格 控制用户的权限,未授权的用户不能获得数据的存取权利。 ( 2 ) 服务器的安全。主要涉及到应用服务器本身的安全,如果 应用服务器本身存在安全漏洞,会很容易遭到黑客的攻击。 ( 3 ) 数据库的安全。数据库本身存储了有价值的企业信息,应 该采取措施对数据库的存储进行严格授权,注意数据库本身的安全漏 洞,防止非法操作数据库。 ( 4 ) 应用服务器操作系统的安全。操作系统同样存在各种安全 漏洞,一般情况下,操作系统要想安全,应该提供给外界最少的服务。 同时关注操作系统方面的信息,对出现的漏洞打补丁。 ( 5 ) 网络安全。系统可能位于复杂的网络环境中,会遭到各种 各样的外来威胁,这就要在防火墙和路由器上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年疟疾防治知识培训考试题及答案
- 教育评价体系的改革方向
- 妇产科三基考试试题及答案
- 2025年B证(安全员)考试题库及答案
- 2025年公安部交管局三力测试题库及答案
- 高中语文高教版(中职)基础模块 上册二十三 劝学 荀 子教学设计及反思
- 2025年人工智能技术及应用职业考试试卷及答案
- 2025年体育场馆运营管理考试试题及答案解析
- 福建中小学生安全知识网络竞赛题库及答案
- 第5课 感念慈母心 矢志好好活-《秋天的怀念》教学设计七年级语文上册同步高效课堂(统编版2024)
- 滴滴人证考试题库及答案
- 2025年高校教师资格证考试《高等教育心理学》习题及参考答案
- (2025年)重大事故隐患判定标准培训考试练习题及答案
- 2025贵州水投毕节市水务集团有限公司旗下子公司招聘笔试考试参考试题附答案解析
- 武汉市水利部长江水利委员会事业单位招聘考试真题2024
- 2025宁夏交通建设股份有限公司校园招聘笔试历年难易错考点试卷带答案解析试卷2套
- 2025年社区社工面试试题及答案
- 建筑设计概念方案汇报
- 创办幼儿园核心流程
- 全国大学生职业规划大赛《俄语》专业生涯发展展示
- 一级裁判笔试题库及答案
评论
0/150
提交评论