(计算机应用技术专业论文)ajax技术在企业电能管理系统中的应用研究.pdf_第1页
(计算机应用技术专业论文)ajax技术在企业电能管理系统中的应用研究.pdf_第2页
(计算机应用技术专业论文)ajax技术在企业电能管理系统中的应用研究.pdf_第3页
(计算机应用技术专业论文)ajax技术在企业电能管理系统中的应用研究.pdf_第4页
(计算机应用技术专业论文)ajax技术在企业电能管理系统中的应用研究.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机应用技术专业论文)ajax技术在企业电能管理系统中的应用研究.pdf.pdf 免费下载

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

文档简介

江苏大学硕士学位论文 摘要 一种引入了a j a x 技术的新型w e b 应用模型正在兴起。基于”a x 技术的 w e b 应用模型的核心在于它是一种基于单页面的交互模型,整个应用由单个或 少量的几个页面组成,而页面的各个部分可以独立与服务器交互,因此可按需局 部刷新页面,从而节省了网络带宽,减轻了服务器端负担,方便了富交互。 论文在对a j a x 技术研究分析的基础上,进行了实践性开发应用,开发了基 于a j a x 技术的企业电能管理系统。该系统利用微软最新推出的a j a x n e t 框架, 实现了a j a x 技术,解决了传统开发技术无法很好解决的数据实时更新等问题。 a j a x 技术的具体应用性能也在论文中进行了实验分析与比较,实验结果表明, 相比于传统w e b 技术,a j a x 技术在平均发送数据量、平均接受数据量和平均 花费时间等具体应用性能指标上都有较显著的改善。通过实际应用和性能分析, 论文还总结了a j a x 技术的适用场合,包括可能带来的应用问题。 a j a x 技术具体应用研究是本论文的主要研究内容,具体包括三方面:经典 m v c 模式在a j a x 中的应用,通过改变经典的m v c 模式让其适应a j a x 应用 的开发,使开发过程更规范,代码可重用性更高;主流a j a x 开发框架a j a x n e t 框架的使用,a j a x n e t 框架作为n e t 平台的重要补充,为a j a x 应用的开发带 来极大的方便;a j a x 技术在系统具体实现中的应用,包括实时数据及时更新与 自动完成功能、智能数据联动下拉框等功能的实现,最后通过实验进行了应用性 能分析。 关键词:a j a x ,异步调用,a j a x n e t ,m v c 设计模式,电能管理系统 江苏大学硕士学位论文 a b s t r a c t an e wb r e e do fw e ba p p l i c a t i o n , d u b b e da j a x ,i se m e r g i n gi nr e s p o n s et oa l i m i t e dd e g r e eo fi n t e r a c t i v i t yi nl a r g e - g r a i ns t a t e l e s sw e bi n t e r a c t i o n s a tt h eh e a r to f t h i sn e wa p p r o a c hl i e sas i n g l e p a g ei n t e r a c t i o n m o d e lt h a tf a c i l i t a t e sr i c h t h i st h e s i sh a v ead e e pr e s e a r c ha n da n a l y s i so na j a x ,t h e nh a v ed o n es o m e a c t u a la p p l i c a t i o nu s i n ga j a x ,m a n a g e m e n ts y s t e mo fe n t e r p r i s ei ne l e c t r i cp o w e r b a s e do na j a x t h es y s t e mw a sd e v e l o p e do nt h ef r a m e w o r k a j a x n e t ,w h i c hw a s p u s h e do u tb ym i c r o s o f t w eu s ei t t or e a l i z et h ea j a xt e c h n o l o g y , a n dw i t ht h i s t e c h n o l o g yw er e s o l v e d s o m ep r o b l e me a s i e ra n db e t t e rt h a nt r a d i t i o n a lw e b t e c h n o l o g y t h ec a p a b i l i t yo fa j a xi sa l s od i s c u s s e di nt h i st h e s i st h r o u g haa c t u a l e x p e r i m e n t ,t h ec o n c l u s i o no ft h ee x p e r i m e n ts h o w st h a tc o m p a r e dw i t ht r a d i t i o n a l w e bt e c h n o l o g y , a j a xh a sab e r e rp e r f o r m a n c ei na v e r a g es e n d i n gd a t a a v e r a g e r e c e i v e dd a t aa n da v e r a g et i m ec o s t t h r o u g ha c t u a la p p l i c a t i o na n d c a p a b i l i t y a n a l y s i so fa j a x ,t h i sp a p e rs u m su pt h es i t u a t i o nw h i c hi ss u i t a b l et ou s ea j a x ,a n d s o m ep r o b l e m sm a yb em e e tw h i l eu s i n ga j a x t h er e s e a r c ha n da p p l i c a t i o no fa j a x ,w h i c hi st h em o s ti m p o r t a n tp a r to ft h i s p a p e r a c t u a la p p l i c a t i o nr e s e a r c hi na j a x ,c o n t a i n st h r e ep o i n t , t h ef i r s ti st h e a p p l i c a t i o no fm v cm o d ei na j a xa p p l i c a t i o n ,a p p r o p r i a t ec h a n g ei nt h ec o n v e n t i o n a l m v cm o d e la n dt ou s ei ti no u ra p p l i c a t i o n t h es e c o n di sa b o u tt h eu s eo f f r a m e w o r k s - a j a x n e t ,w h i c hi st h em o s tp o p u l a ra n dp o w e r f u lf r a m e w o r k si na j a x d e v e l o p m e n t t h et h i r di st h a tt h ea u t h o ru s et h ef r a m e w o r k sa j a x n e tt oi m p l e m e n t m a n yf u n c t i o n si nt h em a n a g e rs y s t e mi n c l u d i n gr e f r e s hm n f i m e - d a t ai nt i m e , a u t o - c o m p l e t e , c a s c a d i n g - d r o p d o w na n ds oo n a tl a s t ,a i m e da tt h ec a p a b i l i t yo f 匀a x , t h et h e s i so p e r a t e sa ne x p e r i m e n tt oa n a l y z et h ec a p a b i l i t yo fa j a xi nw e b a p p l i c a t i o n k e y w o r d s :a j a x , a s y n c h r o n o u st r a n s f e r , a j a x n e t , m v cm o d e l , m a n a g e m e n ts y s t e mo f e n t e r p r i s ei ne l e c t r i cp o w e r i i 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文 的规定,同意学校保留并向国家有关部门或机构送交论文的 复印件和电子版,允许论文被查阅和借阅。本人授权江苏大 学可以将本学位论文的全部内容或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和 汇编本学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于 不保密。 学位论文作者签名: 指导教师签名:周莲英i 习斟 2 0 0 7 年肛月 v 日2 0 0 7 年j ,胡z1 ,日 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的 指导下,独立进行研究工作所取得的成果。除文中已注明引 用的内容以外,本论文不包含任何其他个人或集体已经发表 或撰写过的作品成果。对本文的研究做出重要贡献的个人和 集体,均已在文中以明确方式标明。本人完全意识到本声明 的法律结果由本人承担。 学位论文作者签名:蔡晓庆,帮蘸衣 日期:2 0 0 7年1 1月 江苏大学硕士学位论文 第一章绪论 1 1 课题的研究背景与发展现状 1 1 1 删【的研究背景 随着各种网络技术的迅速发展,i n t e m e t 经历了翻天覆地的重大变革,它己 经成为商业贸易和信息的中心。到了今天,w e b 己经成为大量应用的首选平台。 由于w e b 系统容易部署与更新,人们对w e b 系统的依赖程度越来越高,但基于 w e b 系统也存在着局限,不能像传统的桌面应用那样提供丰富的客户端功能。 w e b 应用带来的用户体验不够好。因为传统的w e b 应用架构是一个同步的 请求响应系统,由用户触发一个h 丁r p 请求到服务器,服务器对其进行处理后 再返回一个新的h t m l 页面到客户端,每当服务器处理客户端提交的请求时, 客户都只能空闲等待,并且哪怕只是一次很小的交互、只需从服务器端得到很简 单的一个数据,都要返回一个完整的h t m l 页,而用户每次都要浪费时问和带 宽去重新读取整个页面。这样使得w e b 的效率低下,浪费了大量的通信带宽。 而事实上,重新加载所有这些内容完全没有必要,有时只需要从数据库中调出很 小的一段文本就能解决问题。 基于单页面的a j a x 应用,由于页面的各个部分可以独立与服务器端进行交 互,即是一种基于用户操作与服务器端反应异步的调用方式。这样可以对页面进 行局部刷新,可以创建很丰富的基于浏览器的应用,它能提供高度交互的w e b 应用。用户感觉几乎所有的操作都会很快响应没有页面重载的等待。利用a j a x 技术开发人员可以通过异步方式向服务器请求一个区块的信息,而无需重新加载 整个页面。这样就使w 曲应用能够更快地对用户的互动行为做出反应。也就是 说a j a x 技术实现了页面的局部刷新。进而由于a j a x 采用的各种技术基于现 有的浏览器,而无需特殊的插件,所以与其它技术比较起来兼容性最好。这就是 为什么a j a x 越来越受到青睐的原因。 关于a j a x 的应用已经如火如荼的展开,从经典的g o o g l em a p ( h t t p :m a p s g o o g l e c o m ) 到一个小型记分牌的刷新,我们都能看到a j a x 的足 迹。 江苏大学硕士学位论文 1 1 2 删【的发展现状 a j a x t l 】技术有两个推动力,w e b 标准的成熟与软件交互设计和可用性理论 的成熟对a j a x 技术的发展起了很好的推动作用。在软件的可用性方面,除了一 些通用的软件可用性和交互设计理论之外( 这方面的经典著作包括面向使用的 软件设计、( ( a b o u tf a c e2 o 中文版等等) ,w e b 应用的可用性( w e bu s a b i l i t y ) 也是国外非常热门的一个研究领域,主要侧重于研究如何提高w e b 应用的可用 性。美国在这个领域有着非常深入的研究,并且对于一些公共机构网站的可用性 还有相关的法律条款来约束( s e c t i o n 5 0 8 ,5 0 8 条款,于2 0 0 1 年6 月2 l 同成为美国 的法律,直接影响了联邦部门和一些代理机构,还有为他们服务的网页设计师。 这条法律也适用于政府投资项目和任何采用了该法律的州) 。对于这些网站,如 果无法达到条款上的一些可用性要求,网站经营者就违法了。如果是丌发公司无 法达到这些要求,就别指望从联邦政府手中拿到这些项目。 为了对如何提高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 y i 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 ) w e b 可用性方面的经典 著作包括网站重构。 综上所述,可以认为a j a x 就是w e b 标准和w e b 应用的可用性理论的集大 成者。它极大地改善了w e b 应用的可用性和用户的交互体验,最终得到了用户 和市场的广泛任何。所以可以说,a j a x 就是用户和市场的选择。 在汹涌的w e b 2 o 【2 】大潮中,a j a x 己经成为人们谈论最多的技术术语。甚至 己经成为了w e b 应用的主流开发技术,甚至在使一些一度被认为是不可能的项 目“复活 :在线版的o f f i c e 。以g o o g l em a p s 为代表的一些w e b 服务的推出使 得a j a x 技术名扬天下。目前,有数十家初创厂商在利用它开发包括从字处理软 件到项目管理软件在内的桌面软件的在线版本。 在提到a j a x 4 】的发展时,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 0 0 酉em a p s g m a i l 5 1 ,g o o g l es u g g e s t 6 1 等等, 其中公认最优秀最复杂的a j a x 应用是g o o g l em a p s 。由于完全基于a j a x 技术 来建造g o o g l em a p s 的界面,g o o g l em a p s 提供了远远超越其竞争对手的地图服 2 江苏大学硕士学位论文 务的交互体验。如果说g o o # e 后台的地图技术并不存在巨大优势的话,那么 a j a x 技术和优秀的交互设计成为了他们压倒竞争对手的最后一根稻草。最终使 得g o o l em a p s 脱颖而出,获得了用户的青睐。 除此之外,大量的业界巨头已经采纳并且在大力推动这个技术的发展。最近 的动态包括: 1 i b m ,o r a c l e ,y a h o o ! ,b e a ,r e d h a t n o v e u 等业界领先的公司启动了o p e n a j a x 项目。致力于为a j a x 开发建造先进强大的的开发工具。 2 微软公司已经于年初推出的自己的a j a x 框架a j a ) 【n e t 【刀,此框架主要是用 在n e t 2 0 平台下,该开发包是从之前的a t l 舔项目进化而来,功能更强大, 使用更方便。 3 s u n 公司也将a j a x 技术列入了j 2 e e 的b l u e p r i n t ( 蓝图) 中,作为j 2 e e 的有 益补充。 当然市场上还有数不尽数的a j a x 应用框架和好的应用网站,在这里不详举。由 此可见a j a x 的发展势头。 1 2 论文的主要研究内容与工作 本论文主要探讨了目前非常热门的w e b 技术a j a x ,包括a j a x 的原理、核 心技术、与传统技术的比较以及当前热门的a j a x 框架的技术实现等,同时结合 笔者参与开发的珠海太谷电力技术有限公司的一个实际项目“企业电能管理者系 统利用a j a x n 吼框架讨论了a j a x 技术在实际项目中的使用,并通过实验对 应用性能的改善进行了分析。 传统的w e b 应用带来的用户体验不够好,长时间的刷新等待、页面频繁更 新等问题,而这些a j a x 技术都可以解决。 在企业电能管理系统中,针对本项目对实时性要求较高而传统的技术无法很 好的解决此问题,从而引入a j a x 技术,很好的解决了实时信息的刷新问题。并 且在系统工具箱的开发过程中应用a j a ) 【n c t 框架提供的强大功能,实现了数据 联动、自动更新等功能,极大的提升了用户体验。 针对项目的具体需求,技术平台是a s e n e t 【引,及n e t 平台下的a j a x 开 发框架a j a x n e t ,不仅解决了传统技术难以很好解决的实时数据及时更新的问 3 江苏大学硕士学位论文 题,而且实现了反应灵敏的g o o g l es u g g e s t 似的下拉框,数据联动及无刷新自动 更新实时数据等技术。论文中深入探讨了a j a x n e t 的配置,使用以及具体实现 流程。对其他欲采用a j a x 技术的a s e n e t 项目具有很好的借鉴意义。 本论文主要探讨了以下几个问题: ( 1 )研究了a j a x 技术特点和应用领域,研究了基于a j a x 技术的w e b 应 用的当前进展,总结了a j a x 技术发展的现状。 ( 2 )研究了a j a x 技术与传统w e b 技术的区别,探讨了a j a x 是如何完成 异步调用,总结分析了a j a x 工作的原理。 ( 3 )研究了a j a x 各种相关技术,深刻剖析a j a x 核心技术,并对当前主 流的a j a x 实现框架及其实现技术进行了深入分析。 ( 4 ) a j a x 实现技术研究。结合实际应用需求,在企业电能管理系统中选 择a j a x n e t 框架来实现a j a x 技术,介绍了a j a x n e t 框架的使用配置,利用a j a x 技术解决了该系统中传统技术难以很好解决的实时数据及时更新的问题,并详细 分析了a j a x 在系统中的数据联动、a u t o c o m p l e t e 自动完成下拉框等技术的实现。 ( 5 ) a j a x 应用性能分析。以具体的项目为背景进行实验设计,通过切实 有效的数据分析比较了企业电能管理系统在使用了a j a x 后带来的性能改善,提 出a j a x 技术适用的情况 1 3 论文的组织结构 论文从理论上构筑了较为完善的、基于a j a x 技术的w e b 构架,并根据理 论研究结合实际应用,使用a j a x n e 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 主流框架的实现技术进行了分析以更好的了解a j a x 技术的核心原 理,最后对a j a x 技术与传统w e b 技术性能进行了比较分析。 4 江苏大学硕士学位论文 第三章a j a x 技术在企业电能管理系统中的应用。本部分为论文的一个重 点,通过一个a j a x 技术应用的实际项目,提出一种在a j a x 应用 中适用的m v c 模式,并且详细分析了如何使用a j a x n e t 框架在系 统中具体实现a j a x 技术,利用a j a x n e t 完成如数据联动、 a u t o c o m p l e t e 自动完成下拉框等功能。 第四章应用性能分析。针对第三章完成的企业电能管理系统进行实验设计, 对其采用a j a x 后的性能与未采用该技术的性能进行了比较分析, 同时提出了a j a x 技术的适应场合。 第五章总结与展望。就本论文工作进行了经验总结,指出技术的发展趋势 和下一步工作的重点。 5 江苏大学硕士学位论文 第二章a j a x 技术分析 2 1 表示层体系架构技术的演变 2 1 1 胖客户端到瘦客户端技术的发展 在二十世纪九十年代中期,为m i c r o s o f t w i n d o w s 操作系统开发的胖客户 端应用程序的数量急剧增长。胖客户端模式将应用程序处理分成了两部分:由用 户的桌面计算机执行的处理和最适合一个集中的服务器执行的处理。一个典型的 胖客户端包含一个或多个在用户的p c 上运行的应用程序,用户可以查看并操作 数据、处理一些业务规则同时提供一个丰富的用户界面做出响应。尽管胖客 户端应用程序的功能令人印象深刻,但它们都具有局限性。许多上述应用程序是 独立的并且在客户计算机上工作,依赖于客户端计算机,而对它们的工作环境所 知甚少或一无所知。这样特别是对于系统的更新和升级带来麻烦。 随着i n t e m e t 的出现和普及,出现了一种新的表示层体系架构【9 】,那就是瘦 客户端应用程序。i n t e m e t 提供了传统胖客户端模型的替代模型,它解决了许多 与应用程序部署和维护相关联的问题。基于浏览器的瘦客户端应用程序是在中 央w e b 服务器上部署和更新的,因此,它们消除了将应用程序的任何部分显式 部署到客户计算机并加以管理的必要性。 该模型使各个公司可以非常高效地将它们的应用程序公开给规模庞大、多种 多样的外部受众。因为瘦客户端已被证明能够高效地解决一些部署和可管理性问 题,所以它们现在用于向组织内的用户提供对许多业务线( l o b ) 应用程序的访 问,以及向客户和合作伙伴提供对面向外界的应用程序的访问。尽管事实上这两 种用户的需要和期望通常是根本不同的,也是如此。 瘦客户端应用程序具有一些缺点。浏览器必须总是具有网络连接。这意味着 移动用户在断开连接时将无法访问应用程序,因此当他们返回办公室时,必须重 新输入数据。而且,常用的应用程序功能( 如拖放、撤消重复以及上下文相关 帮助) 可能不可用,这可能降低应用程序的可用性。 更重要的是因为应用程序的大部分逻辑和状态位于服务器上,所以瘦客户端 会频繁地向服务器发回数据和处理请求。浏览器必须等待响应到达,然后用户才 6 江苏大学硕士学位论文 能继续使用该应用程序;因此,该应用程序的响应速度通常要比胖客户端应用程 序慢得多。该问题在低带宽或高延迟的情况下被恶化了,并且产生的性能问题可 能导致应用程序可用性和用户效率大幅度下降。要求输入大量数据以及或者在 多个窗口中频繁导航的l o b 应用程序尤其会受到这一问题的影响。 2 1 2 基于a j a x 的胖客户端架构的出现 a j a x 技术正是为了解决这些种种局限而产生的,它对传统的瘦客户端结构 进行了改进,利用客户端闲置的处理能力,采用用户操作与服务器端反应异步的 方式,提供一种无刷新更新页面的方式,这样就带来更好的用户体验和更快速的 响应,而且大大减轻服务器端负担。本章就对该技术的方方面面进行介绍。 2 2a j a x 技术分析 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 ) 是2 0 0 5 年2 月才j 下式提出的一项 综合技术,其主要特点是为w e b 开发提供异步的数据传输和交换方式,可以在 不重载( r e l o a d ) 刷新( r e f r e s h ) 界面的情况下与服务器进行数据交换。 a j a x 通过综合运用j a v a s c r i p t l l o l 、x h t m l 和x m l t l l 】【1 2 1 、d o m 、c s s t l 3 】和 x s t l 、x m l h t t p r e q u e s t 的技术,在提高数据交互速度,改善用户体验等方面发 挥着重要作用。其中: x h t m l 和c s s 具有灵活、可拼装、基本、结构化等特点,被a j a x 用 来将系统数据呈现给用户,构建一个标准化的用户界面。 d o m 由于对h t m l 、x h t m l 、x m l 拥有强大的操作能力以及结构化 的操作方法,故被a j a x 用来实现数据动态的显示与交互。 x m l 和x s t l 在结构化的数据表示、传输、交互、共享方面有特别大 的优势。因此,x m l 和x s t l 在a j a x 中主要用做数据交换与处理。 x m l h t t p r e q u e s t 是x m l h t t p 组件的对象,它使a j a x 可以向服务器发 起异步的通信请求、并接收服务器返回的数据。这样,a j a x 可以像桌面 应用程序一样在不刷新界面的情况下与服务器进行数据交换。 j a v a s c r i p t 因为具备简单、灵活、丰富的客户端控制和表现等优点,所以 被用来操作h t m l 、x h t m l 、c s s ,绑定和处理所有的数据。 a j a x 技术是目前在浏览器中通过j a v a s c r i p t 脚本可以使用的所用技术的集 7 江苏大学硕士学位论文 合。a j a x 并没有创造出某种具体的新技术,它所使用的所有技术都是在很多年 前就已经存在了,然而a j a x 以一种崭新的方式来使用所有的这些技术,使得古 老的b s 方式的w e b 开发焕发了新的活力。 2 2 1a j a x 工作原理 基于用户操作与服务器反应的异步交互的a j a x 能很好地突破传统w e b 应用 的局限,使得用户能够得到更快速更舒适的响应,并能大大减轻服务器的负担, 充分利用客户端的闲置时间,即富客户端的应用。究其工作原理,相当于在客户 端和服务器之问加了一中间层a x 引擎。这样,并不是所有的用户请求都提 交给服务器,a j a x 中间层可以独立地处理很多的用户交互,只有一些确需从服 务器读取新数据时,应用程序才以后台的方式发送请求给服务器,且也不会打断 用户的操作过程。 图2 1 :基于a j a x 的w e b 应用模型 2 2 2a j a x 核心技术 a j a x 的核心技术有j a v a s c r i p t 、x m l h t r p r e q u e s t 和d o m ,如果所用数据 格式为x m l 的,还可以再加上x m l 这一项( a j a x 从服务器端返回的数据可 以是x m l 格式,也可以是文本等其他格式) 。 1 x m l h t t p r e q u e s t 对象 8 江苏大学硕士学位论文 a j a x 技术中,最核心的技术就是x m l h t t p r e q u e s t ,它最初的名称叫做 x m l h t i p ,是微软公司为了满足开发者的需要,1 9 9 9 年在i e 5 0 浏览器中率先 推出的。后来这个技术被上述的规范命名为x m l h t i p r e q u e s t 。它正是a j a x 技 术之所以与众不同的地方。简而言之,x m l h t p r e q u e s t 为运行于浏览器中的 j a v a s c r i p t 脚本提供了一种在页面之内于服务期通信的手段。页面内的j a v a s c r i p t 可以在不刷新页面的情况下从服务器端获取数据,或者向服务器提交数据。而在 这个技术出现之前,浏览器与服务器通信的唯一方式技术通过h t m l 表单的提 交,而这一般都会带来一次全页面的刷新。 x m l h t t p r e q u e s t 的出现为w e b 开发提供了一种全新的可能性,甚至改变 了人们对于w e b 应用由什么来组成的看法。在这个技术出现之前,由于技术上 的限制,人们认为w 曲应用就是由一系列连续切换的页面组成的。因此整个w e b 应用被划分成了大量的页面,其中大部分是一些很小的页面。用户大部分的交互 都需要切换并刷新整个页面,而在这个过程中( 下一个页面完全显示出来之前) , 用户只能等待。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 是x m l h t t p 组件的对象,通过这个对象,舢a x 可以 像桌面应用程序一样只同服务器进行数据层面的交换,而不用每次都刷新界面, 也不用每次都把处理工作交给服务器来做,这样既减轻了服务器的负担又加快了 响应速度、缩短了用户等待的时间。 在使用x m l h t i p r e q u e s t 对象发送请求和处理响应之前,必须先用 j a v a s c r i p t 创建一个x m l h t i p r e q u e s t 对象。由于x m l h t t p r e q u e s t 不是一个 w 3 c 标准,所以可以采用多种方法使用j a v a s c r i p t 来创建x m l h t t p r e q u e s t 的 实例。i e 把x m l h l q p r e q u e s t 实现为一个a c t i v e x 对象,其他浏览器( 如f i r e f o x 、 s a f a r i 和o p e r a ) 把它实现为一个本地j a v a s c r i p t 对象。由于存在这些差别, j a v a s c r i p t 代码中必须包含有关的逻辑,从而使用a c t i v e 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 的一个实例。 ih t r p r e c i u c s t 对象的初始化: 9 江苏大学硕士学位论文 x m l h t t p r e q u e s t 对象的方法: 表2 1x m l h t t p r e q u e s t 对象的方法 方法描述 a b o r t ( )停i :当前请求 g e t a l l r e s p o n s e h e a d e r s 0把h t t p 请求的所有响应首部作为健值对返同 g e t r e s p o n s e h e a d e r ( “h e a d e r l a b e l ”)返同指定首部的串值 o p e n ( “m e t h o d , u r l ”) 建立对服务器的调用。m e t h o d 参数可以是g e t ,p o s t 或p u t 。u r l 参数可以是相对的u r l 或绝对u r l ,这 个方法还包括3 个可选的参数 s e n d ( c o n t e n t )向服务器发送请求 s e t r e q u e s t h e a d e r ( “l a b e l , v a l u e ”) 设置h e a d e r 并和请求一起发送,在设置任何首部之前 必须先调刚o p e n ( ) x m l h t t p r e q u e s t 对象的属性: 表2 2x m l h i t p r e q u e s t 对象的属性 属性 描述 o n r e a d y s t a t e c h a n g e 每个状态改变时都会触发这个事件处理器,通常会 调用一个j a v a s c r i p t 函数 r e a d ,s t a t e 请求的状态。有5 个可取值:o = 未初始化,1 = 正在 加载,3 = 交互中,4 = 完成 r e s p o n s e t e x t服务器的啊厦,表不为一个串 r e s p o n s e x m l 服务器的啊厘,表不为x m l 。这个对象可以解 析为一个d o m 对象 s t a t u s 服务器的h t r p 状态码( 2 0 0 对应o k ,4 0 4 对应 n o tf o u n d 等等) 1 0 江苏大学硕士学位论文 请求状态r e a d y s t a t e 的不同值代表交互进行的不同状态,用0 - - 4 这五个数字表 示: 0 - 请求未初始化( 还没有调用o p e n ( ) ) 。 1 :请求已经建立,但是还没有发送( 还没有调用s e n d ( ) ) 。 2 :请求已发送,正在处理中( 通常现在可以从响应中获取内容头) 。 3 :请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完 成响应的生成。 4 :响应已完成;您可以获取并使用服务器的响应了。 有了就绪状态,根据a j a x 编程技术中的服务器的响应方法,就可以为a j a x 应用程序添加另外一级复杂性了这要使用h t t p 状态代码。这些代码对 于a j a x 来说并没有什么新鲜。从w e b 出现以来,它们就已经存在了。在w e b 浏览器中一般有如下几个状态代码: 4 0 1 :未经授权 4 0 3 :禁止 4 0 4 :没找到 3 0 1 :永久移动 3 0 2 :找到( 请求被重新定向到另外一个u r l u r i 上) 3 0 5 :使用代理( 请求必须使用一个代理来访问所请求的资源) 这些h t r p 状态代码提供给我们的信息,使得我们在碰到浏览器没找到资 源而返回的一些代码时不至于完全不了解,了解它代表的意思才能对症下药。 2 j a v a s e h p t j a v a s c r i p t 是一种新的描述语言,此语言可以被嵌入h t m l 的文件之 中,应用最多的地方是表单数据的校验。透过j a v a s c r i p t 可以做到回应客户的 需求事件( 如:f o r m 的输入) 而不用任何的网路来回传输资料,所以当客户输 入一项资料时,它不用经过传给伺服端( s e r v e r ) 处理,再传回来的过程,而直接 可以被客户端( c l i e n t ) 的应用程式所处理。在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 ,来跟数据库打交道。 3 d o m 江苏大学硕士学位论文 d o m ( d o c u m e n to b j e c tm o d e l ) 是提供给h t m l 和x m l 使用的一组 a p i ,提供了文件的表述结构,并可以利用它改变其中的内容和可见物。脚本语 言通过d o m 才可以跟页面进行交互。w e b 开发人员可操作及建立文件的属性、 方法以及事件都以对象来展现。比如,d o c u m e n t 就代表页面对象本身。 4 x m l 通过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 表述的数据和文档,可以很容 易的让所用程序共享。 2 2 3a j a x 应用优势 与传统的w e b 开发不同,a j a x 并不是以一种基于静态页面的方式来看待 w e b 应用的。从a j a x 的角度看来,w e b 应用仅由少量的页面组成,其中每个 页面其实是一个更小型的a j a x 应用。而一些简单的a j a x 应用,例如一个简 单的r s s 阅读器,甚至只有一个页面。每个页面上面都包括有一些使用j a v a s c r i p t 开发的a j a x 组件。这些组件使用x m l h 郇r e q u e s t 对象以异步的方式与服务器 通信,从服务器获取需要的数据后使用d o m a p i 来更新页面中的一部分内容。 因此a j a x 应用的优势主要表现在以下几个方面: 1 减轻服务器的负担。a j a x 的原则是“按需取数据”,可以最大程度的减 少冗余请求,和响应对服务器造成的负担。 2 无刷新更新页面,减少用户心理和实际的等待时间。特别的,当要读取 大量的数据的时候,不用像r e l o a d 那样出现白屏的情况,a j a x 使用x m l h t t p 对象发送请求并得到服务器响应,在不重新载入整个页面的情况下用j a v a s c r i p t 操作d o m 最终更新页面。所以在读取数据的过程中,用户所面对的不是白屏, 是原来的页面内容( 也可以加一个l o a d i n g 的提示框让用户知道处于读取数据过 程) ,只有当数据接收完毕之后才更新相应部分的内容。这种更新是瞬间的,用 户几乎感觉不到。打个很形象的比方,如果说重载的方式是从一个终点回到原点 再到另一个终点的话,那么a j a x 就是以一个终点为基点到达另一个终点。图2 2 形象地说明这两者的区别: 1 2 江苏大学硕士学位论文 图2 2 :传统的重载方式与a j a x 方式比较 3 带来更好的用户体验。 4 可以把以前一些服务器负担的工作转到客户端,利用客户端闲置的能力 来处理,减轻服务器和带宽的负担,提高网站程序的带宽性能( 一个网页测试公 司经测试得出使用a ,a x 比使用传统的w 曲总带宽节约6 1 【3 3 1 ) ,节约空间和 宽带租用成本。 5 可以调用外部数据。 6 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。 7 a j a x 使w e b 中的界面与应用分离( 也可以说是页面呈现和数据的分 离) 。 由此可见,a j a x 使得w e b 应用更加动态,带来了更高的智能,并且提供 了表现能力丰富的a j a xu i 组件。这样一类新型的w e b 应用叫做r i a ( r i c h i n t e m e ta p p l i c a t i o n ) 应用。除了a j a x ,还包括有f l a s h 等技术。 2 2 4a j a x 技术与传统w e b 技术性能比较分析 2 2 4 1 传统的w e b 技术性能分析 传统的w e b 应用,也称为h t m l 应用,因为浏览器段的显示是基于页面式 的,服务器端向客户端传送一个个的页面,客户端只需要通过浏览器就可以访问 这些页面,通过这些页面访问服务器提供的功能。由于客户端不需要完成任何业 务逻辑,只需要通过浏览器提供的功能进行一系列的页面显示,所以这种体系结 构也成为瘦客户端体系结构,如图2 3 所示。这是目前w e b 开发的主流结构,这 种体系结构与传统的基于c s 模式下开发的胖客户端应用程序相比具有易部署、 便于更新的显著优点。 但也带来了相应的局限,因为浏览器与客户端环境( 硬件和在客户端上运行 1 3 百 o 江苏大学硕士学位论文 的其他软件应用程序) 交互的能力是有限的。它的确提供了一种使得能够在客户 端上存储少量数据( 通过c o o k i e s ) 的机制,有时还提供缓存页面的能力,但除 了作为分别提供简单的会话管理或跟踪,以及基本的只读脱机功能的一种方法 外,这些功能作用有限。用户提交的所有请求都必须发送到服务器端进行处理, 而且每次返回的都是整个的页面,当网络繁忙时提供给用户的就是一个空白页 面,这就导致了瘦客户端应用具有较差的可用性与交互性。 图2 3 :,瘦客户端体系结构 2 2 4 2 a j a x 技术带来的性能改善 与传统的w e b 开发不同,a j a x 并不是以一种基于静态页面的方式来看待 w 曲应用的。从a j a x 的角度看来,应用仅由少量的页面组成,其中每个页面其 实是一些更小型的a j a x 应用组成。在这种应用中,客户端的a j a x 引擎能够完成 一部分的处理工作,只有需要获取新数据时才向服务器端发送请求。这种结构与 传统的瘦客户端体系结构比较起来,利用了客户端闲置的处理能力,让客户端完 成一部分原属于服务器的工作,因此也称为基于a j a x 的富客户端体系结构。 在一些简单的a j a x 应用中,例如一个简单的r s s 阅读器,甚至只有一个页 面。每个页面上都包括有一些使用j a v a s c r i p t 开发的a j a x 组件。这些组件使用 1 4 江苏大学硕士学位论文 x m l h t t p r e q u e s t 对象以异步的方式( 就是不需要打断用户操作的后台方式) 与 服务器通信,从服务器获取需要的数据后,使用d o m a p i 来更新页面中的一部 分内容。因此a j a x 应用与传统的w e b 应用的区别主要在3 个地方: ( 1 ) 就服务器端与客户端的交互来说,它是一种基于数据的交互而不是基于 页面式的。不用刷新整个页面,在页面内与服务器通信。 ( 2 ) 使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的 响应能力。 ( 3 ) 应用仅由少量页面组成。大部分交互在页面之内完成,不需要切换整个 页面。 两种w 曲应用的区别见图2 4 ,因为对于浏览器端的客户来说,操作可以随 时进行,不会被打断,服务器端也因为要处理和返回的都是一些数据而不是整个 的页面,所以它的负担也明显降低,这样就很明显

温馨提示

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

评论

0/150

提交评论