(计算机软件与理论专业论文)基于页面差异模式的ajax框架研究及应用.pdf_第1页
(计算机软件与理论专业论文)基于页面差异模式的ajax框架研究及应用.pdf_第2页
(计算机软件与理论专业论文)基于页面差异模式的ajax框架研究及应用.pdf_第3页
(计算机软件与理论专业论文)基于页面差异模式的ajax框架研究及应用.pdf_第4页
(计算机软件与理论专业论文)基于页面差异模式的ajax框架研究及应用.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

重庆大学硕士学位论文中文摘要 摘要 网络应用程序的开发模式正在经历着一个从胖客户端到瘦客户端,又逐渐回 归到“胖”的这样一个螺旋式渐进发展的过程。目前大有b s 应用程序即将取代 c s 应用程序的趋势。但是b s 应用程序受制于h t m l ,无法像c s 那样使用丰富 的效果来展示数据,用户体验比较糟糕。此时,具有高度交互性和丰富用户体验 的网络应用程序一黜c hi n t e r a c ta p p l i c a t i o n ( r t a ) 应运而生。a j a x 是一种目前得 到广泛认可的r i a 技术,该技术基于标准的w e b 开发技术构建,无需额外下载组 件,具有良好的兼容性,应用部署简便。a j a x 开发涉及多项技术,其中特别是 j a v a s c r i p t 难于调试,a j a x 框架则将这些技术进行封装以简化程序开发。a j a x 框架 的出现促进了a j a x 技术的进一步发展。 a j a x 属于w e b 开发技术的新领域,a j a ) 【框架更是如此。现有a j a g 框架各有 优缺点,其在稳定性( 比如对a s e n e t2 0 新控件的支持度等) 和运行效率上都有 待提高。为了提高a j a x 应用系统运行效率,本文首次提出了基于页面差异 ( p a g e d i f f e r e n c e ) 模式实现a j a x 框架( 简写为p d a j a x ) ,该框架根据w e b 网页 可能存在多次访问和响应的特点,利用w e b 服务器及浏览器端的数据缓存减少每 次请求及响应所需要传输的数据量,从而提高页面响应效率,减轻网络带宽负荷。 同时,本文还将w e b 可访问性技术引入页面差异模式a j f i x 框架,探讨了相关的可 访问性问题及改进措施。 论文所做的主要工作有: 分析了a j a x 技术发展的背景及现状,根据w e b 应用的发展特点,对a j a x 及其它r i a 技术进行了对比分析,指出a j a x 的优势和需改进的地方。 深入研究了i i s 服务器运行机理,分析了h t t p m o d u l e 、h t t p h a n d l e r 的运行 原理及编写方法,阐述了利用这两个对象构建a j a x 框架的方法。 对比分析了现有a j a x 框架的优缺点,提出基于页面差异模式实现a j a x 框 架。该框架通过在浏览器和服务器两端对数据进行差异计算和传输,可以明显提 高页面请求和响应效率。 分析了a j a x 应用可访问性问题,将相应的解决办法和改进措施引入页面 差异模式a j a x 框架中,在简化程序开发的同时提高了应用程序的可访问性。 利用页面差异模式a j a x 框架解决了积分换宝网站中的用户邮箱验证、省 市数据联动等实际问题,提高了系统响应效率,实际运行效果良好。 关键词:a j a x ,r i a ,a j a x 框架,可访问性,电子商务 重庆大学硕士学位论文英文摘要 t h ed e v e l o p m e n to fn e t w o r ka p p l i c a t i o np r o g r a me x p e r i e n c e sag r a d u a l l ys p i r a l p r o c e s si nw h i c hc l i e n ta p p l i c a t i o nc h a n g e sf r o mf 乱t ot h i n 。a n dt h e nr e t u r n st of a t c u r r e n t l yt h e r ei sat r e n dt h a tt h ea p p l i c a t i o no fb sw i l ls o o nr e p l a c et h ea p p l i c a t i o no f c s b u tb sa p p l i c a t i o np r o g r a mi se n s l a v e dt oh t m la n dc a nn o td i s p l a yd a t aw i t h a b u n d a n te f f e c t sl i k ec s ,s ou s e r sf e l lt o ob a d a n dt h e nak i n do fa p p l i c a t i o np r o g r a m c a l l e di u c hi n t e r n e ta p p l i c a t i o n ( r i a ) e m e r g e dw h i c hh a sb e r e ri n t e r a c t i o na n dp l e n t y u s e re x p e r i e n c e a j a xi sak i n do fr i at e c h n i q u ew h i c hi sa p p r o b a t e db r o a d l y , a n di s b u i l ta c c o r d i n gt ot h es t a n d a r dt e c h n i q u e so fw e b a si tn e e d n td o w n l o a da d d i t i o n a l m o d u l eo rc o n t r o l ,a j e xh a sg o o dc o m p a t i b i l i 锣a n de a s yd e p l o y m e n t 。a j a xp r o g r a m i n v o l v e ss e v e r a lt e c h n i q u e s ,e s p e c i a l l yt h ej a v a s c r i p ti sd i f f i c u l tt od e b u g a j a x f r a m e w o r ks i m p l i f i e st h ep r o g r a mb yp a c k i n gt h e s et e c h n i q u e s d e t a i l s w i t ht h e d e v e l o p m e n to f a j a xf r a m e w o r k ,a j a xi sb r o a d l yu s i n g i nt h ef i e l d so f w e ba p p l i c a t i o n a j a xi san e wt e c h n i c a li nt h ef i e l d so f w e bd e v e l o p m e n t , a j a xf r a m e w o r ki sa l s o a j a xf r a m e w o r k se x i s t e dh a v es o m em e r i t sa n df a u l t s ,n e e dt or i s ei nt h ef i e l d so f s t a b i l i t y ( f o re x a m p l e , s o m ef r a m e w o r k sc a n ts u p p o r ta s e n e t 2 0n e wc o n t r o l s ) a n d e f f i c i e n c y i no r d e rt oi m p r o v et h ee f f i c i e n c yo fa j a xa p p l i c a t i o n , t h i sp a p e rp u t s f o r w a r dt ob u i l da j a xf r a m e w o r kb a s e do np a g e - d i f f e r e n c em o d e l ( p d a j a x ) f o rt h ev e r y f i r s tt i m e c o n s i d e r i n gw e b p a g e sm a ye x p e r i e n c em a n y t i m e so fr e q u e s ta n dr e s p o n d , w em a k eu s eo fw e bs e r v e ra n db r o w s e r sc a c h et or e d u c et h ed a t as i z eo fr e q u e s ta n d r e s p o n s e ,t h u si m p r o v et h ee f f i c i e n c yo fp a g e s sr e s p o n s ea n dr e d u c et h eb u r d e no f n e t w o r kb a n d w i d t h a tt h es a l n et i m e ,t h i sp a p e ri n t r o d u c e sa c c e s s i b i l i t yi n t op d a j a x f r a m e w o r k ,a n dt h e ng e t ss o m ei m p r o v e m e n tm e a s u r e s m a i n l yw o r ki sa b o u t : a 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 fw e ba p p l i c a t i o n sd e v e l o p m e n t ,t h i sp a p e r a n a l y z e st h eb a c k g r o u n da n da c t u a l i t yo fa j a x ,a n dm a k e sac o n t r a s tt oa j a xa n do t h e r t e c h n i q u e so f r i a ,t h a ni n d i c a t e sa j a x sa d v a n t a g ea n ds h o r t c o m i n g a f t e rd e e p l ys t u d y i n gi i s sm e c h a n i s m , w ea n a l y z eh t t p m o d u l ea n d h t t p h a n d l e r sp r i n c i p l ea n dh o wt ob u i l da j a xf r a m e w o r ku s i n gt h e s et w oo b j e c t s b ya n a l y z i n gt h em e r i ta n ds h o r t c o m i n go fe x i s t i n ga j a xf r a m e w o r k s ,w ep u t f o r w a r db u i l d i n ga j a xf r a m e w o r kb a s e do np a g e d i f f e r e n c em o d e w h i c hc a ni m p r o v e o b v i o u s l yt h ee f f i c i e n c yo fw e bp a g e s r e q u e s ta n dr e s p o n s eb yc a l c u l a t i n ga n d l i 重庆大学硕士学位论文英文摘要 t r a n s p o r t i n gt h ed i f f e r e n c eo f d a t aa tb r o w s e ra n dw e bs e r v e r a r e ra n a l y z i n ga c c e s s i b i l i t yo fa j a xa p p l i c a t i o n , h o m o l o g o u ss o l u t i o n sa n d i m p r o v e m e n tm e a s u r e s a t ei m p o r t e di n t o p d a j a xf r a m e w o r k s oa p p l i c a t i o n s a c c e s s i b i l i t yi si m p r o v e da tt h et i m eo f s i m p l i f y i n gp r o g r a md e v e l o p m e n t w em a k e sn s eo fp d a j a xf r a m e w o r kt or e s o l v et h ep r a c t i c a lq u e s t i o n s , s u c ha s u s e r s se - m a i lv e r i f i c a t i o na n di n t e r a c t i v ec o m p o n e n t s t h ee x p e r i m e n t a lr e s u l t ss h o w t h ef e a s i b i l i t ya n da p p l i c a b i l i t yo f t h ep r e s e n t e dw o r k k e y w o r d s - a j a x ,r i a ,a j a xf r a m e w o r k ta c c e s s i b i l i t y ,e - c o m m e r c e 1 1 1 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取 得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文 中不包含其他人已经发表或撰写过的研究成果,也不包含为获得重庆太堂 或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本 研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名青、对红签字日期p 7 年中胪钼 学位论文版权使用授权书 本学位论文作者完全了解重庆太堂有关保留、使用学位论文的 规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许 论文被查阅和借阅。本人授权重废太堂可以将学位论文的全部或部 分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段 保存、汇编学位论文。 保密() ,在年解密后适用本授权书。 本学位论文属于 不保密( ) 。 ( 请只在上述一个括号内打“”) 学位论文作者签名许嘲红 签字日期:徊7年吁月珂日 导师签名: 签字日期:p :7 年年月巧日 重庆大学硕十学位论文1 引言 l 引言 1 1 研究背景和意义 网络应用程序的开发模式正在经历着一个从胖客户端到瘦客户端,又逐渐回 归到“胖”的这样一个螺旋式渐进发展的过程。随着软件开发技术的发展以及用 户需求的变化,u i ( 用户界面) 也随之体现为从重量级到轻量级,再回到重量级 的螺旋循环过程。用户对更多功能的需求使其逐渐向重量级发展;同时,用户对 易于安装、升级以及维护的需求又使其逐渐走向轻量级。在每一次循环中,“轻量 级”的用户界面得到了很多原本重量级中才有的功能,“重量级”的用户界面也同 时变得更加易于安装、升级以及维护。 c s ( 客户端服务器) 应用程序由于具有较强的客户端数据处理能力、丰富的图 形用户界面以及网络化等优点,在二十世纪九十年代随着w i n d o w s 和网络的发展 得到广泛应用。但是随着应用程序复杂程度的不断提高,c s 架构存在的部署成本 高、客户端应用程序更新困难等问题也日益显露出来。 由于c s 架构的应用程序存在种种弊端,九十年代中期,随着互联网飞速发 展,出现了b s ( 浏览器服务器) 架构的应用程序,w e b 的广泛使用解决了c s 应用 程序部署、和更新的困难。目前,软件开发模式主要以w e b 应用程序为主,而传 统的c s 模式已经日渐没落。但是b s 应用程序受制于h t m l 页面表现形式,无 法像c s 那样使用丰富的效果来展示数据,用户体验比较糟糕。随着w e b 应用程 序复杂性越来越高,传统的w e b 应用程序已经渐渐不能满足w e b 浏览者更高的、 全方位的体验要求,迫切需要w e b 应用程序也拥有丰富的客户端表现能力, m a c r o m e d i a 公司称之为的“体验问题”。r i a ( r i c hi n t e r n e t a p p l i c a t i o n ,即富因特 网应用程序) 正是为了满足这一需求而出现的一类新型技术。 r i a 是一种具高度互动性和丰富用户体验的网络应用程序【1 1 。“m c h ”代表程 序具有丰富的界面表现力,功能强大,高交互性,高用户体验。“i n t e r a c t ”代表方 便,应用程序部署、用户使用方便。其实r i a 仍然可以理解为一种基于w e b 的 c s 架构。由于有一个客户端,所以r i a 应用可以提供强大的功能,让用户体验 到高交互性,高用户体验。同时,r i a 又是基于i n t e r a c t 浏览器的应用,所以,用 户使用r i a 非常方便。理想来说,用户使用r i a 应当像现在使用普通网页一样方 便。用户不需要安装任何的客户端软件,只要拥有适当的浏览器。当用户通过浏 览器发出指令,希望运行某种r i a 应用程序时,一切都会很快的建立在客户端机 器上,就像你在w e b 上点击一个页面一样。 a j a x 是一种目前得到广泛认可的r i a 技术。从根本上来说,a j a x 是一种基于 重庆大学硕士学位论文1 引言 浏览器的w e b 开发技术模型,该模型利用x m l h t t p r e q u e s t ( 简称x h r ) 、d o m 、 l a v a s c r i p t 、x m l 、c s s 等几项技术按一定的方式组合在一起共同协作发挥各自的 作用。因此可以认为a j a x 也是一种技术集成的方法,a j a x 混合h t m h 或x h t m l ) 和层叠样式表作为表达信息,利用文档对象模型( d o m ) 、j a v a s c r i p t 动态地显示 和与页面进行交互,通过x m l h t t p r e q u e s t 对象与w e b 服务器异步交换和处理数 据,是一种创建交互式w e b 应用程序的开发方法。 a j f i x 技术打破了使用页面重载的惯例,在不加载整个页面的情况下使用客户 端脚本与w e b 服务器异步交换数据并更新w e b 页面( 即页面无刷新技术) 【l 】,从 而不用打断用户交互流程,提高w e b 请求响应效率,给用户带来良好的浏览体验。 因此,用户可以使用到接近本地桌面应用的直接、高可用、更丰富、更动态的w e b 用户界面。也正因为a j a x 技术带来的良好的用户体验,目前基于该体系的网络应 用将会越来越多。在面向消费者的诸多应用当中,g o o s e 的g o o s em a p s 就是最 常见的例子:在m a p s 当中,a j a ) 【允许用户以一种似乎无缝的方式拖拉及滚动地图。 这些u i 都充分地使用了后台通道,也被一些开发者称为w e b2 0 。 如前所述,a i a x 应用程序的开发设计到x m l h t t p r e q u e s t 、d o m 、j a v a s c r i p t 、 等多项技术,其中特别是j a v a s c r i p t 缺乏比较完善的集成开发工具导致代码的编写 和调试都比较困难。a j a x 框架就是为了简化开发难度对a j a x 开发细节进行封装的 一种技术。同时又由于a a x 应用程序必须使用j a v a s c r i p t 、x m l h t t p r e q u e s t 等技 术进行异步数据访问和更新等操作,引起了人们关于a j a ) 【是否符合可访问性相关 规定的讨论。这也是国外非常热门的一个研究领域。美国在这个领域有着非常深 入的研究,并且对于一些公共机构网站的可用性还有相关的法律条款来约束【2 】。但 国内在该领域还处于起步阶段,意识、法规都有待完善。另外,a j a x 在w e b 应用 程序中的广泛应用也带来了新的安全性问题,半数以上的a j a x 安全风险来自隐含 在服务器中的漏洞。显然,使用安全编码技术的好的设计,对于更安全的a j a x 大 有帮助。但是仍然需要面对许多额外的因素;新的技术、非传统方式的设计、脚 本语言、跨域攻击等等。 针对以上问题,迫切需要考虑如何降低a j a x 开发门槛( 比如:a j a x 框架) 以 促进该技术的推广应用,同时还需要将可访问性、安全性等问题考虑到a j a x 应用 程序的开发过程中,特别是现代电子商务网站系统,既要用优异程序性能吸引用 户,又要保证系统的安全性等各方面要求。因此传统的基于静态h t m l 的w e b 应用 程序已无法适应这一发展要求,需要有较高安全性、可访问性、并且响应迅速的 w e b 开发技术来进行w e b 程序的开发,a j a ) 【等r i a 开发技术正好符合了这一发展 需求。 此研究课题通过对现有a i a x 框架的研究,提出基于页面差异模式设计并实现 2 重庆大学硕士学位论文1 引言 简单的、易于使用的a j a x 框架,同时进行a j a x 框架及应用程序的可访问性、安全 性问题的研究。从而达到简化a j a x 应用程序开发、促进r i a 开发技术发展的目的。 最后基于该a j a x 框架实现了具有丰富界面表现力、良好的用户体验以及高互动性 的积分换宝商业网站系统。 1 2 国内外发展现状 a j 瓢是当前网络研究的热点,该技术在不加载整个页面的情况下异步更新 w e b 页面( 即页面无刷新技术) ,从而提高w e b 请求响应效率,给用户带来良好的 浏览体验。随着用户对w e b 应用程序功能以及界面需求的不断提高,富因特网应 用程序越来越受到人们青睐,a j a x 作为构建供r i a 的有力工具简化了富因特网应 用程序的开发【”,因此得到了广泛应用。 如何将a j a x 进行封装以简化w e b 应用程序开发,提高开发效率是目前研究设 计的热点。同时由于a j a x 应用程序必须使用j a v a s c r i p t 、x m l h t t p r e q u e s t 等技术 进行异步数据访问和更新等操作,从而引起人们关于a j a x 是否符合可访问性相关 规定的讨论。这也是国外非常热门的一个研究领域。美国在这个领域有着非常深 入的研究,并且对于一些公共机构网站的可用性还有相关的法律条款来约束。另 外,a j a 】【在w e b 应用程序中的广泛应用也带来了新的安全性问题,这些都是a j a x 目前研究的热点问题。 为了提高对w e b 可访闯的指导,w 3 c 在2 0 世纪9 0 年代建立了w e b a c c e s s i b i l i t yi n i t i a t i v e ( w a i ) ,该组织致力于为网站建造者提供实现可访问性的方法 和策略( h t t p :w w ww 3 o r g w a i i g l ) 。目前已有部分提供a j a x 技术的商家开始 致力于解决a ja ,【可访问性问题。b i n d o w s 已经宣称其兼容美国康复法案5 0 8 节规 定,这意味着利用b i n d o w s 构建的a j a x 应用程序可以满足美国政府和国际可访问 性标准的要求【2 】。i b m 公司也一直致力于w 3 c ( w o r l d w i d e w e b c o n s o r t i u m ) 可访问 性,特别是富因特网应用程序可访问性标准的制定【引。但国内在w e b 可访问性领 域还处于起步阶段,意识、法规都有待完善。 正是由于a j a x 技术极大地改善了w e b 用户的交互体验,可以最终得到了用户 和市场的广泛认可。所以大量的业界巨头已经采纳并且在大力推动这个技术的发 展。最近的动态包括: m m 、o r a c l e 、y a h o o ! 、b e a 、r e d i t a t 、n o v e l l 等业界领先的公司启动了 o p e n a j a x 项目,致力于为a j a x 开发建造先进强大的的开发工具。 微软开发了自己的a j a ) 【框架a s p n e ta j a x ( 原a l t a s ) ,该技术主要在 a s e n e t 框架内与服务器端的w e bs e r v i c e 配合工作,目前最新版本已经提供了功 能强大的u p d a t e p a n e l 控件。但该框架过于复杂,学习曲线较高且功能不稳定还处 3 重庆大学硕七学位论文1 引言 于不断完善中。 s u n 虽然行动迟缓,但是也将a j a x 技术列入了j 2 e e 的蓝图中,作为j 2 e e 技术的有益的补充。 除了上述这些公司之外,g o o g l e 公司不可不提,因为正是他们率先采用a j a x 技术建造出了一大堆非常出色的应用,才将a j a x 技术引到了聚光灯下。g o o g l e 公 司建造的a j a x 应用包括g o o g l em a p s 、g m a i l 、g o o g l es u g g e s t 等等。其中公认最 优秀最复杂的a j a x 应用是g o o g l em a p s 。由于完全基于h j a x 技术来建造g o o g l e m a p s 的界面,g o o g l em a p s 提供了远远超越其竞争对手的地图服务。如果说g o o g l e 后台的地图技术并不存在巨大优势的话,那么a j a x 技术和优秀的交互设计成为了 他们压倒竞争对手的最后一根稻草。最终使得g o o g l em a p s 脱颖而出,获得了用户 的青睐。 综上所述,a j a x 技术在当前w e 信息化建设的浪潮中由于可以极大提高程序 效率,带来良好的用户体验,吸引客户,己经成为人们谈论最多的技术术语。甚 至己经成为了w e b 应用的主流开发技术。但是目前的a j a x 技术工具,比如b i n d o w s 没有按照“按需获取数据”的原则加载客户端代码,不利于应用程序优化;微软 的a s p n e ta j a x 功能不稳定还处于不断完善阶段。因此如何构建a j a x 框架封装 开发的技术细节以简化a j a x 开发难度,提高开发效率,将是本课题要集中设计、 研究的重要方向;另外a j a x 应用程序所涉及的可访问性、安全性问题也将是本课 题将要关注的一个重要问题。 1 3 本文的工作与创新 本文在探讨a j a x 关键技术的基础之上,详细分析了, n e t 平台页面差异模式 a j a x 框架原型的实现过程,同时探讨了a j a x 相关的可访问性问题,最后结合一个 实际的项目“积分换宝”商务网站系统,讨论了在系统中如何利用页面差异模式 框架实现h j a x 技术。 a j a x 技术极大地改善了w e b 用户的交互体验,可以最终得到了用户和市场的 广泛认可,具有广阔的市场前景。而对于软件开发者来说,一个简单好用的a j a x 框架则是至关重要的,因此论文重点探讨了页面差异模式a j a x 框架的原理和设计、 实现过程。同时尝试给出了a j a x 应用程序可访问性问题可能的解决措施。最后在 “积分换宝”商务网站项目中,我们利用a j a x 技术实现了地区编码的数据联动及 用户邮箱地址自动验证等技术,在实践中检验了理论,同时提升了用户体验,也 为其它a j a x 应用程序开发者以及a j a x 框架研究者提供了很好的借鉴意义。 主要探讨了以下问题: 第一章主要介绍了相关研究背景合意义、国内外研究发展的现状,并在此基 4 重庆丈学硕士学位论文1 引言 础上介绍了主要工作与创新。 第二章介绍了软件开发技术发展历程以及r i a 技术原理,通过对几类主流r i a 技术对比揭示了a j a ) 【在w e b 开发领域的重要地位,同时对r i a 的应用前景进行 了分析。 第三章分析了a j a x 的定义及原理,深入探讨了构建a j f i x 应用的关键技术,并 通过实际案例分析了各关键技术在a j r x 应用中所起的作用。随后得出了a j 驭应用 程序的优势和不足。 第四章对a j a x 框架的分类以及典型的框架进行了探讨。 第五章详细探讨了a r x 框架构建技术以及w e b 可访问性问题,然后提出基于 页面差异模式实现a j a ) 【框架,最后分析了a j a ) 【应用程序面临的可访问性问题,并 在页面差异模式a 诅x 框架实现了相应的改进可访问性的措施。 第六章主要结合实际应用需求,分析了a j a x 在“积分换宝”电子商务网站项 目中的应用,实现了地区编码的数据联动及用户呢称、邮箱地址自动验证等技术, 在实践中检验了页面差异模式a i a x 框架设计的有效性,验证了理论的可行性。 第七章为a j a x 技术总结与展望,对a j a x 技术进行了经验总结,并提出了技术 发展趋势和对未来工作的展望。 其中第五、六章是本文的重点,详细介绍了本文所做的研究工作。 重庆大学硕士学位论文2 r i a 技术发展研究 2 r i a 技术发展研究 2 1w - e b 开发技术发展 从最早期的基于主机模式到现在,企业级应用程序经历了几次系统架构方面 的重要转变,在此过程中,客户端的表现能力有起有落。用户界面以及客户端功 能不断地经历着从轻量级( 即瘦客户端) 到重量级( 胖客户端) ,再回到轻量级的 螺旋式循环过程。用户对更多功能的需求使其逐渐向重量级发展;同时,用户对 易于安装、升级以及维护的需求又使其逐渐走向轻量级。在每一次循环中,“轻量 级”的用户界面得到了很多原本重量级中才有的功能,“重量级”的用户界面也同 时变得更加易于安装、升级以及维护【4 】。 图2 ,1 分别从丰富性以及范围两个特征对网络应用程序系统架构的几个发展 阶段进行了比较,以便更加深入的了解w e b 应用发展的趋势和方向。丰富性是指 程序客户端数据模型所具有的交互性和用户界面的表现力;范围是指应用程序实 施后可达到的范围,即可供人们访问使用应用程序的范围。 时 号酱 g 剞 譬匿 星辣 h 8 黉 三埒 t e x tu i 文字界面 r i c h 丰富性 g u i 图形用户界面 图2 1 w e b 开发技术发展 f i g 2 1d e v e l o p m e n to f w e bp r o g r a mt e c h n i q u e 最早的网络应用程序出现在以大型计算机为中心的框架上,联入网络终端的 计算机以文本为主的非图形界面进行操作,这个时候的网络应用程序往往只有大 型公司或组织的内部人员才能进行访问和运行。这是最简单的一种架构,目前己 经很少采用。 6 重庆大学硕士学位论文2 r i a 技术发展研究 客户端服务器( c l i e n f f s e r v e r ,简称c s ) 架构是二十世纪九十年随着w i n d o w s 操作系统的出现和客户端处理能力的不断增强而出现的一种应用程序架构。c s 架 构的好处在于,客户端应用程序( 当时主要是桌面应用程序) 采用图形用户界面, 提供可视数据模型用于用户交互,并且融合了选项卡、下拉菜单和数据网格等功 能,用户可以轻松使用各种强大的功能。但是基于c s 架构的应用系统在进行系 统升级的时候通常需要更新客户端上的应用程序,因此每次升级都需要做大量的 工作,部署成本比较高,维护费用很大。c s 架构目前仍然在不少企业组织的应用 系统中所采用,这些系统往往需要客户端应用程序拥有强大处理能力,而又仅为 内部使用不需要广泛使用。 九十年代中期,互联网( i n t e r n e ! t ) 的出现作为1 1 r 界发展的一个里程碑,同时 促进了企业级应用程序的发展。通过互联网,人们除了可以简单的利用互联网进 行各种内容的交流外,还可以将文档和信息发布给世界各地的其他用户。因此互 联网开始应用于企业级应用程序的开发,即浏览器服务器( b r o w s e r s e r v e r ,简称 b s ) 架构。 互联网的广泛使用有效的解决了基于c s 架构的应用程序部署成本高和更新 困难等问题,基于b s 架构的企业级应用程序实施部署方便,升级维护通常仅需 要升级w e b 服务器程序即可。用户只需要有一台可以连接互联网的计算机以及合 适版本的浏览器,不需要安装额外的客户端程序,即可通过互联网访问和使用b s 应用程序。虽然b s 架构应用程序有诸如界面表现力、交互性等一些问题,但是 由于其在安装部署、维护等方面所展现出来的优越性能,b s 架构仍然成为了基于 互联网应用系统所采用的主流架构,而传统的c s 架构已经日渐没落。 c s 架构的缺点主要是部署、升级维护以及大范围协作等问题。b s 架构的缺 点主要是受制于h t m l 页面表现形式,无法像c s 那样使用丰富的效果来展示数 据,用户体验比较糟糕。由于b s 架构缺乏强劲的客户端,导致客户端应用程序 的丰富性受到较大限制,c s 架构的强大交互性无法实现。传统的b s 网络程序的 开发是基于页面与服务器端数据传递的模式,把网络程序的表示层建立于h t m l 页面之上。而h t m l 是适合于文本的,传统的基于页画的系统已经渐渐不能满足 网络浏览者的更高的、全方位的体验要求了,这就是被m a e r o m e d i a 公司称之为的 “体验问题”,而富因特网应用程序正是为了满足这一需求而出现的一类新的技 术模型。 传统的因特网模型使用线性的设计,提供给用户一些选择然后用户发送选择 结果给服务器,这种单一的模式不符合应用程序灵活交互的要求和用户的意愿。 频繁的服务器请求和页面刷新有很多的缺点,例如:页面打开缓慢,服务器响应 影响整个界面等。如果采用富客户界面,只有收到请求的应用程序部分才会做出 相应的变化。这本质上意味着界面被分解成许多独立的模块,这些模块都会对收 到的信息做出相应的反应,有些模块会与服务器端进行交互,有些模块负责与服 7 重庆大学硕士学位论文2 r i a 技术发展研究 务器之问的通信。 从c i s 架构到b 撂架构,这两者受限于技术本身分别发展成了重客户端和重 服务器端的架构,而r i a 技术的出现,给我们带来了重新在客户端和服务器端进 行更好平衡的机会。经过那么多年无法在客户端直观体验的痛苦,玎业界普遍开 始意识到,只有将互联网的广泛应用和丰富的用户界面结合起来,才能同时实现 两方面的优势,这就是r 队技术诞生的初衷。r i a 技术既能够广泛传播,又能够 轻松发布和维护,更拥有强大直观的用户体验感受,因而将为选择r i a 技术的企 业组织带来非常大的商业利益。在过去几年中,i t 业界中的各种r i a 技术已经显 著成熟,尤其是f l e x 、a j 8 x 等,富因特网应用是w e b 发展的必然产物,也是w e b 应用发展的趋势和方向。 2 2 a 技术研究 2 2 1 什么是r i a r i a 是将桌面应用程序的丰富用户体验与w e b 应用程序的低成本部署和灵活 性结合起来的新一代网络应用程剧“,其应用程序模型如图2 2 所示。r i a 中的r j c h c l i e n t ( 富客户端) 技术通过提供可承载已编译客户端应用程序( 以文件形式,用 h t t p 传递) 的运行环境,客户端应用程序使用异步c s 架构连接现有的后端应用 服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模 型由采用的w e b 服务所驱动。结合了声音、视频和实时对话的综合通信技术使r i a 具有前所未有的网上用户体验。r i a 具有下一代w e b 应用的特征,具有前所未有 的网上用户体验。 l 应用程序客户端、f 客l a 户s h 层。,。和其它。l 表现层 a s p j s p ,s e r v l e t s 和其它u i 元紊 连接当盏雾对象连接到业务对象 ; 连捌旒统艨 1 l数据库、外秦渠曩和传统系统 i 数据库、外部系统和传统系统 图2 2 r i a 应用程序模型 f i g2 2m o d e lo f r i a 重庆大学硕士学位论文2 i u a 技术发展研究 “砒c h ”的概念包含两方面,分别是数据模型的丰富和用户界面的丰富。数据 中“r i c h ”的意思是用户界面可以显示和操作更为复杂的嵌入在客户端的数据模 型,它可以操作客户端进行计算和非同步的发送接收数据,可以让程序开发者有 更大的空间去创建更高效、更具有交互性的网络应用程序。“耻c h ”同样也描述了 全面提升的用户界面,h t m l 只给用户提供了非常有限的界面控制元素,而富因 特网应用程序为用户界面提供了灵活多样的界面控制元素,这些控制元素可以很 好的与数据模型相结合。 2 2 2 主流r j a 技术研究 在过去的两到三年中,w e b 开发人员一直试图能够平衡胖客户应用与瘦客户 应用之间的优缺点以构建一种比传统h t m l 更丰富的客户端:它比用h t m l 能实 现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。r i a 技术 的出现允许我们在因特网上以一种像使用w e b 一样简单的方式来部署富客户端程 序。无论将来r i a 是否能够如人们所猜测的那样完全代替h t m l 应用系统,对于 那些采用c s 架构的胖客户端技术运行复杂应用系统的机构和采用基于b s 架构 的瘦客户端技术部署w e b 应用系统的机构来说,r i a 确实是一种理想的选择。下 面是目前出现的几种比较有实力或者有特点的r i a 开发技术。 a j a x 在过去,由于为了获得新数据而不得不重新加载w e b 页面( 或者加载其它页 面) 导致w e b 应用程序的发展被限制。虽然有其它方法可用( 比如框架) ,但是这 些技术没有被很好地支持。a j a x 通过异步数据交换和处理,可以显著提高w e b 应 用程序交互性和用户体验,给w e b 开发者带来了新的希望。利用该技术可以在w e b 应用中构建界面丰富、交互性强的r i a 应用程序,可以有效消除胖客户应用与瘦 客户应用之间的界刚5 1 。 a j a x 其实是多种技术的综合,该技术混合h t m l ( 或x h t m l ) 和层叠样式表作 为表达信息,利用文档对象模型( d o m ) 、j a v a s e r i p t 动态地显示和与页面进行交 互,通过x m l h t t p r e q u e s t 对象与w e b 服务器异步交换和处理数据,是一种创建 交互式w e b 应用程序的开发技术。在a j a ) 【提出之前,业界对于上述技术都只是单 独的使用,没有综合使用,随着g o o g l e 在g o o g l el a b s 发布g o o g l em a p s 和g o o g l e s u g g e s t ,这个技术才真正为人所认识。a j a x 基于标准的w e b 开发技术构建,具有 较高的兼容性,易于推广使用,是一种目前得到广泛认可的r i a 技术。因此本文 将在后续章节详细介绍该技术的原理以及框架的设计和实现。 m a c r o m e d i af l a s h f l e x f l a s h 从6 0 开始就逐步具备建立窗体风格应用程序的功能。据m a c r o m e d i a 称 己经有9 8 以上的桌面系统的浏览器都安装了m a c r o m e d i af l a s hp l a y e r 。这使得以 9 重庆大学硕士学位论文2 r i a 技术发展研究 m a c r o m e d i af l a s hp l a y e r 为客户端的r i a 可以支持种类广泛的平台和设备。利用 f l a s h ,设计人员可以创建令人惊叹的动态应用。公司可以在w e b 上发布高度交互 性的应用,几乎与胖客户应用相差无几。不同于a p p l e t ,s e r v l e t 和c g i 脚本,f l a s h 不需要编程技巧,很容易上手。 f l e x 是为满足希望开发r i a 的企业级程序员的需求而推出的表示服务器和应 用程序框架,它可以运行于j 2 e e 和n e t 平台。f l e x 表示服务器提供基于标准的、 声明性的编程方法和流程,并提供运行时服务,用于开发和部署丰富客户端应用 程序的表示层。f l e x 开发者使用直观的基于x m l 的m x m l 来定义丰富的用户界 面。该语言由f l e x 服务器翻译成s w f 格式的客户端应用程序,在f l a s hp l a y e r 中 运行。 如上所述,f l a s h 需要客户端软件,虽然其普及率比较高,但是,并不是所有 的操作系统和浏览器上都内置有所需的s h o c k w a v e 播放器插件,即使能免费下载, 但由于担心同时携带病毒,使得许多用户都拒绝安装这个软件。另外,f l a s h 应用 可能还需要大量网络带宽才能正常地工作,由于缺乏广泛的宽带连接,这也在一 定程度上限制了f l a s h 的推广应用。还有就是使用完整的f l a s h 工具包需要按点付 费,每个点需要数百美元。尽管这些因素不是难以逾越的障碍,但它们确实

温馨提示

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

评论

0/150

提交评论