已阅读5页,还剩59页未读, 继续免费阅读
(计算机软件与理论专业论文)web中ajax应用的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学硕士学位论文 中文摘要 a i a x ( a s y n c h r o n o u sj a v a s c r i p ta n dx m l ,即异步j a v a s c r i p t 和x m l ) 是 一种w e b 应用程序开发的手段,它采用客户端脚本与w e b 服务器交换数据的 技术。a i a x 相当于在用户和服务器之间加了一个中间层,使用户操作与服务器 响应异步化。通过在用户和服务器之间引入一个a j a x 引擎,可以消除w e b 应用 的开始一停止一开始一停止这样的交互过程。a i a x 的应用与研究已经成为一大 热点,并涌现出了许多a j a x 框架,这也推动了a j 题在w e b 中的应用。 但是,至今也没有给出非常统一的a i a x 标准,这也阻碍了a j a x 在w e b 应 用中的发展,在国内a j 瓢技术的应用的成功案例也不是很多。 本文从介绍a j a x 的概念,主要思想以及它的工作原理入手,对其进行了深 入的研究;分析了a i a x 的应用领域,研究现状以及发展方向;并对实现a i a x 的关键技术进行了介绍:然后介绍了基于a i a x 技术的d w r ( d i r e c tw e b r e m o t i n g ) 框架,对其体系结构进行了分析。 最后实现了个基于d w r 框架的c r m 系统。它是一个典型的客户关系管 理系统。系统根据不同的权限连接到不同的客户数据库。客户管理活动执行的 具体信息,选择适当的会员群体执行活动。活动之后系统得到活动的反馈信息。 客户对活动的反馈数据进行分析,整理反馈信息后,导入到数据仓库中。 笔者使用a i a x 技术开发了分析数据模块和活动执行模块,详细的描述了开 发的步骤。在章节的最后,对系统的功能进行了测试,还对使用了a i a x 技术前 后的系统性能,进行了服务器负荷和网络流量的对比。 本文对在基于a i a x 模式下开发w e b 应用具有一定的实用价值。提出了一套 快速构建a j a x 应用的解决方案。使用委托和门面模式相结合的复合模式,隐藏 了服务器端逻辑的具体实现,降低了因页面直接访问服务器逻辑而引发安全问 题的可能性。使用x m l 文件作为信息的载体,减少了因为数据库不同而引起的 问题。 同时,在本文中提及的a i a x 的实现技术,紧跟当前w e b 开发技术的发展方 向,对同类课题的研究和应用都具有借鉴意义。 关键词:客户关系管理,d w r ,复合模式 武汉理工大学硕士学位论文 a b s t r a c t a j a x ( a s y n c h r o n o u sj a v a s c r i p ta n dx m l ) i sam e t h o dt h a ti su s e dt od e v e l o p w e ba p p l i c a t i o n s ,w h i c hu t i l i z e st h et e c h n i q u eo fd a t ae x c h a n g eb e t w e e nc l i e n t - s i d e s c r i p t sa n dw e ba p p l i c a t i o n s a j a xa c t sl i k ea m i d d l el a y e rb e t w e e nu s e r sa n ds e r v e r , w h i c ha s y n c h r o n i z e su s e r s o p e r a t i o n sa n ds e r v e rr e s p o n s e s a j a xc a nc l e a ru pt h e m u t u a lp r o c e s sl i k es t a r t - s t o p s t a r t s t o pi nw e ba p p l i c a t i o n sb yi m p o r t i n ga na j a x e n g i n eb e t w e e nu s e r sa n ds e r v e r t h ea p p l i c a t i o n sa n dr e s e a r c ho f a j a xh a v eb e c o m e af o c u s m o r e o v e r , l o t so fa j a xf r a m e w o r k sa r ec o m i n go u t ,w h i c hp r o m o t e st h e a p p l i c a t i o no f a j a x t ow e b a p p l i c a t i o n s h o w e v e r t h e r ei sn ou n i v e r s a ls t a n d a r df o ra j a xy e t ,w h i c hh a m p e r st h e d e v e l o p m e n to fa j a xi nt h ew e ba p p l i c a t i o n s i nt h ed o m e s t i ca r e a , t h e r ei sf e w s u c c e s s f u lc a s ei na j a xa p p l i c a t i o n s ,e i t h e r t h i st h e s i ss t a r t sw i t ht h ei n f f o d u c t i o no fa j i l kc o n c e p t ,t h em a i ni d e aa n d p r i n c i p l e n e x t , i ta n a l y z e st h ea j a xa p p l i c a t i o na r e a , r e s e a r c hs t a t u sa n dd e v e l o p m e n t o r i e n t a t i o n t h e ni tp r e s e n t st h ek e yt e c h n o l o g yo fd e v e l o p i n ga j a xa p p l i c a t i o n s f o l l o w i n gt h ep r e s e n t a t i o n ,i ts h o w st h ed w r ( d i r e c tw e br e m o t i n g ) f r a m e w o r k b a s e do nt h ea j a xa n da n a l y z e st h ed w rf r a m e w o r ks t r u c t u r e i nt h ee n d , i tc a r r i e so u tac r m s y s t e mb a s e do nd w r f r a m e w o r k i ti sat y p i c a l c l i e n tr e l a t i o n s h i pm a n a g e m e n ts y s t e m a c c o r d i n gt od i f f e r e n tu s e r s ,t h es y s t e m w i l lc o n n e c tt ot h ec o r r e s p o n d i n gc l i e n td a t a b a s e t h ec l i e n t sc a nm a n a g ea l lt h e i n f o r m a t i o nt oe x e c u t ec a m p a i g n ;t h ec l i e n t se a r lc h o o s et h ep r o p e rm e m b e r st oj o i n i nt h ec a m p a i g n w h e nt h ec a m p a i g ne n d s ,t h ec l i e n t sa n a l y z et h ef e e d b a c kf r o mt h e m e m b e r s a f t e rc l e a r i n gu pt h ei n f o r m a t i o n 。i tc a l li m p o r tt h ed a t ai n t ot h ed a t a w a r e h o u s e t h ea u t h o rd e v e l o p e da na n a l y s i sd a t am o d u l ea n de x e c u t i v ec a m p a i g nm o d u l e , d e s c r i b e dt h ed e v e l o p m e n tp r o c e s sm a t e r i a l l y a tt h ee n do ft h ec h a p t e r , t h ea u t h o r t e s t e dt h es y s t e mf u n c t i o n s ,s e r v e rl o a da n dn e t w o r kf l u x ,c o m p a r e dw i t hn o - a j a x s y s t e m t h et h e s i si sv a l u a b l ef o rd e v e l o p i n gt h ew e ba p p l i c a t i o n sb a s e do na j a x i t 武汉理工大学硕士学位论文 p r o v i d e sas o l u t i o ns c h e m et h a t 啪a c c o m p l i s ha j a xa p p l i c a t i o n sq u i c k l y o nt h e p l a t f o r m i th i d e st h ei m p l e m e n to fb u s i n e s sl o g i ci ns e r v e rs i d ew i t ht h ec o m p o u n d p a t t e r nt h a tc o m b i n e db u s i n e s sd e l e g a t ea n ds e s s i o nf a c a d ep a t t e r n ,a n dr e d u c e st h e p o s s i b i l i t yt h a ti tw o u l dc a u s ed a n g e rb e c a u s eo fv i s r i n gb u s i n e s sl o g i cf r o mp a g e d i r e c t l y i tu s e sx m l t oc a r r yo u ti n f o r m a t i o n ,w h i c ha v o i d st h ep r o b l e m sc a u s e db y d i f f e r e n td a t ar e s o u r c e m e a n w h i l e ,t h er e a l i z a t i o na j a xt e c h n o l o g ym e n t i o n e di nt h i sp a p e r , w h i c hi s c o i n c i d e n tw i t ht h e d e v e l o p m e n td i r e c t i o n o fw e b d e v e l o p i n gt e c h n o l o g y ,i s m e a n i n g f u lf o rs o m er e l e v a n tr e s e a r c hi nt h er e l a t e dd o m a i n k e y w o r d :c u s t o m e rr e l a t i o n s h i pm a n a g e m e n t ,d w r , c o m p o u n dp a t t e r n h i 武汉理工大学硕士学位论文 1 1 课题背景 第1 章引言 q a x ( 异步j a v a s c r i p t 和x m l - - - - - - a s y n c h r o n o u sj a v a s c r i p ta n dx m i ,一的 缩写) 是一种对传统w e b 应用模式加以扩展的技术,它使得“不切换页面向服务 器发起请求”成为可能f 1 i 。 自从w e b 诞生之日起,就有两件事情直需要开发者们解决: h t i p 连接是无状态的; 无法在页面内部调用服务器逻辑。 “无状态”的问题很快就被解决了:可以使用c o o k i e 和服务器存储的s e s s i o n 来识别用户。 第二个问题就没有那么容易解决了。 和 标签在一定程度上 提供了解决之道,但是它们的缺点是太难使用很多w e b 开发者几乎都要为 编写这样的代码付出很多的劳动。有人发明了 标签,但是同样未能解决 这个问题。 当o p e n g l 加速的图形用户界面风靡桌面的时候,大部分w e b 应用看起来 却还像是跑在2 0 世纪6 0 年代的终端机一样。 如今的w e b 应用技术不再能够胜任更为高级的应用环境,尤其是某些领域 的应用系统( 如快速实时交互、复杂数据处理的系统) 。 当前框架的运行机制是这样的:服务器端需要客户端发送进一步的请求才 能迸行下一步的处理,客户端需要服务器端做出跟进的响应后,才能进行下一 步的操作。而复杂的应用系统往往需要客户端频繁地提交和存取网页,来与服 务器端协同工作,以完成一项事务的处理。这就导致w e b 应用程序的运行速度 非常缓慢,使用户难以接受。 如何快速响应用户的请求,减轻服务器的负载,平衡应用的资源,成为一 个非常重要的研究领域。 现在已经有比较成熟的使用a j a x 开发的应用,如:g m a i l ,g o o g l em a p s 或 者g o o g l es u g g e s t 这些页面用起来就像桌面应用一样。有了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 应用的一个热点问题。 1 2 课题研究的目的、意义 1 2 1 课题研究的目的 在实际的w e b 应用中,当用户跟服务器交流的时候,服务器需要处理大量 的请求,更新用户的页面,消耗了大量的网络资源。而且客户端的资源没有被 充分利用。现在通过使用a j a x 技术把以前一些服务器承担的工作,转嫁到客户 端。有利于使用客户端闲置的资源来处理一些服务器端的任务,从而达到减轻 服务器负载和带宽负担的目的。 本课题将设计一个基于d w r ( d i r e c tw e br e m o t i n g ) 框架的w e b 应用,提 出b u s i n e s sd e l e g a t e 模式和s e s s i o nf a c a d e 模式相结合的复合模式,整合d w r 框架与复合模式,提供开发w e b 应用的快速解决方案。为重构原有的w e b 应用, 在应用中使用a j a x 技术提供了一套新的解决方案。 1 2 2 课题研究的意义 本课题提出一套开发基于a j a x 技术的w e b 应用快速解决方案,它将加快基 于a j a x 技术的w e b 应用的开发速度。减少w e b 应用在实际中响应客户请求的 时间。减轻w e b 应用中服务器端的负载和带宽的消耗。 1 3 当前国内外研究现状分析 1 3 1 国内a j a x 技术在w e b 应用中的研究现状 国内对a j a x 的应用大多停留在使用j a v a s c r i p t 的技术层面上,而没有完全在 系统设计的初期,就把a j a x 技术作为设计的因素加入进去。大多数的应用都采 2 武汉理工大学硕士学位论文 用的是j a v a 做为开发语言,因为它有着良好的可移植性。 多数j a v a 开发人员已经把模型视图控制器( m v c ) 模式应用在它们的 w e b 应用程序上。在传统的w e b 应用程序中,视图组件由j s p 或者其他表示 技术构成。这些全新生成的h t m l 页面,替代用户以前正在查看的页面,从而 更新用户界面【2 】。 但是,在j a v aw e b 应用程序使用a j a xu i 的情况下,基于 x m l h t t p r e q u e s t 的响应接收到的数据,j a v a s e l i p t 客户端代码对于更新用户看 到的内容负有最终责任。从服务器的角度来看,视图成为它响应客户机请求而 发送的数据表示。a j a x 打破了固有的交互模式,使响应用户请求异步化( ,j 。 国内有使用a j a x 技术比较成熟的w e bu i ,例如:雅虎中国的w e b 应用及其 它的邮箱试用版。 在c r m 领域,现在大多数的还是采用c s 模式,因为c 熔模式可以快速的 响应用户的请求,但是c s 模式的弊端是:部署和升级系统都比较繁琐。 1 3 2 国外a j a x 技术在w e b 应用中的研究现状 目前,a j a x 技术受到重视是因为在2 0 0 4 和2 0 0 5 年出现了一些基于a j a x 技术的非常棒的动态w e bu i ,最著名的就是g o o g l e 的g m a i l 和m a p s 应用 程序,以及照片共享站点f l i c k r 。这些用户界面具有足够的开创性,有些开发人 员称之为“w e b2 o ”,因此对a j a x 应用程序的关注度飞速上升。g o o g l e 的w e b u i 技术重新让人们关注起w e b 应用的交互性。 框架的层出不穷也引发了a j a x 的快速发展,常用的框架有【4 】: 1 ) d w r ,利用d w r 可以从j a v a s c r i p t 直接调用j a v a 方法,就好像它们是 浏览器的本地方法一样。尽管后台严格限制为j a v a ,但d w r 依然很流行。d w r 配置文件制定了可以远程创建和调用哪些类,而且在文档中警告用户:从浏览 器调用服务器确实存在一些安全问题。除了包含服务器端代码的j a r 文件外, 另外还有两个j a v a s c r i p t 文件包含了一些辅助函数。d w r 适用于一些常见的w e b 框架,如s t r u t s 和t a p e s t r y 。其发布得到a p a c h e 许可。 2 ) a j a x s l t 是一个典型的框架,基于g o o g l em a p s 的工作,g o o g l e a j a x s l t 是使用x p a t h 的x s l 转换( x s lt r a n s f o r m a t i o n s ,x s u ) 的一个 j a v a s c r i p t 实现。x s l t 可以把x m l 文档转换为其他语言,如h t m l 。a j a x s l t 允许适用j a v a s c r i p t 在浏览器上直接完成这些转换。g o o g l ea j a x s l t 在所有主 3 武汉理工大学硕士学位论文 要浏览器上都能工作,它的发布得到了b s d ( b e r k e l e ys o f t w a r ed i s t r i b u t i o n ) 的 许可。这个工具包很小,包括几个j a v a s c r i p t 文件,还有一些方便的测试页。 3 ) b r o c a d e 是一个开源的a j a x 框架( 或叫j a v a s c r i p t 功能包) ,基于p r o t o t y p e 框架构建了常用的w e b 页面组件,通过这些组件局部渲染w e b 页面,快速创建 w e b 系统。b r o c a d e 是跨浏览器的框架,支持f i r e f o x 、m o z i u a 、n e t s c a p e 和。 4 ) d o j o 与其它a j a ) ( 框架相比,d o j o 设计的包加载机制和模块化( l i b r a r i e s ) 的结构,能保持更好的扩展性,提高执行性能,减轻了用户开发的工作量,并 保持一定的灵活性( 用户可以自己编写扩展) 。 除了上面介绍的5 种框架之外,还有很多a i a x 的框架,例如:e c h o2 , a j a x n e t ,r u b yo nr a i l s 等等。 基于浏览器的应用框架一般分为两种: a p l i c a t i o nf r a m e w o r k s :提供了浏览器功能,但其最著名的还是在于通过窗 口生成组件建立桌面g u i 。 i n f r a s t r u c t u r a lf r a m e w o r k s :提供基本的框架功能和轻便式浏览器端操作, 让开发者去创建具体应用,主要功能包括: ( 1 ) 基于x m l h t t p r e q u e s t 组件的浏览器交互功能; ( 2 ) x m l 解析和操作功能: ( 3 ) 根据x m l h t t p r e q u e s t 的返回信息进行相应的d o m 操作; ( 4 ) 一些特殊情况下,和其他的浏览器端技术如f l a s h ( 或j a v aa p p l e t s ) 等集合到一起应用。 1 4 论文的体系结构 本论文内容的章节安排如下: 第1 章引言部分简介本课题的研究目的、意义以及内容。与此同时,还介 绍了当前本课题国内外相关的研究现状。 第2 章对a j a x 技术的基本概念、体系结构及其原理、关键技术,应用领域, 研究现状,发展方向做了详细的介绍。 第3 章介绍了d w r 框架,首先阐述了d w r 框架产生的背景,d w r 框架 产生的原因,然后对d w r 框架进行了概述,总结了使用d w r 框架的优点。 第4 章首先对w e b 应用进行了概述,然后描述了w c b 应用的特性。本章分 4 武汉理工大学硕士学位论文 析了a j a x 技术在c r m 系统中应用的现状及其趋势。最后提出了一种基于d w r 框架的c r m 系统的整体架构。 第5 章实现了一个基于d w r 框架的c r m 系统。首先,对c r m 系统的特 性做了介绍,然后阐述了c r m 系统的功能模型。紧接着,说明了开发c r m 系 统的环境和工具。接下来,介绍了系统的主要功能实现,以及主要的流程及操 作。 最后对使用a j a x 技术后的c r m 系统进行了测试,而且与传统的b s 模式 进行了对比,证明将a j a x 技术引入到c r m 应用中是比较成功的。 第6 章是结论部分,主要对论文工作做了总结,并对今后的工作做了展望a 5 武汉理工大学硕士学位论文 第2 章a j a x 技术简介 术语a j a x 用来描述一组技术,它使测览器可以为用户提供更为自然的浏览 体验。在a i a x 之前,w e b 站点强制用户进入提交,等待,重新显示范例,用户的 动作总是与服务器的“思考时间”同步。a i a 】【提供与服务器异步通信的能力,从 而使用户从请求响应的循环中解脱出来。借助于a j a x ,可以在用户单击按钮时, 使用j a v a s e r i p t 和d h t m l 立即更新u i ,并向服务器发出异步请求,以执行更 新或查询数据库。当请求返回时,就可以使用j a v a s c r i p t 和c s s 来相应地更新 u i ,而不是刷新整个页面。最重要的是,用户甚至不知道浏览器正在与服务器 通信:w 曲站点看起来是即肘响应的。 2 1 a j a x 的概念 a i a x ( 即异步j a v a s c r i p t 和x m l ) 是一种w e b 应用程序开发的手段,它 采用客户端脚本与w 曲服务器交换数据垆j 。所以,不必采用会中断交互的完整 页面刷新,就可以动态地更新w e b 页面。使用a i a x ,可以刨建更加丰富、更 加动态的w e b 应用程序用户界面,其即时性与可用性甚至能够接近本机桌面应 用程序。这使得w e b 应用的交互性得到了前所未有的提高,大大增强了应用的 实用性和实时性i o j 。 2 2a j a x 的主要思想及其工作原理 2 2 1a j a x 的主要思想 传统的w e b 应用模型工作起来就像这样:大部分界面上的用户动作触发一 个连接到w e b 服务器的h t r p 请求。服务器完成一些处理接收数据,处理 计算,再访问其它的数据库系统,最后返回一个h t m l 页面到客户端。这是一 个老套的模式,自采用超文本作为w e b 使用以来,直都这样用。 这种旧的途径让开发人员认识到了许多技术,但它不会产生很好的用户体 6 武汉理工大学硕士学位论文 验。当服务器正在处理自己的事情的时候,每一个动作,用户都只有等待用。 匀积背后的主要思想是:由于只需更新部分页面而不是整个页面,所以 w e b 应用程序可以更快地对用户操作做出响应。 在a j a 】( 的帮助下,用户可以从w e b 客户端直接向服务器发起请求,服务器 则可以传回任何有用的信息,包括: h t m l 片段; 可以在客户端执行的脚本: 任何数据。 由于局a x 允许从服务器传回h t m l 片段,开发人员就可以替换或者添加页 面元素。通过执行服务器传回的脚本( j a v a s c f i p t ) ,甚至可以完全改变当前页面 的外观,内容和行为。最后服务器还可以返回任何形式的数据,让客户端用 j a v a s c r i p t 去处理。 2 2 2a j a x 的工作原理 a j a x 的工作原理相当于在用户和服务器之间加了个中间层,使用户操作 与服务器响应异步化。 通过在用户和服务器之问引入一个a j a x 引擎,可以消除w e b 的开始一停止 一开始一停止这样的交互过程它就像增加了一层机制到程序中,使它响应更灵 敏,而它的确做到了这一点【8 j 。 不像加载一个页面那样,在会话的开始,浏览器加载了一个a j a x 引擎 采用j a v a s c r i p t 编写并且通常在一个隐藏f r a m e 中。这个引擎负责绘制用户界面 以及与服务器端通讯【9 1 。a j a x 引擎允许用异步的方式实现用户与程序的交互 不用等待服务器的通讯。 通常要产生一个h t r p 请求的用户动作,现在通过j a v a s c r i p t 调用a j a x 引 擎来代替。任何用户动作的响应不再要求直接传到服务器例如简单的数据 校验,内存中的数据编辑,甚至一些页面导航引擎自己就可以处理它如果 引擎需要从服务器读取数据来响应用户动作假设它提交需要处理的数据, 载入另外的界面代码,或者接收新的数据引擎让这些工作异步进行不会再 担误用户界面的交互i l o l 。 7 武汉理工大学硕士学位论文 2 3 a j a x 的关键技术 2 3 1j a v a s c r i p t 和a j a x 进行异步请求 h t m l 用于建立w e b 表单并确定应用程序其他部分使用的字段。 j a v a s c r i p t 代码是运行a j a x 应用程序的核心代码,帮助改进与服务器应用程序 的通信。 d h t m l 或d y n a m i ch t m l ,用于动态更新表单。开发人员将使用d i v , s p a n 和其他动态h t m l 元素来标记h t m l 。 文档对象模型d o m 用于( 通过j a v a s c r i p t 代码) 处理h t m l 结构 和( 某些情况下) 服务器返回的x m l 。 2 3 2a j a x 中的高级请求和响应 考虑各种就绪状态并且理解了这些就绪状态在不同浏览器之间的 区别就可以快速调试应用程序了。甚至可以基于就绪状态而开发一些创造 性的功能,并向用户和客户回报请求的状态。 对状态代码进行控制,就可以设置应用程序来处理脚本错误、非预期的 响应以及边缘情况。结果是应用程序在所有的时间都可以正常工作,而不仅仅 是只能一切都正常的情况下才能运行。 增加这种生成h e a d 请求的能力,检查某个u r l 是否存在,以及确 认某个文件是否被修改过,这样就可以确保用户可以获得有效的页面,用户所 看到的信息都是最新的。 2 3 3 d o m 进行w e b 响应 文档对象模型是一种w 3 c 标准。因此,所有现代w e b 浏览器都支持 d o m 一至少在一定程度上支持。虽然不同的浏览器有一些区别,但如果使用 d o m 核心功能并注意少数特殊情况和例外,d o m 代码就能以同样的方式用于 任何浏览器。修改o p e r a 网页的代码同样能用于a p p l e ss a f a r i 、f i r e f o x 、 m i c r o s o f ti n t e r n e te x p l o r e r 和m o z i l l a 。 d o m 也是一种跨语言的规范,换句话说,大多数主流编程语言都能使用它。 w 3 c 为d o m 定义了几种语言绑定。一种语言绑定就是为特定语言定义的让您 8 武汉理工大学硕士学位论文 使用d o m 的a p i 。比如,可以使用为c 、j a v a 和l a v a s c r i p t 定义的d o m 语 言绑定。因此可以从这些语言中使用d o m 。还有几种用于其他语言的语言绑定, 尽管很多是由w 3 c 以外的第三方定义的。 2 4a j a x 的应用领域、研究现状和发展方向 2 4 1a j a x 的应用领域 随着w e b 应用的发展,为了达到快速的响应用户的请求,出现了很多基于 a i a x 的应用模式,其中部分功能是完全依靠a j a 【技术来实现的; ( 1 ) 表单驱动型应用的交互,比如表单提交处理; ( 2 ) 深层次的树状导航; ( 3 ) 需要快速的用户和用户之间的通信: ( 4 ) 投票,评价提交; ( 5 ) 过滤和调用数据进行处理; ( 6 ) 键盘输入自动补全和提醒。 2 4 2a j a x 的研究现状 a j 缸技术有两个推动力,w e b 标准的成熟和软件交互设计,以及可用性理 论的成熟。在软件的可用性方面,除了一些通用的软件可用性和交互设计理论 之外,w e b 应用的可用性( w e bu s a b i l i t y ) 也是国外非常热门的一个研究领域, 主要侧重于研究如何提高w e b 应用的可用性。 美国在这个领域有着非常深入的研究,并且对于一些公共机构网站的可用 性还有相关的法律条款来约束。对于这些网站,如果无法达到条款上的一些可 用性要求,网站经营者就违法了。如果是开发公司无法达到这些要求,就不可 能从联邦政府手中拿到这些项目【“l 。 2 4 3a 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 ) ,致力于为网站建造者提供实现可访问性( 与 可用性同义) 的方法和策略【1 2 1 。 9 武汉理工大学硕士学位论文 这些规范主要应用于提高w e b 应用的可用性( w e bu s a b i l i t y ) 。与传统的w e b 开发不同,a j a x 并不是以种基于静态页面的方式来看待w e b 应用的i ”】。从 a j a x 的角度看来,w e b 应用仅由少量的页面组成,其中每个页面其实是一个更 小型的a j a x 应用1 1 4 i 。 a j a x 应用主要的发展趋势在以下3 个方面f 1 5 】: ( 1 ) 服务器的负载:用a i a x 实现代替普通的基于表单的u i ,大大降低 对服务器发出的请求数量。降低服务器负载的办法是:在客户机上对请求进行 缓冲并且缓存服务器响应。还应该尝试将a j a xw e b 应用程序设计为在客户机上 执行尽可能多的逻辑,而不必联络服务器1 1 6 l 。 ( 2 ) x m l h t t p r e q u e s t 的可用性:a f a x 开发人员面临的一个最大问题是: 在没有x m l h t t l c i r e q u e s t 可用时该如何响应? 虽然主要的现代浏览器都支持 x m l h t t p r e q u e s t ,但仍然有少数用户的浏览器不支持,或者浏览器的安全设置 阻止使用x m l h t t p r e q u e s t 。如果开发的w e b 应用程序要部署在企业内部网,那 么可能拥有指定支持哪种浏览器的权力,从而可以认为x m l h t t p r e q u e s t 总能使 用l l r l 。但是,如果要部署在公共w e b 上,那么就必须当心,如果假设 x m l h t t p r e q u e s t 可用,那么就可能会阻止那些使用旧的浏览器、残疾人专用浏 览器和手持设备上的轻量级浏览器的用户使用您的应用程序。 ( 3 ) 处理异步:非常重要的是,要理解无法保证x m l h t t p r e q u e s t 会按照 分派它们的顺序完成。实际上,应当假设它们不会按顺序完成,并且在设计应 用程序时把这一点记在心上。所以在设计时请考虑如何处理异步的服务器响应 1 1 8 1 。 2 5 本章小结 本章首先介绍了a j a x 的概念,以及a j a g 的体系结构和其原理,接着介绍了 a j a x 的关键技术,其中包含了j a v a s c r i p t 和x m l 技术,介绍了a j a x 的应用领 域,发展现状以及今后的发展方向。 l o 武汉理工大学硕士学位论文 第3 章d w r 框架 3 1d w r 框架的提出背景 把a j a x 功能添加到应用程序可能意味着大量的艰苦工作。如果要在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 框架。d w r 框架是其中一个比较成熟的框架,d w r 可 以是应用a j a x 变得简单,大大提高开发效率,而且d w r 还提供了很多有用的 j s 代码【”。 3 2d w r 框架概述 3 2 1d w r 简介 d w r 是个开源框架,可以实现浏览器中的 a v a s c r i p t 代码调用w e b 服务 器上的j a v a ,就像在j a v a 代码就在浏览器中一样。 d w r 开放源码的使用a p a c h e 许可协议的解决方案,它包含服务器端j a v a 库、一个d w rs e r v l e t 以及j a v a s c r i p t 库。虽然d w r 不是j a v a 平台上唯一可用 的a j a x r p c 工具包,但是它是比较成熟的,而且提供了许多有用的功能【矧。 3 2 2d w r 体系结构 d w r 主要包括两部分洲: ( 1 ) 在服务器上运行的s e r v l e t 来处理请求并把结果返回浏览器。 ( 2 ) 运行在浏览器上的j a v a s c r i p t ,可以发送请求,并动态改变页面。 d w r 会根据j a v a 类动态的生成j a v a s e r i p t 代码。这些代码让使用的客户感 觉整个a a x 调用都是在浏览器上发生的,但事实上是服务器执行了这些代码, d w r 负责数据的传递和转换【捌。 这种j a v a 和j a v a s c r i p t 之间的远程调用会让d w r 用户感觉像是曾经习惯使 武汉理工大学硕士学位论文 用的r m i 或s o a p 的r p c 机制。而且这一过程还不需要额外的浏览器插件。 j a v a 是同步的,而a j a x 是异步的。所以当调用一个远程方法时,要给d w r 一个回调函数,当数据从网络上回来时,d w r 会调用这个函数。 d w r 动态为服务端a j a x s e r v i c e 类( j a v a ) 生成了一个相应的客户端 a j a x s e r v i c e 类( j a v a s c r i p 0 。这个类被e v e n t h a n d l e r 调用。d w r 就会去处理整个 远程调用的细节,包括在j a v a s c r i p t 和j a v a 之间转换参数和返回值。然后,它会 执行提供的回调函数( p o p u l a t e l i s t ) ,这个函数再利用d w r 提供的工具函数来更 改页面内容l “。 d w r 会自动生产出具有很好交互性的网站,它提供的一些j a v a s c r i p t 库帮 处理d h t m l 。 3 3d w r 框架的优点 d w r 可以和大多数项目整合在起。d w r 可以整合s p r i n g ,w e b w o r k ,j s f , s t r u t s 和h i b e r n a t e 等框架。d w r 几乎可以和任何f r a m e w o r k 一起工作。 在原有的系统上可以不需要更改其他的结构,通过d w r 框架来实现a j a x 。 d w r 和s t r u t s 整合有两个层次。最基础的层次就是同时使用两个f r a m e w o r k , 这是非常容易的,但是这样就不允许在d w r 和s t r u t s 之间共享a c t i o n 了。 d w r 可以调用任何方法,所以可以从d w r 调用s t r u t s 的a c t i o n 。当返回 a c t i o n f o r w a r d 时,d w r 一个比较好方法是重构c r m 想调用的a c t i o n ,提取出 a c t i o n 的逻辑。d w r 和a c t i o n 就可以同时调用相同的方法了【2 7 1 。 3 4 本章小结 本章主要介绍了d w r 的发展和提出的背景,然后概述了d w r 框架的基本 特点和思想,另外还指出了选择d w r 框架的原因,及其优点。 武汉理工大学硕士学位论文 第4 章基于d w r 的c r m 系统 4 1 、b 应用概述 w e b 应用源于英文w e ba p p l i c a t i o n 。w e ba p p l i c a t i o n 允许在w e b 站点上放 置可编程的元素,能进行基于w e b 的分布式计算和处理。w e ba p p l i c a t i o n 的发 展非常迅速,这个新规范( s q a p 、w s d l 和u d d i ) 的构建模块仅仅才出现了 不长的时间,就已经对设计、开发和部署基于w e b 的应用产生了巨大的影响, 软件产业的巨头和i n t e r n e t 时代的软件新贵们已经开始了在这个领域新一轮的竞 争。 w e b 应用是封装成单个实体并发布到网络上供其他程序使用的功能集合。 w e b 应用是用于创建开放分布式系统的构件,可以使公司和个人迅速且廉价地 向全世界提供其数据服务。 w e b 应用是下一代分布式系统的核心,它具有如下特点: 互操作性:任何的w e b 应用都可以与其他w e b 应用进行交互。因为可 以使用任何语言来编写w e b 应用,因此开发者无需更改其开发环境,就可生产 和使用w e b 应用。 普遍性:w e b 应用使用m i 甲和x m l 进行通信。因此,任何支持这些 技术的设备都可以拥有和访问w e b 应用。 易于使用:w e b 应用背后的概念易于理解,并且有来自i b m 和微软这 样的供应商的免费工具箱,能够让开发者快速地创建和部署w e b 应用。此外, 其中的某些工具箱还可以让已有的c o m 组件和j a v a b e a n 方便地成为w e b 应 用。 行业支持:所有主要的供应商都支持周边w e b 应用技术。例如,微软的n e t 平台就基于w e b 应用,s u n 公司的j 2 e e 平台也提供w 曲应用的支持。 4 2 c r m 概念 c r m 是世界各地主要企业正在讨论的个重要概念,它不是一个产品,也 武汉理工大学硕士学位论文 不是一个产品组合,而是触及到企业内许多独立部门的商业理念,它需要一个 掰的以客户为中心的商业模式,并由集成了前台和后台办公系统的一整套应用 系统支持,从而确保了直接关系到企业利润的客户满意。 4 3a j a x 在c r m 中应用现状及趋势 客户关系管理( c r m ) 是世界各地主要企业正在讨论的一个重要概念。c r m 可以使以客户为中心的商业运作实现自动化并加以改进。这快速成长的市场、 参与厂家的多种多样以及大量的兼并活动足以使c r m 成为人们关注的热点。分 析家预测c r m 系统将成为最大的应用领域
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年金华辅警协警招聘考试真题含答案详解(突破训练)
- 2025年随州辅警招聘考试题库(含答案详解)
- 2025年雅安辅警协警招聘考试备考题库附答案详解(综合卷)
- 2025年鸡西辅警招聘考试真题附答案详解(轻巧夺冠)
- 2025年阳泉辅警招聘考试题库附答案详解ab卷
- 2025年郑州辅警招聘考试题库及答案详解(历年真题)
- 2025年通辽辅警招聘考试真题带答案详解(完整版)
- (2025年)山东省莱芜市【统招专升本】计算机真题(含答案)
- 2025年潍坊辅警招聘考试真题附答案详解ab卷
- 2025年益阳辅警招聘考试真题及完整答案详解1套
- MOOC 思想道德与法治-南京师范大学 中国大学慕课答案
- 枕大神经痛的护理查房
- 网络传播概论(彭兰第5版) 课件全套 第1-8章 网络媒介的演变-网络传播中的“数字鸿沟”
- 被执行人生活费申请书范文
- 《数字经济学》 课件全套 贾利军 专题1:数字经济的历史溯源、科学内涵与技术基础研究-专题10:数字经济的战略与实践研究
- 放弃继承权声明书(模板)
- 【新版】电气安全隐患排查速查手册隐患对应依据1
- 非线性光学课件第二章
- aDesk-常见问题解答详细版FAQ
- JJG 1189.3-2022测量用互感器第3部分:电力电流互感器
- 第六章-复合材料课件
评论
0/150
提交评论