




已阅读5页,还剩79页未读, 继续免费阅读
硕士论文-基于ExtJS框架的个人通信助理业务客户端的设计与.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中山大学 硕士学位论文 基于ExtJS框架的个人通信助理业务客户端的设计与实现 姓名:白文娜 申请学位级别:硕士 专业:软件工程 指导教师:任江涛 20090527 中山大学硕士学位论文中文摘要 论文题目:基于E x t J S 框架的个人通信助理业务客户端的设计与实现 专业:软件工程 硕( 博) 士生:白文娜 指导教师:任江涛讲师 摘要 号码百事通是基于中国电信1 1 4 服务全面升级的信息服务业务的统称。号码 百事通面向所有公众用户,商务领航面向所有企业用户,两大品牌覆盖了中国电 信的全部用户。中国电信推出号码百事通,就是要把固有的优势与未来的方向结 合起来,努力提升客户价值。号码百事通业务包含行业首查类业务、查询转接类 业务、信息发布类业务和通信助理类业务。 在广东省电信开展的“号码百事通 业务的背景下,本文主要研究其中的通 信助理类业务的个人通信助理的客户端实现。通信助理类业务包含了企业总机和 个人通信助理两大类主要业务,企业总机主要面向企业用户,而个人通信助理业 务主要面向个人用户,为个人用户提供方便快捷的操作。 随着A j a x 技术的广泛应用,现代的w e b 应用同传统的w e b 应用已经有了很 大的不同。首先在用户体验方面,传统的w e b 应用,用户只能发送独占式请求, 一旦请求发送出去,页面就处于等待状态,等待服务器响应完成,在服务器响应 完成之前,客户端的浏览器只能是一片空白,从而给用户的体验是不连续的。而 A j a g 技术提供了一种重大的改善,它给用户一种连续的体验,使用户感觉到自 己一直与应用处于交互状态。其次在应用架构上,传统w e b 应用主要由3 层组 成,而A j a x 技术的w e b 应用在传统w e b 应用的基础上增加了一个A j a x 引擎, 其实质是一层J a v a S c r i p t 代码。这些J S 代码可以在客户端保存用户状态而无须 使用s e s s i o n ,能够将控制器的部分功能转移到客户端界面。但是大量使用A j a x 技术的w e b 应用将会大大加重服务器的负担。 本文对A j a x 技术及基于A j a x 技术的E x 0 S 框架进行了认真的研究,并将这 些技术应用到个人通信助理项目客户端的具体开发中。 本文首先全面阐述了A j a x 背景技术,给出了A j a x 技术的相关理论知识,并 介绍了E x O S 工具库。然后讨论了个人通信助理客户端的具体需求,并且结合这 中山大学硕士学位论文中文摘要 个需求进行了客户端的开发过程和方案改进。最后,给出了本文工作的简要总结 和对下一步工作的展望。 关键词:号码百事通、A j a x 、E x t J S 、W e b 客户端 H 中山大学硕士学位论文 英文摘要 T i n e : M a j o r : N a m e : S u p e r v i s o r : R e s e a r c ha n dI m p l e m e n t a t i o no fw e bc l i e n to ft h eP e r s o n a l C o m m u n i c a t i o nA s s i s t a n tb a s e do nE x t J SF r a m e w o r k S o f t w a r eE n g i n e e r i n g B a iw e n n a l e c t o rR e n j i a n g t a o A B S T R A C T B e s tT o n ei st h en a m eo fa l lv a l u e - a d d e db u s i n e s sb a s e do n114p l a t f o r mo f C h i n aT e l e c o m B e s tT o n ei so p e nt oa l lp u b l i cu s e r s ;B u s i n e s sN a v i g a t o ri so p e nt o a l lb u s i n e s su s e r s ,a n dt h et w om a j o rb r a n d sc o v e r i n ga l lu s e r so fC h i n aT e l e c o m I n o r d e rt oe n h a n c ec u s t o m e rv a l u e , C h i n aT e l e c o ml a u n c h e dt h eb u s i n e s so fB e s tT o n e , t h r o u g ht h ew a yo fc o m b i n i n go u ri n h e r e n td o m i n a n tp o s i t i o na n dt h ef u t u r ed i r e c t i o n o fO U rd e v e l o p m e n t T h em a i nb u s i n e s s e so fB e s tT o n ec o n t a i nI n d u s t r yE n q u i r y b u s i n e s s ,E n q u i r i e s A d a p t e rb u s i n e s s , I n f o r m a t i o nR e l e a s eb u s i n e s sa n d C o m m u n i c a t i o nA s s i s t a n tb u s i n e s S 。 T h er e s e a r c hi sb a s e do nB e s tT o n ep r o j e c tw h i c h b e l o n g st oG u a n g d o n g t e l e c o m T h ea i mo ft h i sp a p e ri si m p l e m e n t a t i o no ft h eP e r s o n a lC o m m u n i c a t i o nA s s i s t a n t b u s i n e s sm o d u l ew h i c h b e l o n g s t o C o m m u n i c a t i o nA s s i s t a n tB u s i n e s s C o m m u n i c a t i o nA s s i s t a n tB u s i n e s sc o n t a i n st w om a j o rb u s i n e s s e s ,l e ya r eE n t e r p r i s e O p e r a t o ra n dP e r s o n a lC o m m u n i c a t i o nA s s i s t a n t E n t e r p r i s eO p e r a t o ri sm a i nf a c et o t h ec o r p o r a t eu s e r S ,a n dP e r s o n a lC o m m u n i c a t i o nA s s i s t a n tb u s i n e s si sf a c et ot h e p e r s o n a lu s C T Ss u p p l y i n gc o n v e n i e n to p e r a t i o n W i t hw i d e s p r e a da p p l i c a t i o n so ft h ea j a xt e c h n o l o g y , t h ed i f f e r e n c e sb e t w e e n m o d e r nw e ba p p l i c a t i o n sa n dt r a d i t i o n a lw e ba p p l i c a t i o n sb e c o m eq u i t el a r g e F i r s to f a l l ,a tt h eu s e re x p e r i e n c ea s p e c t ,w i t l lt r a d i t i o n a lw e ba p p l i c a t i o n su s e r sc a no n l y s e n dr e q u e s t sf o ra ne x c l u s i v es t y l et h a to n c es e n tt h er e q u e s t , t h ep a g ei si nw a i ts t a t e , w a i t i n gf o rt h es e r v e rr e s p o n s et ob ec o m p l e t e d ,b e f o r et h ec o m p l e t i o no ft h es e r v e r r e s p o n s e ,t h ec l i e n t S b r o w s e rC a no n l yb eb l a n k , S Ot h i sw i l ll e a dt ot h eu s e r I I I 中山大学硕士学位论文英文摘要 e x p e r i e n c ei sn o tc o n t i n u o u s I nc o n t r a s t ,a j a ) 【t e c h n o l o g yp r o v i d e sas i g n i f i c a n t i m p r o v e m e n t ,a n di to f f e r sac o n t i n u o u se x p e r i e n c ef o ru s e r s ,m a k et h e mf e e lt h a t t h e yh a v eb e e nw o r k i n gw i t ht h ea p p l i c a t i o ni nt h ei n t e r a c t i v es t a t e S e c o n d l y , a tt h e a s p e c to fa p p l i c a t i o na r c h i t e c t u r e ,t r a d i t i o n a lw e ba p p l i c a t i o n sm a i n l yc o m p o s e do f t h r e el a y e r s ,b u tt h ew e ba p p l i c a t i o n s 谢t l la j a xt e c h n o l o g yi sa d d e dab a s i ca j a x e n g i n eb a s e do nt h et r a d i t i o n a lw e ba p p l i c a t i o n T h ee s s e n c eo ft h ea j a xe n g i n e i sal a y e ro fJ a v a S c r i p tc o d e T h e s eJ a v a S c r i p tc o d e sC a ns a v et h eu s e rs t a t ew i t h o u t s e s s i o no nt h ec l i e n t ;a n dC a nt r a n s f e rp a r to ft h ec o n t r o l l e rf u n c t i o n a l i t yt ot h ec l i e n t i n t e r f a c e F i n a l l yt h eb u r d e no nt h es e r v e rs i d e ,u s i n gt h ea j a xt e c h n o l o g yt o om u c h , w e ba p p l i c a t i o n sw i l ll e a dt os u b s t a n t i a l l yi n c r e a s et h eb u r d e no nt h es e r v e r , r a t h e r t h a nt oa l l e v i a t e B yr e s e a r c h i n gt h et e c h n o l o g yo fa j a xa n dt h ef r a m e w o r ko fE x t J S ,t h e s e t e c h n o l o g i e sw i l l b ea p p l i e dt ot h e s p e c i f i c c l i e n td e v e l o p m e n to fP e r s o n a l C o m m u n i c a t i o n sA s s i s t a n tp r o j e c t I nt h i sp a p e r , a tf i r s tac o m p r e h e n s i v ei n t r o d u c t i o n o fa j a xb a c k g r o u n dt e c h n o l o g y , g i v et h er e l a t e da j a xt h e o r e t i c a lk n o w l e d g e ,a n dt h e n i n t r o d u c et h et o o ll i b r a r y E x O S T h en e x ts t e pi st od i s c u s st h es p e c i f i cn e e d so f P e r s o n a lC o m m u n i c a t i o n sA s s i s t a n t , a n dc a r r yo nt h ed e v e l o p m e n ta n di m p r o v e m e n t o ft h ec l i e n tb yc o m b i n i n gw i t ht h es p e c i f i cr e q u i r e m e n t s F i n a l l y , i tp r e s e n t sab r i e f s u m m a r ya n dt h ep r o s p e c t so ff u t u r ew o r k K e yW o r d s :B e s tT o n e ,A j a x ,E x O S ,W e bc l i e n t I V 学位论文使用授权说I , J j 论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容 外,本论文不包含任何其他个人或集体已经发表或撰写过的作品 成果。对本文的研究做出重要贡献的个人和集体,均己在文中以 明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:白甜岬 日期:沙c 7 年r 月a 7 日 学位论文使用授权声明 本人完全了解中山大学有关保留、使用学位论文的规定,即: 学校有权保留学位论文并向国家主管部门或其指定机构送交论 文的电子版和纸质版,有权将学位论文用于非赢利目的的少量复 制并允许论文进入学校图书馆、院系资料室被查阅,有权将学位 论文的内容编入有关数据库进行检索,可以采用复印、缩印或其 他方法保存学位论文。保密的学位论文在解密后使用本规定。 学位论文作者签名:晤3 卿 日期:川年s 月) 日7 翩弛伫墒 日期:知哆年月乙日 中山大学硕士学位论文绪论 第一章绪论 1 1 项目的背景和意义 随着中国电信的改革和重组,中国电信业的市场环境发生了根本性的变化 【l 】,中国电信服务市场逐步形成了从最初个别运营商垄断市场到数家大运营商主 导、多家小运营商参与、新运营商不断加入的电信市场竞争的新格局。 自从中 国加入W T O ,我国电信市场将逐步对外开放,一些世界级的电信巨头将通过多 种手段逐步渗透到中国电信市场。国内电信运营商正面对着一个全新的、更加 激烈的市场竞争环境。因竞争加剧而导致利润下降,迫使国内各电信运营商不得 不考虑寻求新的盈利模式,从而提升自身的核心竞争力。电信运营商意识到,客 户才是企业生存和发展的根基,而保持客户、吸引客户的盈收潜力是企业提高核 心竞争力的关键。如何通过提高客户的满意度及忠诚度,提升客户价值来扩大自 身的收入及利润等问题,成为各电信运营商关注的焦点课题。 号码百事通【2 删业务作为中国电信从“传统基础网络运营商 到“综合信息 服务提供商”战略转型的关键业务,不仅满足了前向查询用户查询需求,而且为 后向企业客户创造了优先接触目标消费者和发布商务广告的机会,同时满足了前 向用户方便快捷的生活信息服务和后向企业客户信息发布、商机获取、资源共享 等的双向需求。 号码百事通在中国电信集团公司战略转型过程中扮演着极具战略意义的角 色,其将成为未来电信业务收入的主要增长点。为支持业务的迅速开展,2 0 0 6 年 广东电信基于原本地网1 1 4 系统进行了紧急版本的升级改造工作,并着手启动 省集中平台建设工作,实现全省号码百事通系统平台的集中管理。本期工程从广 东省号码百事通业务长远规划出发,为加强对广东省号码百事通业务的管理、促 进业务可持续发展,建设一个全新的省集中号码百事通业务平台,该综合信息服 务平台将为广大公众用户提供便捷、全方位、多媒体的信息服务,从而使得“号 码百事通 成为广东电信全新的价值中心。 “号码百事通”业务主要包含四大类业务,分别是:行业首查类业务、查询 转接类业务、信息发布类业务和通信助理类业务。其中行业首查类的业务是在满 中山大学硕士学位论文 绪论 足查询用户模糊查询需求的基础上,面向被查询客户所提供的增值服务;查询转 接类业务是在满足公众用户号码查询的基础上,为查询客户提供的多种形式呼叫 或信息转接服务;信息发布类业务是在用户查询号码时,为查询者提供更多的基 于被查号码的信息查询,同时为被查询商户提供信息发布平台;通信助理类业务 是在满足客户号码信息服务需求的基础上,面向特定客户提供的通信助理增值服 务。本文研究的就是通信助理类业务中的个人通信助理。 基于以上原因,本课题的研究成果不但有助于解决电信在转型过程中的顺利 转型问题,而且有助于电信提升自我价值。因此对此课题的研究具有很大的实际 意义。 1 2 技术领域的开发现状 目前A j a x 已经成为了w e b 应用的主流开发技术,大量的业界巨头已经采纳 并且在大力推动这个技术的发展。最近的动态包矧4 】: I B M 、O r a c l e 、Y a h o o 、B E A 、R e x l H a t 、N o v e l l 等业界领先的公司启动了 O p e nA j a x 项目,致力于为A j a x 开发建造先进强大的开发工具。I B M 在 2 月底已经发布了O p e nA j a x 项目的A j a xT o o l k i tF r a m e w o r k ( A T F ) 1 0 , 是一个基于E d i p s eI D E 的A j a x 开发工具。 微软开发了自己的A j a x 框架A l t a s ,不过主要是和他们自己的服务器端 A S P N E T 框架配合工作。 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 作为流行的W e b 开发技术,由于其具有异步数据 请求和W e b 页面数据无刷新等特性,广泛应用于w e b 2 O 【5 】与R I A ( R i c hI n t e r n e A p p l i c a t i o n s 丰富互联网应用程序) t 6 1 中。在G a r r e t t 发表文章之前,G o o g l e 也已 经将A j a x 技术引入到包括G o o g l eS u g g e s t 、G m a i l 等多个产品中【7 1 ,其中公认最 优秀最复杂的A j a x 应用是G o o g l eM a p s 。由于完全基于A 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 脱颖 2 中山大学硕士学位论文绪论 而出,获得了用户的青睐。 从2 0 0 7 年开始E x O S 逐步在中国被大多数开发人员所知,并有大量敢尝试 新技术的先驱将它运用到项目中。虽然目前E x O S 技术的使用还处于成长期,从 E x O S l 1 到现在的E x O S 2 2 ,已经有越来越多的人开始关注和使用E x f l S 技术, 在未来出现的E x O S 3 0 将迎来E x U S 的成熟阶段。E x O S 技术处于不断的更新与 完善中,最新版本E x O S 2 2 ,比起之前的版本它主要有以下四个方面的改进【9 】: 增加对新运行环境的更好支持,如i e 8 C h r o m e 、M r 等;扩展了一些有用的方法 事件;A P I 文档完善;所存在b u g 的修正。 2 0 0 9 4 1 4 至2 0 0 9 4 1 6 日,伴随着E x t 官方讨论会的举办,E x O S3 0 版本的 发布已提上日程,虽然目前对3 0 方面的内容知晓尚少,但它依然是值得期待的。 E x O S 是一种跨浏览器的A j a x 框架,可以用其来开发R I A 也即富客户端的 A j a X 应用。目前已有很多公司在采用E x O S 框架,E x t 产品已遍布全世界的很多 行业。目前使用E x t 产品的公司主要有:A d o b e ,A e t n a ,C N N ,C i s c o ,E M C , I B M ,l i P 等。 由于E X T 是纯H t m l C S S + J S 技术,重新定义表示层的耦合,提供丰富的跨 浏览器U I 组件,灵活采用J S O N X M L 数据源开发,使得服务端表示层的负荷真 正减轻,从而达到客户端的M V C 应用,集成多种J S 底层库,满足开发者不同 需求,多浏览器支持、多厂家在使用,因而E X T 将会有一个不断发展与完善的 前景。 1 3 论文研究的主要内容 本文是在参与广东电信号码百事通业务的个人通信助理中完成的。是以通信 助理类平台为研究对象,在借鉴国内外已有的相关建设经验的基础上,构建个人 通信助理服务平台。系统中采用了A j a x 、E x O S 等技术,在本项目的开发与研究 中,本人主要完成的工作如下: 将E x O S 框架运用到项目中。通过对E x O S 框架的深入研究,对此框架的一 些基本的控件和函数进行一定的封装与改进,使之运用到个人通信助理项 目中。 设计并实现了个人通信助理的个人基本信息模块。 中山大学硕士学位论文绪论 设计并实现了通信薄管理模块。 设计并实现了短信发送模块。 设计并实现了个人总机模块。 设计并实现了日程提醒模块。 1 4 论文结构介绍 本论文首先介绍了项目相关的背景和研究意义,接着介绍项目中用到的相关 原理和技术,然后按照统一建模 1 0 】的思想,对项目进行需求分析、总体设计、 详细设计、然后是项目的实现和应用,最后是总结和展望。从论文的结构来看, 本文一共分七章,每一章的主要内容分别为: 第l 章,介绍了项目的研究背景和研究意义及技术领域的现状。 第2 章,介绍了和项目的相关的原理和技术。 第3 章,对个人通信助理业务进行了详细的需求分析。 第4 章,在第3 章详细分析的基础上,对系统架构进行了总体分析和设计。 第5 章,对个人通信助理业务客户端进行了详细设计,并详细阐述了具体的 实现过程。 第6 章,是项目的实现和应用,描述了开发工具和运行环境,说明了系统的 运行情况,并简单描述了个人通信助理与号码百事通其他子业务之间的关系。 第7 章,对系统的优缺点进行了总结,并指明了今后努力和研究的方向。 论文研究的重点是第4 、5 章,即根据个人通信助理项目的需求进行客户端 的分析和设计,这同时也是论文的主要研究成果。 1 5 本章小结 在本章中,首先对项目的研究背景进行了阐述,对号码百事通的业务进行了 分析,提出了建立个人通信助理服务平台的重要性和必要性。然后通过对个人通 信助理平台现状的研究,分析了所涉及的技术、应用领域和研究发展现状,并在 此基础上提出了本系统的研究目的和研究意义。最后阐述了本论文的主要研究内 容和论文的整体结构。 4 中山大学硕士学位论文 相关技术的理论介绍 第二章相关技术的理论介绍 2 1 A j a x 技术 A j a x 结合了J a v a 、X M L 、J a v a S c r i p t 等编程技术,可以让开发人员构建基于 J a v a 技术的W e b 应用,打破了使用页面重载的惯例。A j a x 是使用客户端脚本与 w e b 服务器交换数据的W 曲应用开发方法。这样,W e b 页面不用打断交互流程 进行重新加载,就可动态更新。使用A j a x ,用户可以创建接近本地桌面应用的 直接、高可靠、更丰富、更动态的W c b 用户界面。 A j a x 本身并不是全新的技术,而是一种集成的方法,使用几种现有的技术, 开发外观及操作类似于桌面软件的w e b 应用软件,实现A j a x 的所有组件都已经 存在了许多年。 在下面的各小节中会对A j a x 技术有一个比较详尽的介绍,将从A j a x 的定义, 基本特征,基本技术,常用框架等方面进行介绍。 2 1 1 A j a x 简介 A j a x 由J e s s eJ a m e sG a r r e t t 在2 0 0 5 年2 月发表的一篇题为A j a x :AN e w A p p r o a c h t ow e bA p p l i c a t i o n s t l l 】的论文中提出的。A j a x 不是一门新的语言或技 术,而是几种已有技术的组合体。 A j a x 由H T M L 、J a v a S c r i p t 技术、D H T M L 和D O M 组成,这一杰出的方 法可以将笨拙的w e b 界面转化成交互性极高的A j a x 应用程序。A j 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 d 垤I ,一一的缩写) 是一种对传 统W e b 应用模式加以扩展的技术,它使得“不切换页面向服务器发起请求成为 可能 【1 2 】。传统的w e b 应用模型与A j a x 模型的比较如图2 - 1 所示: 5 中山人学硕士学位论文相关技术的理论介绍 B r o w s e rc l i e n t U s e ri n t e r f a c e H r r PR e q u e s tH T M L + C S Sd a t a C l a s s i cw e ba p p l i c a t i o nm o d e l A j a xw e ba p p l i c a t i o nm o d e l 图2 - 1 传统W e b 应用模型( 左) 与A j a x 模型的比较( 右) n 3 】 从上图中可以看出,传统w e b 应用模型工作过程为:大部分界面上的用户 动作触发一个连接到w e b 服务器的H T T P 请求。服务器完成一些处理接收 数据、处理计算、再访问其它的数据库系统,最后返回一个H T M L 页面到客户 端。而对于A j a x 模型:通过在用户和服务器之间引入一个A j a x 引擎,这样就可 以消除W e b 的开始一停止一开始一停止这样的交互过程。它就像增加了一层机 制到程序中,使它响应更灵敏。不像加载一个页面一样,在会话的开始,浏览器 加载了一个A i a x 引擎一采用J a v a S c r i p t 编写并且通常隐藏在一个f x a m e 中。这 个引擎负责绘制用户界面以及与服务器端通讯。A j a x 引擎允许用异步的方式实 现用户与程序的交互不用等待服务器的通讯。所以用户再也不用打开一个空 白窗口,看到等待光标不断的转,等待服务器完成后再响应。 通常要产生一个H 1 口请求的用户动作现在通过J a v a S c r i p t 调用A j a X 引擎 来代替。任何用户动作的响应不再要求直接传到服务器,例如简单的数据校验, 内存中的数据编辑,甚至一些页面导航,引擎自己就可以处理。如果引擎需要从 6 中山大学硕士学位论文 相关技术的理论介绍 服务器取数据来响应用户动作假设它提交需要处理的数据,载入另外的界面 代码,或者接收新的数据引擎会使这些工作异步进行,通常使用X M L ,从 而不用再担心用户界面的交互问题。 传统的w 曲应用采用独占式的请求,而采用A j a X 技术的w e b 应用是异步发 送请求。两种请求方式的分别如图2 2 和图2 3 所示: 八弋石 - 时间 录黍星。 7 厂LJ叫 、 服务器靖 图2 - 2 独占式请求的示意酣1 4 】 。,擎: k广7厂7 7 委叹茎夕 | | 卑| 专 爹 萎 学|步 塞 票 I 应 i 应 1| 厂 吲鬻L 糟,吲 、 服务器端 图2 - 3 异步发送请求1 4 】 为了更加详尽的说明A j a ) 【的异步发送请求过程,图2 _ 4 用时序图展示了A j a X 模型在客户端与服务器之间往返交换数据的过程。 7 中山大学硕士学位论文相关技术的理论介绍 图2 - 4A j a x 数据处理时序图 2 1 2 A i a x 基本特征 传统的w e b 应用已经存在了很多年,针对传统w e b 应用的改进一直没有停 止过。在这个过程中也曾出现了一些技术与A j a x 非常相似,但不是真正的A j a x , 因此有必要对A j a x 应用的基本特征做一简单介绍。 A j a x 技术主要有以下三个基本特础1 5 】: ( 1 ) 异步发送请求 异步发送请求是A j a x 应用最核心的内容。如果没有异步发送请求这个特征, 无论页面做得多么丰富多彩,外观上多么美观,多么像桌面应用,其都不能是 A j a x 应用。 A j a x 应用的巨大改进之处在于给用户带来连续的体验;用户发送请求后, 还可以在当前页面进行浏览,或者继续发送请求,即使服务器响应还没有完成。 服务器响应完成后。浏览器并不是重新加载整个页面,而是仅加载需要更新的部 分。 8 中山大学硕:l :学位论文相关技术的理论介绍 ( 2 ) 服务器响应的是数据,而不是页面内容 与传统w e b 应用不同的是,服务器不再生成整个w e b 页面。生成整个页面 是一种非常“浪费”的行为,这种浪费不仅对用户不利,对服务器也不利。如当 用户从服务器完整下载一个w e b 页面后,随着服务器响应的到来,用户再次重 新下载新的页面,也许这两个页面的基本内容完全相似,只有极个别的数据需要 更新,但用户不得不下载全部页面,而服务器则不得不提供相应的带宽给用户下 载,这就会造成对服务器有限宽带的极大浪费。 例如对于一个实时的股票行情显示系统来说,每隔一段时间就需要实时刷新 一次当前的股票行情。当前页面的大部分内容( 图片和f l a s h 动画等) 都无须改 变,甚至股票名称文字也无须改变,需要改变的只是当前股票的价格。在传统的 w e b 应用里,每隔一段时间就需要重新重复下载整个页面,这不仅导致服务器的 负担加重,而且使用户处于一种不连续的体验中。 在A j a x 应用中,网络负载主要集中在应用加载期,即页面的第一次加载期。 一旦页面下载成功,就相当于在客户端部署了复杂的应用。之后的操作是相当迅 速的,客户端的J a v a S c r i p t 负责与服务器通信,从服务器获取必须更新的部分数 据,而不再是整个页面内容。因而,A j a x 的累积网络流量比传统w e b 应用要小 得多。 ( 3 ) 浏览器中的是应用,而不再是简单的视图 在传统的w e b 应用中,浏览器只是简单的视图,负责显示系统状态,并收 集用户信息提交给服务器,浏览器没有任何逻辑功能。当然,在传统w e b 应用 中,也不允许浏览器中包含逻辑,因为如果在页面中包含逻辑,随着用户请求的 提交,页面将会被丢弃,所有的逻辑都将丢失。 在传统的w e b 应用中,浏览器没有包含逻辑,更不能包含用户的会话状态。 页面频繁刷新,如果将状态保存在客户端,随着页面的刷新,用户会话状态将丢 失。 A j a x 应用则完全不同,浏览器不仅可以包含简单逻辑,还可以保存用户会 话状态,因为A j a x 应用无须刷新页面即可完成内容的动态更新。例如,在一个 简单的在线购物系统中,用户的购物车就是典型的会话状态。在传统的w e b 应 用中都是采用s e s s i o n 保存会话状态,即将用户的信息保存在服务器端。用户每 9 中u 学目I :学位论女相关技术的理论介* 次购买物品都必须提交一次请求,从而将购买物品提交到服务器s e s s i o n 巾。在 A j a x 麻用中,则无须使用s e s s i o n ,而是采用J a v a S c f i p t 变量保存J 日户购买的所有 物品;川户每次购买的物品也无须提交给服务器s e s s i o n ,而是直接修改浏览器 中的J a v a S c f i p t 变量。在这种情况下,w e b 页面既保存了用户的状态信息,又处 理了部分业务逻辑:直到用户提交购买,数据需要持久化时,J a v a S c d p t 爿将请 求送到服务器。 A j a x 应州初始化时,需要加载大量的J a v a S c f i p t 代码,这些J a v a S c d p t 代码 中已经包含了部分业务逻辑,而这些J a v a S c n p t 将在后台默默工作,负责处理部 分业务逻辑,异步提交请求,读取服务器响应数据以及负面动态更新。 2 1 3 A j a x 基本技术 传统意义上,A j i x 技术包含四个重要组件J a v 8 s c n p t 、D O M 、C S S 和 X M L H t t p R e q u e s t 对象。蹦2 - 5 展示了A j a x 技术的四个主要组件的关系。 。一 o I 凄厕 剁 幽25A j a x 技术四个组件的芰系【1 6 J 其中J a v a S c f p t 定义T J k 务规则和程序流程,D O M 用来控制文档结构,而 C S S 用来定义界面外观。X M L H t t p R e q u e s t 对象咀后台的方式从服务器获得数据, 中山大学硕士学位论文相关技术的理论介绍 而无需打断用户正在界面上执行的操作,这就大大延长了w e b 页面的寿命。 J a v a S c r i p t 是由N e t s c a p e 公司开发出来的产品,其目的是为了扩展N e t s c a p e N a v i g a t o r 的功能。J a v a S c r i p t 是一种可以嵌入到w e b 页面中的解释性语言。 J a v a S c r i p t 语言并不是J a v a 语言,它是一种脚本语言,其源代码无须经过编译, 可由浏览器直接解释执行。它是一种基于客户端浏览器的,面向对象的,事件驱 动式的脚本语言。在A j a x 中J a v a S c r i p t 主要被用来传递用户界面上的数据到服 务端并返回结果。 J a v a S c r i p t 有如下特性【1 7 】: ( 1 ) 简单性 J a v a S c r i p t 是一种脚本语言,它采用小程序段的方式实现编程,像其它脚本 语言一样,J a v a S c r i p t 同样是一种解释性语言,它提供了一个简易的开发过程。 它的基本结构形式与C 、C + + 、V B 、D e l p h i 十分类似。但它不像这些语言一样, 需要先编译,而是在程序运行过程中被逐行地解释。它与H T M L 标识结合在一 起,从而方便用户的使用操作。 ( 2 ) 动态性 J a v a S c r i p t 是动态的,它可以直接对用户或客户的输入做出响应,无须经过 W e b 服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓 事件驱动,就是指在主页中执行了某种操作所产生的动作,而这些操作就称为“事 件”。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后, 就可能会引起相应的事件响应。 ( 3 ) 跨平台性 J a v a S c r i p t 依赖于浏览器本身,而与操作环境无关,只要能运行支持J a v a S e r i p t 浏览器的计算机就可以正确执行。 ( 4 ) 节省C G I ( c o m m o ng a t e w a yi n t e r f a c e ) 的交互时间 随着w w w 的迅速发展,有许多w w W 服务器提供的服务要与浏览者进行 交流,确认浏览者的身份、需要服务的内容等等,这项工作通常由C G I P E R L 编 写相应的接口程序与用户进行交互来完成。很显然,通过网络与用户的交互过程 一方面增大了网络的通信量,另一方面影响了服务器的服务性能。服务器为一个 用户运行一个C G I 时,需要一个进程为它服务,它要占用服务器的资源( 如C P U 中山大学硕士学位论文相关技术的理论介绍 服务、内存耗费等) ,如果用户填表出现错误,交互服务占用的时间就会相应增 加。被访问的热点主机与用户交互越多,对服务器性能的影响就越大。而 J a v a S c r i p t 是一种基于客户端浏览器的语言,用户在浏览中填表、验证的交互过 程只是通过浏览器对调入H T M L 文档中的J a v a S c r i p t 源代码进行解释执行来完成 的。对于必须要调用C G I 的部分,浏览器也只是将用户输入验证后的信息提交 给远程的服务器,这就大大减少了服务器的开销。 D O M 是D o c u m e n tO b j e c tM o d e l ( 文档对象模型) 的简称。借助D O M 技术, 可以以直接、简单的方法操作结构化文档的每个标记内容。D O M 1 8 】是操作H T M L 和X M L 的应用程序接V I ( A P I ) ,D O M 把整个页面规划成由节点层构成的文档。 使用D O M ,可以采用编程方式操作文档结构,还可以改变文档的内容。通过使 用D O M ,H T M L 页面以一种结构化方式组织在一起,H T M L 页面的内容以节点 方式组织。w e b 程序开发者可以增加文件的节点、属性及事件,从而提供对H T M L 页面的动态更新,例如,d o c u m e n t 就代表了h t m l 文件本身,t a b l e 对象则代表了 H T M L 的表格对象等。D O M 也是A j a x 技术的核心技术,没有D O M ,J a v a S c r i p t 获取服务器数据后将无法动态更新H T M L 页面,获得的数据无法显示在用户的 当前浏览页面上。实际上,D O M 也是J a v a S c r i p t 获取页面数据的方式,即 J a v a S c r i p t 在发送请求之前,需要使用D O M 获取用户提交的数据。 C a s c a d i n gS t y l eS h e e t ( 级联样式单) 缩写为C S S 【1 9 1 ,也被称为层叠样式单, 主要用于网页风格设计,包含字体的大小、颜色以及元素的精确定位等。在传统 的w e b 网页设计中,使用C S S 能够使得原来单调的H T M L 网页更具有丰富的表 现力。对于a j a x 应用,当客户端的J a v a S c r i p t 获取了服务器数据后,需要将数 据动态显示在当前页面,这里的显示不是简单的输出,而是包括了丰富的显示格 式,这些丰富的显示格式自然离不开C S S 。 C S S 的优点如下: ( 1 ) 改变浏览器的默认显示风格 每个浏览器显示网页的方式各不相同,可以规定一个统一的样式,改变 H T M L 标签的默认样式,并且还可以用类选择器来自定义新的样式。 ( 2 ) 页面内容和显示样式分离 样式表可用于显示字体、修改颜色等,而不改变页面结构。这意味着设计人 1 2 中山大学硕士学位论文相关技术的理论介绍 员可以将网页的内容和显示的样式分离,并且对这两者进行不同的处理。 ( 3 ) 样式表可以重用 定义样式信息后,就可以将样式表嵌入到H T M L 文档中。另外,可以将布 局站点上所有页面链接到样式表。这样可以保证布局页面显示的外观一致。例如, 可以在样式表中放入共用背景、公司徽标和一些标准信息,以确保布局站点的外 观和感觉一致。如果布局有几百个网页,要为每个网页单独定义样式表,就会相 当麻烦。 ( 4 ) 一劳永逸 可以先创建一个样式表,然后将其与多个外文档链接,使这些文档全部具有 相同的外观,最重要的是,对样式表进行修改时,所有与该样式表链接的文档都 会体现所做的修改。 ( 5 ) 适用性广 目前几乎所有的浏览器都支持C S S 技术。 由于C S S 的上述优点,虽然它并不是A j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京顺义区北务镇卫生院招聘编外人员3人模拟试卷附答案详解(典型题)
- 2025贵州金沙县国有资本投资运营集团有限公司招聘经理层高级管理人员(财务总监)1人考前自测高频考点模拟试题及一套参考答案详解
- 2025年春季广东华兴银行校园招聘考前自测高频考点模拟试题及答案详解(网校专用)
- 2025吉林白山抚松县招聘高中教师9人模拟试卷及答案详解(名校卷)
- 2025年宣城宁国市人民医院招聘医疗卫生人才15人模拟试卷(含答案详解)
- 2025呼伦贝尔扎兰屯市社会福利中心护理员招聘模拟试卷及一套答案详解
- 2025年上海复旦大学附属浦东实验学校教师招聘模拟试卷及答案详解1套
- 2025广西百色市凌云县新活力劳务有限责任公司工作人员招聘8人考前自测高频考点模拟试题有完整答案详解
- 2025河南郑州市第六人民医院招聘模拟试卷及1套参考答案详解
- 2025黑龙江牡丹江市东宁市环境卫生中心招聘公益性岗位2人考前自测高频考点模拟试题及一套完整答案详解
- 箱变应急预案与响应方案
- 肿瘤患者家庭肠内营养护理
- 《拒绝沉迷手机远离“垃圾快乐”》班会课件
- 沉井顶管施工方案
- 锅炉设备更换技术方案
- 班次调度冲突解决
- 管理会计学 第10版 课件 第1、2章 管理会计概论、成本性态与变动成本法
- 领导科学之领导用人(经典)
- 大米先生管理制度
- 手术室仪器设备管理PPT
- 高中政治课程标准解读
评论
0/150
提交评论