已阅读5页,还剩49页未读, 继续免费阅读
(系统分析与集成专业论文)ajax在webmis与webgis中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 当前,基于b s 架构的w e b 应用程序开发已经成为一种主流。但是,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 ) 成为具有高度互动性和丰富u l 功能的w e b 应用程序网络时代的新 标准。 a j a x 是目前得到广泛认可的r i a 技术之一,极大地提高了w e b 程序的客户端控 制能力和响应速度。a s p n e ta j a x 是目前n e t 架构下开发a j a xw e b m i s 应用的 最好框架,e s r ia j a x 机制是目前n e t 架构下开发w e b g i s 应用的最好的体验开发 机制。在实际项目中,我们经常要将这两者结合,开发出具有w e b m i s 和w e b g i s 双重 功能的w e b 应用。但在开发的过程中,两者因为各自的机制不同必然会存在冲突,如 何解决这样的冲突问题,则是本文研究的一个重点。 贵阳市地方税务局税收管理员工作平台就是w e b m i s 和w e b g i s 结合开发的特例。 本文通过该项目的开发过程,演示了a j a x 技术在实际w e b 系统开发中的应用,同时 也提出了在项目开发过程中所遇到的舢a x 冲突问题。本论文的主要工作如下: 首先论述w e b 应用的发展,对r i a 应用及a j a x 技术做了简单的介绍。 其次,论文针对a s e n e t a j a x 框架进行深入全面的分析研究,通过在实际项目中 的应用,总结了a s e n e t a j a x 在w e b m i s 开发中所遇到的问题并提出了相应的解决方 案。 第三,通过w e b g i s 的概述,讨论了e s r ia r c g i ss e r v e r9 2a j a x 的机制,论述了 e s r i a j a x 在w e b g i s 中的应用,以及在应用过程中所遇到的问题,并提供相应的解决 方案。 然后,结合贵阳市地方税务局税收管理员工作平台,阐述利用v s 2 0 0 5 开发工具和 a j a x 技术在开发w e b m i s 和w e b g i s 相结合的系统中的应用,以及在应用中所遇到的 问题,并提供相应的解决方案。 最后,论文对所做的工作进行了总结,对a j a x 的研究进行了总结,并说明了未来 工作的研究方向。 关键词:a j a x ;w e b m i s ;w e b o l s ;a s p n e ta j a x ; e s r ia j a x a bs t r a c t a tp r e s e n t ,t h ew e ba p p l i c a t i o np r o c e d u r ed e v e l o p m e n tw h i c hi sb a s e do nt h eb s c o n s t r u c t i o nh a sb e c o m eo n ek i n do fm a i n s t r e a m b u tw e ba p p l i c a t i o nd o n tp r o v i d eg o o d o p e r a t i o ne x p e r i e n c ea tt h et i m et h a ti ti sf a s tp o p u l a t i o n ,f o rt h i sp r o b l e m ,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 ) b e c o m et h en e w s t a n d a r do fw e b a p p l i c a t i o np r o c e d u r ea ti n t e r n e tt i m ew h i c hi s h i g l l l yi n t e r a c t i v ea n dr i c hu if u n c t i o n a j a xi so n eo ft h er i at e c h n i q u e sw h i c hi sw i d es p r e a db ea p p r o v a l e dc u r r e n t l y i t e n h a n c e st h ec l i e n tc o n t r o la b i l i t ya n dt h er e s p o n s es p e e do fw e bp r o c e d u r ee n o r m o u s l y a s p n e ta j a xi st h eb e s tc o n s t r u c t i o nt h a td e v e l o p st h ew e b m i sa p p l i c a t i o no nt h e n e t f r a m w o r k ,e s r ia r c g i ss e r v e r 9 2a j a xm e c h a n i s mi st h eb e s te x p e r i e n c ed e v e l o p m e n t m e c h a n i s mt h a td e v e l o p st h ew e b g i so nt h e n e tf r a m e w o r k i na c t u a lp r o j e c t ,w e 1 1 c o m b i n et h e mf r e q u e n t l y , a n dd e v e l o p st h ew e b a p p l i c a t i o nw h i c hc o n t a i nt h eb o t hf u c t i o no f w e b m i sa n dw e b g i s b u ti nd e v e l o p m e n tp r o c e s s ,h o wt os o l v et h i sc o n f l i c tp r o b l e mw h i c h i sb o r ni nt h ed i f f e r e n tm e c h a n i s mi st h ek e yf o rt h i sp a p e ri sr e s e a r c h i n g t h eg u i y a n gc i t yl o c a lt a x a t i o nt a xm a n a g e rw o r kp l a t f o r mi st h es p e c i a le x a m p l eo f t h ew e b m i sc o m b i n e dw e b g i s t h o u g ht h ed e v e l o p m e n tp r o c e s so ft h i si t e m ,t h i sp a p e r d e m o n s t r a t e dt h eu s eo ft h ea j a xt e c h n o l o g yi nt h ep r e s e n t a t i o no ft h ea c t u a lw e bs y s t e m a t t h es a m et i m e ,t h i sp a p e rp u tf o r w a r dt h ec o n f l i c ta b o u ta j a xi nt h ep r o c e s so fd e v e l o p i n g t h ep r o j e c t m a j o r w o r ko ft h i sp a p e ri sa sf o l l o w s : a tf i r s t ,id i s c u s s e dt h ed e v e l o p m e n to ft h ew e ba p p l i c a t i o na n di n t r o d u c e dt h e a p p l i c a t i o na n dt h er i aa j a xt e c h n o l o g yb r i e f l y s e c o n d l y ,t h i sp a p e rd oa ni n d e p t hc o m p r e h e n s i v ea n a l y s i sa b o u tt h ea s e n e ta j a x f r a m e w o r k ,t h r o u g ht h eu s i n gi ni t e m ,s u m m e du pt h ep r o b l e m se n c o u n t e r e db yt h e d e v e l o p m e n to fa s p n e ta j a x i nw e b m i s ,a n dd e s i g n e ds o m e c o r r e s p o n d i n gs o l u t i o n s t h i r d l y , t h r o u g ht h eo v e r v i e wa b o u tw e b g i s ,w ed i s c u s s e dt h em e c h a n i s mo fe s r i a r c g i ss e r v e r9 2a j a x ,a n dt h ea p p l i c a t i o no fa r c g i s 9 2a j a x i nw e b g i s ,a n dd e s i g n e d c o r r e s p o n d i n gs o l u t i o n s t h e n ,t h i sp a p e rd i s c u s s e dt h ea p p l i c a t i o no fc o m b i n a t i v es y s t e mw h i c hi n c l u d ew e b m i s i l a n dw e b g i sd e v e l o p m e n tw i t hv s 2 0 0 5d e v e l o p m e n tt o o la n da j a xt e c h n i q u e ,a n dt h e q u e s t i o nw h i c hi n t h ea p p l i c a t i o np r o c e s sw i t hc o r r e s p o n d i n gs o l u t i o n ,w h i c hb a s e do n g u i y a n gc i t yl o c a lt a x a t i o nt a xm a n a g e r w o r kp l a t f o r m a tl a s t ,t h i sp a p e rd i das u m m a r ya b o u tm yw o r k ,a n dt h er e s e a r c ho fa j a xa n ds h o w e d t h er e s e a r c hd i r e c t i o ni nt h ef u t u r ew o r k k e y w o r d s :a j a x ;w e b m i s ;w e b g i s ; a s p n e ta j a x ;e s r ia j a x i i i 湖北大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 论文作者签名:丙,芝夕陧 日期:渺莒年占月知日 学位论文使用授权说明 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即: 按照学校要求提交学位论文的印刷本和电子版本;学校有权保存并向国家有关 部门或机构送交论文的复印件和电子版,并提供目录检索与阅览服务:学校可以允 许采用影印、缩印、数字化或其它复制手段保存学位论文;在不以赢利为目的的前 提下,学校可以公开学位论文的部分或全部内容。( 保密论文在解密后遵守此规定) 作者签名:两艺维 指导教师签名: 凇 日期:抄趴5 0 2 , o 日期:渤含r 2 - 0 1 引言 1 1 论文选题背景 1 引言 随着w e b 平台【1 】越来越成熟以及富因特网应用程序( r i a ) 【2 】架构的完善,各种w e b 应用技术也在不断地出现和发展。当前,a j a x 3 l 已经成为了w e b 应用的主流开发技术 之一,给w e b 页面带来了丰富的客户端交互效果和更化化的执行效率,成为了一种新 的w e b 开发模式。无论是w e b 的管理信息系统( m i s ) ,还是基于w e b 的地理信息系统 ( g i s ) ,都可以在其中寻找到a j a x 的活跃身影【4 1 。 目前,许多i t 业界巨头已经采纳并且在继续推动着a j a x 技术的发展,使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 等在线功能的成 功应用到i b m ,o r a c l e 等业界领先公司启动的o p e na j a x 项目,从微软的基于n e t 的 a j a x 框架a l t a s 到s u n 的基于j 2 e e 架构的b l u e p r i n t 框架,都可以看出,a j a x 技术已 经成为互联网时代w e b 平台的一把利剑。因此,研究a j a x 技术并且在此基础上做进 一步的应用和探索,是w e b 领域发展的一个必经之途。 a j a x 技术虽然在w e b m i s l 4 】和w e b g i s l 5 】方面有着广泛的应用,但它毕竟不是一个 万能的技术,也存在着不足。在w e b m i s 和w e b g i s 单独开发的过程中,a j a x 技术会 使得应用程序的执行效率和页面的交互效果得到加强,但是在开发过程中也会遇到开发 工具本身提供的机制与a j a x 技术不兼容的现象,是开发过程中的一大阻碍。同时,在 w e b m i s 和w e b g i s 相结合的系统开发过程中,基于不同机制的a j a x 技术也会产生冲 突。基于此,研究上迷脚a x 技术产生冲突的原因以及提出相应的解决方案是本论文研 究的一个重点。 1 2 研究内容和主要工作 本文将以贵阳市地方税务局税收管理员平台为例,就a s p n e ta j a x 框架和e s r i a j a x 机制在系统开发过程中的应用和冲突进行了详细探讨,并且在相关a j a x 技术的 原理与研究基础上提出了相应的解决方案。 1 3 论文的组织和结构 本论文共有六章,分别如下: 第一章引言。介绍论文选题背景,主要研究工作及组织结构。 湖北人学硕士学位论义 第二章a j a x 概述。对a j a x 提出的技术背景、基本技术特征和a j a x 构架中的各 种技术的特点进行了详实地阐述。分析了传统w e b 应用模式与a j a xw e b 应用模式的 区别。 第三章m i c r o s o f ta s p n e ta j a x 概述。阐述微软a s e n e ta j a x 原理及其在 w e b m i s 开发中的应用,并且详细探讨在应用过程中所遇到的相关问题,提出了相应的 解决方案。 第四章e s r ia r c g i s9 2a j a x 概述。阐述e s r ia j a x 原理和a r c g i ss e r v e r 9 2 a j a x 在w e b g i s 中的应用。 第五章税收管理员工作平台中的a j a x 应用。结合贵阳市地方税务局税收管理员 工作平台,阐述利用v s 2 0 0 5 开发工具和a j a x 技术在开发w e b m i s 和w e b g i s 相结合 的系统中的应用,以及在应用a j a x 技术开发过程中产生的冲突问题及相应的解决方 案。 第六章税收管理员工作平台的应用及a x 研究小结。对税收管理员工作平台的 应用情况作了简单说明,并对a j a x 的研究工作做了小结。同时,也总结了论文的内容 与不足之处,指出了论文有待继续完善的地方,为今后的进一步研究明确了方向。 2 2 a j a x 概述 2 1a j a x 概念 2a j a x 概述 触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 ( 异步j a v a s c r i p t 和 x m l ) ,是指一种创建交互式网页应用的网页开发技术【6 】。它有机地包含了以下几种技 术: 采用x h t m l 和c s s 进行基于标准的表示方式; 采用d o m ( d o c u m e n to b j e c tm o d e l ) 动态显示和交互操作; 采用x m l 和x s l t 进行数据交换和操作; 采用x m l h t t p r e q u e s t 进行异步数据获取; 采用j a v a s c r i p t 绑定上述技术应用; 所有的a j a x 应用程序实现了一种“丰富的”u i 这是通过j a v a s c r i p t 操作 h t m l 的d o c u m e n to b j e c tm o d e l l 7 ,并且由x m l h t t p r e q u e s t 实现的精确数据检索定位 来实现的。 2 2 为什么要使用a j a x 2 2 1 传统的w e b 开发模式 传统的w e b 开发模式【8 】是一种请求一一刷新响应的模式,每个请求由单独的一 个页面来显示,发送一个请求就会重新获取这个页面,也就是常说的刷新。在这种模式 下,每个应用程序由多个页面组成,每个页面对应到服务器端的一个业务逻辑,或者说 是功能块。而在客户端显示的页面实际上只是一个纯界面性质的东西。 3 湖北人学硕l j 学位论文 + 、 6 服务器端 厂、 ,r 、厂、 厂 、 p a g e n i p a g e l lp a g “l、l w e b 服务器 。 。 ”ih t t p 4 专输 。i 。+ 一+ 、; k 。巍。一# ;, ,缸玩? i ;矗口疵幢艘僦j # 弘u 觅器 厂、 ,、 厂、 厂 、 p a g e l l p a g e 2 p a g e n l 客户端 图2 - 1 传统w e b 开发模式体系结构图 从图2 - 1 中可以看出,客户端的每个页面都对应服务器端的一个页面,而应用程序 的功能则由各个页面组成。每个子功能可能对应到一个页或多个页面,这取决于设计人 员的考虑。虽然开发方式灵活多样,但有一点不变,就是当用户需要获取一条信息时, 它必须将信息对应到一个页面,由浏览器发送这个请求,服务器接收到请求后会将整个 页面作为一个整体提供给用户,而不管页面中是否包含冗余的信息。很显然,这对于用 户来说降低了其访问速度,从而被迫接受了无用的信息。 2 2 2 基于a j a x 的开发模式 在a j a x 中,每个客户端页面不一定是对应一个服务器端页面,而可能是由多个服 务器端页面共同协作完成该页面所需要的功能。大多数服务器端的页面已经不再是界面 表现的工具,而是作为提供数据的接口,x m l h t t p r e q u e s t 对象能够获取这些页面的信 息,并将其提供给客户端页面的尉a x 引擎【9 1 ,由a j a x 引擎来处理这些数据并表现到 页面,图2 2 示意了这样的结构。 4 2 a j a x 概述 服务器端 ( p ? - )( p 警2 ( 二一( p 攀n 0 7丌 w e b n 务器 又 | 。乏:i ji ,1 璎传输。j _ - j u 。,i = 。: ,、,、 浏览器 n 、 、心 ( p 三t ( p 毒2 ( l l 隗e n j 客户端 图2 2 基于a x 的w e b 开发模式体系结构图 由图2 2 中可以看出,在a j p d | ( 中,每个客户端表现的页面可以由多个服务器端页 面共同完成,一个服务器端页面可以为多个客户端页面服务。在这样的模式下,每个服 务器端页面可以将功能的粒度分的很细,至于这些功能怎么组合,则完全是客户端的事。 通过舢a x 引擎,客户端页面可以根据需要来调用服务器端相应的页面,获得数据并显 示在页面上。此时许多服务器端页面已经不能称之为页面,而应该称之为接口。 2 2 3 两种开发模式的比较 传统w e b 模式的工作流程 在传统w e b 模式中是一种同步的概念:用户必须等待每个请求,当一个请求完成后 才能获得结果,在使用完这些结果后才会发出新的请求。图2 3 描述了传统的w e b 程序 工作流程【l o 】。 5 湖北人学硕十学位论文 c l a s s i cw e ba p p l i c a t i o nm o d e l ( s y n c h r o n o u s ) c ; 的偿私弹 群q 蹦? 嬲口1 9 譬矗节馘煳tp r o c 齄铂甜够 燃v j r 图2 3 传统w e b 程序的工作流程图 从图中可以看出,在传统的w e b 开发中,完全是种请求一刷新响应的模 型,用户只有等请求完成后才能进行用户操作,操作完成后才能提交下一个请求,用户 行为和服务器行为是一种同步的关系,需要相互等待,正是因这种等待,造成了b s 架 构客户端和c s 架构客户端的本质区别。 a j a x 程序的工作流程 与传统的w e b 应用不同,在脚a x 的w e b 程序中,最重要的特征就是将同步请求 转变为了异步请求。这意味着客户端与服务器端不必再互相等待,而是可以进行一些并 发的操作。用户在发送请求以后,可以继续在当前页面中进行浏览或是交换信息。在服 务器端响应完成之后,a j a x 引擎会将更新的数据显示给用户,而用户则根据响应内容 来决定自己下一步的行为。图2 4 描述了a j a x w e b 程序的工作流程n 0 。 a j a xw e ba p p l i c a t i o nm o d e l ( a s y n c h r o n o u s ) 移l ;i 强 “ 彩銎 v i : 鲫o 孽鞘打豫p r o c 删r 蟹翻旧c 鬯鼠蝣i gp i n o o 觏蹲 霸臻 图2 4 基于a j a xw e b 程序的工作流稗图 6 2 a j a x c 述 在服务器端和客户端之间的a j a x 引擎层,主要负责处理用户的行为,并转化为对 服务器的请求。同时它接收服务器端的返回信息,经过处理后显示给用户。由于a j a x 在后台以异步的方式工作,用户无需等待服务器的处理,可以进行并发工作,这就在用 户界面层次上更接近了c s 架构的客户端平台。 2 2 4a l a x 、e b 程序优势 使用a j a x 可以带来的好处有以下几个方面【1 1 】。 ( 1 ) 减轻服务器的负担。a j a x 的原则是“按需取数据”,可以最大程度地减少冗余 请求,减轻服务器的负担。 ( 2 ) 无需刷新页面,减少用户的等待时间。 ( 3 ) 带来更好的用户体验。 ( 4 ) 可以把一些服务器端的工作转嫁到客户端,利用客户端限制的能力来处理,减轻 服务器的负担,充分利用带宽资源,节约空间和宽带租用成本。 ( 5 ) 可以调用外部数据。 ( 6 ) 基于标准化的并被广泛支持的技术,不需要下载插件或小程序。 ( 7 ) 进一步促进页面呈现于数据的分离。 2 3a j a x 技术的核心 2 3 1x m l h t t p r e q u e s t a j a x 的一个最大的特点是无需刷新页面便可向服务器传输或读写数据( 又称无刷 新更新页面) ,这一特点主要得益于x m l h t t p 组件x m l h t y p r e q u e s t 对剩1 2 l 。这样做 的好处是使得桌面应用程序只同服务器进行数据层面的交换,而不用每次都刷新界面, 也不用每次将数据处理的工作提交给服务器来做,这既减轻了服务器的负担又加快了响 应速度、缩短了用户等候的时间。 最早应用x m l h t t t 的是微软i e ( i e 5 以上) 通过允许开发人员在w e b 页面内部使 用x m l h t i pa c t i v e x 组件【”j 扩展自身的功能,开发人员可以不用从当前的w e b 页面 导航而直接传输数据到服务器上或者从服务器取数据。这个功能很重要,因为它帮助减 少了无状态连接的痛苦,它还可以排除下载冗余h t m l 的需要,从而提高进程的速度。 m o z i l l a ( m o z i l l a l 0 以上及n e t s c a p e 7 以上) 做出的回应是创建它自己的继承x m l 代理 7 湖北人学硕十学位论义 类1 1 4 l :x m l h t t p r e q u e s t 类k o n q u e r o r ( 矛ls a f a r iv 1 2 ,同样也是基于k h t m l 的浏览器) 也 支持x m l h t t p r e q u e s t 对象,而o p e r a 也将在其v 7 6 x + 以后的版本中支持 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 r p 组件很相 似,方法和属性也类似,只是有- d , 部分属性不支持。 2 3 2j a v a s c r i p t j a v a s c r i p t 1 5 】是一个在浏览器中大量使用的编程语言,它以前一直被贬低为一门糟糕 的语言( 它确实在使用上比较枯燥) ,因此常被用来制作一些炫耀的小玩意和恶作剧或 是单调琐碎的表单验证。但事实是,它是- - f q 真正的编程语言,有着自已的标准并在各 种浏览器中被广泛支持。 2 3 3d o m 文档对象模型( d o c u m e n to b j e c tm o d e l ) 1 1 0 j 。d o m 是给h t m l 和x m l 文件使用的 一组a p i 。它提供了文件的结构表述,让你可以改变其中的内容及可见物。其本质是建 立网页与s c r i p t 或程序语言沟通的桥梁。所有w e b 开发人员可操作及建立文件的属性、 方法及事件都以对象来展现( 例如,d o c u m e n t 就代表“文件本身”这个对像,t a b l e 对象 则代表h t m l 的表格对象等等、) 。这些对象可以由当今大多数的浏览器以s c r i p t 来取用。 一个用h t m l 或x h t m l 构建的网页也可以看作是一组结构化的数据,这些数据 被封在d o m ( d o c u m e n to b j e c tm o d e l ) ,d o m 提供了网页中各个对象的读写的支持。 2 3 4x m l 可扩展的标记语言( e x t e n s i b l em a r k u pl a n g u a g 1 0 】具有一种开放的、可扩展的、可 自描述的语言结构,它已经成为网上数据和文档传输的标准。它是用来描述数据结构的 一种语言,就正如它的名字一样。它使得对某些结构化数据的定义更加容易,并且可以 通过它和其它应用程序交换数据。 8 3m i c r o s o f ta s p n e ta j a x 框架 3m i c r o s o f ta s p n e ta j a x 概述 m i c r o s o f ta s e n e t 脚a x 框架【1 6 】可以说是目前对a j a x 技术最完备且功能强大的 封装。它包括完善的对客户端面向对象编程的支持、丰富的客户端服务器端组件、客户 端h i 务器端类型的自动转换、自动将服务器端页面方法或w e bs e r v i c e 方法暴露给客户 端、为远程w e bs e r v i c e 提供本地客户端代理等非常强大的功能。 3 1a s 只n e t 删框架概述 a s e n e t a j a x 框架主要包括客户端部分和服务器端控件。 客户端部分,即m i c r o s o f ta j a xl i b r a r y l l 们,是一个跨浏览器、跨平台的刖a x 客 户端解决方案。它包括类似a s e n e t 服务器端控件一样良好的封装的、可以运行于各 种主流浏览器之上的各种客户端组件。这些组件可以使用j a v a s c r i p t 以编程方式或者一 种a s p m 玎a l a x 特定的、基于x m l 的声明式脚本语言,借助于a s e n e t a j a x 客户 端框架中的绑定概念将其方便而又高效地连接起来,以构成功能强大的、纯粹的客户端 a j a x 应用程序。 服务器端控件,即a s e n e t 2 0a j a xe x t e n s i o n s l l 6 1 ,是客户端部分j a v a s c r i p t 组件 在服务器端的封装。这些服务器端组件为基于a s p n e t 的应用程序提供了另一种a j a x 的实现方式采用一种和a s e n e t 完全一样的服务器端控件开发模型。作为对现有 a s r n e t 服务器端组件的扩展,a s e n e t2 0a j a xe x t e n s i o n s 提供的服务器端组件可以 让开发者充分使用他们现有的a s e n e t 开发知识,无需书写一行j a v a s c r i p t 代码,甚至 不用了解a j a x 的任何实现原理,只通过在v i s u a ls t u d i o 中拖拖放放即可开发出带有强 大a j a x 功能以及丰富用户体验的富客户端应用程序。 3 2a s p n e ta j a x 的特性 a s e n e ta j a x 的主要设计目标有两点:第一,对现有的a s e n e t 服务器端模型 进行扩展,让其可以生成实现富客户端的j a v a s c r i p t 代码;第二,为a s e n e t 增加客户 端编程模型,让纯粹的客户端编程变得更加简单。 9 湖北人学硕l j 学位论文 3 2 1 服务器端特性 ( 1 ) 开发者无需了解j a v a s c r i p t ,只要熟悉a s p n e t 的开发方式,a s p n e ta j a x 就 可将所需的客户端脚本自动发送至浏览器并执行。 ( 2 ) 对客户端异步调用服务器端方法,a s p n e ta j a x 提供服务器端客户端数据类 型的自动转换、自动将服务器端页面方法或w e bs e r v i c e 方法暴露给客户端、为远程w e b s e r v i c e 生成本地客户端代理等功能。 ( 3 ) 和v i s u a ls t u d i o 开发环境无缝集成,提高开发效率。 3 2 2 客户端特性 ( 1 ) 对j a v a s c r i p t 进行扩展,使其支持完全面向对象方式编程。 ( 2 ) 提供跨浏览器的兼容性支持。 ( 3 ) 内建大量客户端组件,避免重复开发。 ( 4 ) 借助于强大的绑定功能,a s e n e ta j a x 提供了一种a s e n e ta j a xx m l 脚本 ( a s p n e t a j a xx m ls c r i p t ) 。适合于面向组件式编程。 3 3a s p n e ta j a x 架构 a s e n e ta j a x 是由客户端脚本库( c l i e n t - s c r i p tl i b r a r i e s ) 着l 服务器端组件( s e r v e r c o m p o n e n t s ) 构成的【1 7 1 ,它们集成在一起共同构成一个功能强大的开发框架。a s e n e t a j a x 客户端组件将运行于浏览器中,提供管理界面元素、调用服务器端方法取得数据 等功能。a s p n e ta j a x 的服务器端控件则主要为开发者提供一种他们熟悉的、与 a s e n e t 一致的服务器端编程模型。服务器端组件将在运行时自动生成a s e n e t a j a x 客户端组件,并同样发送至客户端浏览器执行。 1 0 3 3 1 服务器端架构 0 s e r v a s p , n e ta 3 a xe x t e n s i o n s s c r i p ts u p p o r t i q 臼l l z a t i o n ,g l o b a i t f a tj o n d e b u g g i n g t r a c i n g w e bs e r v l c e s p r o x yg e n e r a t i o n ,p a g e h 吐h o c j s x m l s o n s e r b i i z a t i o n a p p l i c a t i o ns e r v i c e s a u t h e n t t c a u o nap r o f l s e r v e rc o n t r o l s s c 啦t h a n a g e u p d a t e p a n e l ,f u d d a t e p r o g r e s s t i m e r 倒3 - 1a s e n e t a j a x 服务器端梨构 a s e n e t a j a x 建正r a s e n e t 框架之上服务器端部分主要有两个功能:第一, 发送给客户端其运 i 所必需的j a v a s c r i p t 脚本:第,将a s e n e t 提供的丰富的功能以 j a v a s c r i p t 的形式暴露给客户端使用。其构成部分如下: ( ”a s e n e t a j a x 服务器端控件 曰盛| 日囵 + 耵l 。 + 毹 + i 一 + 擎诖 + 导牖 + 墨慕 + e 时。矗 + c 。 t - 1e 。p o f t j 厂二 i i l 五五i 盂一一 i 指针 t r l s e tl ”m 。r !ls “p 州8 r p r a n a r ”一 ”p d a t 。p 蛐e l 酗3 - 2a s e n e t a j a x 服务器端控什 s c r i p t m a n g e r 控什和s c r i p t m a n a g e r p r o x y 控件:主要用于管理脚奉莒 源,生成客 湖北人学倾ij 学位论文 户端脚本。提供实现a s p n e t a j a x 功能的基础设施。 u p d a t e p a n e l 控件:主要用于实现页面的局部更新。 u p d a t e p r o g r e s s 控件:页面局部刷新时显示状态信息。 t i m e r 控件:在间隔时间内执行整个页面的提交操作或者是局部页面的提交操 作。 ( 2 ) a s e n e ta j a xw e bs e r v i c e a s p n e t a j a x 提供了w e bs e r v i c e 功能【1 7 1 ,该功能把客户端脚本与a s e n e t 应用 服务协同在一起工作,旨在为窗体认证和用户文档提供服务。这样的一个优势是使得开 发者可以利用客户端脚本通过窗体认证以实现源代码保护,以及保证在服务器端用户特 殊的设置。此外,a s e n e t a j a x 所包含的网络组件使得a j a x 能够从任何w e bs e r v i c e 的调用中更为容易地返回结果。 ( 3 ) a s p n e ta j a x 服务器端扩展器控件 这部份控件作为原有a s e n e t 服务器控件的扩展,旨在为这些控件提供某些客户 端a j a x 行为。 3 3 2 客户端架构 8 t m 篼l r o s o 敛a 】a x “b r a r y ! ”一 ;c o m p o n e n t s n o n - v i s u a lc o r n p o r t e n t 骞, ; b e h a v i o r s ,c o n t r o | s : “4 “ 一“ ; b r o w s e rc o m p a t i b i t i t y ; ; s u p p o r t 缅rh u :r o s o f t ii n t e r n e te x p l o r e r , m o z l l l a f i r e f o x ,a p p l es a f a r ii 图3 3a s e n e ta j a x 客户端架构 a s p n e t a j a x 客户端脚本库由j a v a s c r i p t ( j s ) 文件构成,这些文件为面向对象的开 1 2 3m i c r o s o f ta s p n e ta j a x 框架 发提供相关特性。a s p n e t a j a x 客户端脚本库包括以下几层: ( 1 ) a s p n e t a x 客户端控件组件:这部分中包含了大量类似a s e n e t 服务器端 控件一样良好封装、模块化的客户端控件组件。开发者只需要创建一个控件组件对象, 就可以面向对象的方式使用它们封装好的强大功能。同时,作为控件开发者,也可以很 方便地通过继承等面向对象方式来对现有的控件组件进行扩展。 ( 2 ) 浏览器兼容层:j a v a s c r i p t 和d o m 的实现,在每个浏览器中都有一些轻微的差异, 其中最明显的莫过于不同浏览器对x m l h t t p r e q u e s t 对象的实现了。a s e n e ta j a x 的 浏览器兼容层是所有其他a s e n e ta j a x 功能的基础,旨在抹平各个浏览器之间的差 异,提供给他各层统一的应用编程接口。 ( 3 ) 网络访问层:该层将操作x m l h t t p r e q u e s t 对象的复杂性封装起来,并为上层以 及开发者提供一个简单明了的应用编程接口,只要书写几行代码即可完成相关功能。该 层还包括了服务器端发送来的a s e n e t a j a x 客户端代理的代码,通过这些代理,即可 访问到服务器端的相应资源。 ( 4 ) 核心功能实现层:该层旨在扩展客户端j a v a s c r i p t 的功能,让j a v a s c r i p t 变成 个完全面向对象的语言,在程序设计上得到优化。 3 4 异步通信层 a s p n e ta j a x 的异步通信层【1 8 】是a s p n e ta j a x 框架中最为重要的核心内容。 在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 r e q u e s t 对象与服务器建立联 系的过程中,用户可以不用管这些联系过程,只需继续在页面中浏览甚至做其他操作。 直到服务器端通过x m l h t t p r e q u e s t 对象返回了这次交互的响应,页面才发生更新,进 而让用户知晓这一联系过程。与传统的w e b 应用程序中客户端与服务器端交互期间用 户只能望着浏览器的进度条默默等待的情况相比,“异步”通信在提高用户体验方面确 实向前迈出了不小的一步。 但从开发者角度而言,“异步”照顾了“用户体验 ,但却忽视了“开发体验”。所 以,a s p n e ta j a x 框架的另一个亮点就是对这种异步通信功能进了良好的封装,建 立了客户端框架对j a v a s c r i p t 的扩展。 1 3 湖北人学硕士学位论义 - , 3 4 1 异步通信层的功能 a s p n e ta j a x 的异步通信层允许在浏览器中通过使用j a v a s c r i p t 直接调用位于服 务器端的w e bs e r v i c e 方法,异步通信层内部使用x m l h t t p r e q u e s t 对象完成这一调用 过程,并为开发者提供一系列经过良好封装的、清晰易用的a p i 。 a s p n e ta j a x 的异步通信层提供了如下功能: 允许开发者用j a v a s c r i p t 代码异步调用服务器端方法。 能够直接调用定义在w e bs e r v i c e ( a s m x 文件) 中的服务器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年公需科目高质量发展专题考试试题及答案
- 2026安全培训交通安全考试试题及答案
- 2026湖南益阳市第三人民医院合同制人员招聘20人考试参考题库及答案详解
- 2026西北工业大学航天学院先进系统技术实验室招聘非事业编制人员2人考试备考试题及答案详解
- 2026华北医疗健康集团峰峰总医院精神卫生中心招聘7人笔试参考题库及答案详解
- 2026广东广州市黄埔区水务设施管理所招聘中级政府雇员1人考试备考试题及答案详解
- 2026年武功县网格员招聘考试模拟试题及答案解析
- 2026广西南宁市融晟小学年秋季学期顶岗教师招聘笔试模拟试题及答案详解
- 2026年涡阳县中小学幼儿园教师招聘考试备考试题及答案解析
- 2026广东茂名化州市中医院选聘医生3人笔试备考题库及答案详解
- AI赋能组织发展:从效率提升到战略重构的全景实践
- 小区安全排查管理制度
- 食堂三减培训
- 船舶行业船舶检验与维修操作手册(标准版)
- 2026年桥梁施工中的天气影响及质量应对措施
- 油田集输培训课件
- 昆山市建筑垃圾污染环境防治规划 (2023-2035)
- 《奏响中学序曲》课件
- 第41届全国中学生竞赛复赛物理试题(解析版)
- 犬猫临床病理学课件
- 2024年广西壮族自治区建筑装饰装修工程费用定额
评论
0/150
提交评论