已阅读5页,还剩60页未读, 继续免费阅读
(管理科学与工程专业论文)RIA客户端技术研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
r i a 客户端技术研究与应用 摘要 随着计算机应用技术的发展,出现了一种新的应用架构,称为富互联网应用 ( 简称a ) 。r i a 是一种基于w e b 的c s 架构,综合了c s 架构和b s 架构的优 点。r i a 的核心是富客户端,提供了丰富的用户界面和与后台应用服务器的异步 通信方式,解决了b s 架构的弊端,提高了w e b 应用的用户体验。由于a 的 优点,各大i t 公司都纷纷推出了r i a 的客户端技术,一些开源团体也推出了开 源的技术,如何选择合适的客户端技术,以相对较小的成本,来开发高质量的 刚a 客户端,成为摆在w e b 开发人员的一个问题。 本文针对一个将传统的b s 架构的w e b 应用升级为m a 的实际项目开发, 通过对刚a 架构的研究,特别是在分析和比较了各种客户端开发技术的基础上, 选择以a j a x 技术作为r i a 的客户端的开发技术,并选择了a j a x 开发工具包d o j o 作为开发工具来开发系统的客户端。随后对a j a x 技术和d o j o 工具包进行了研究。 在r i a 项目的客户端开发过程中,通过将客户端划分为模块,将模块设计为 组件,进行组件的动态载入和销毁,并通过对每个组件的内存释放进行测试,解 决了客户端占用浏览器内存过高和内存泄漏问题。同时针对d o j o 自定义组件机 制将用户界面显示,事件响应和后台通信混在一起,不适应复杂组件开发的问题, 将自定义组件机制进行了拆分,划分为视图,模型和控制器,通过继承和扩展了 d o j o 的组件机制,设计了相应的基类,使组件层次清楚,增加了客户端的可维 护性。最后,根据设计,实现了各个组件,完成了该应用的客户端开发。 最后总结本文的主要研究工作,对砒a 的发展趋势和下一步工作进行展望。 关键词:剐认;客户端技术;a j a x ;d o j o ; r i ac l i e n t s i d et e c h n o l o g yr e s e a r c ha n d a p p l i c a t i o n a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e ra p p l i c a t i o nt e c h n o l o g y , t h e r ec o m e san e w k i n do fa p p l i c a t i o na r c h i t e c t u r e ,c a l l e dr i c hi n t e r n e ta p p l i c a t i o n s ( r e f e r r e dt oa sr i a ) r i ai saw e b b a s e dc sa r c h i t e c t u r e ,ac o m b i n a t i o no fc sa r c h i t e c t u r ea n db s a r c h i t e c t u r ea d v a n t a g e s r i a c o r ei sr i c hc l i e n t ,w h i c hp r o v i d ear i c hu s e ri n t e r f a c e a n da s y n c h r o n o u sc o m m u n i c a t i o nw a yt ob a c k g r o u n da p p l i c a t i o ns e r v e r , s o l v et h e b sa r c h i t e c t u r eo ft h ed i s a d v a n t a g e sa n de n h a n c et h eu s e re x p e r i e n c eo ft h ew e b a p p l i c a t i o n s b e c a u s eo ft h ea d v a n t a g e so fr i a ,t h em a j o ri tc o m p a n i e s h a v e l a u n c h e dr i ac l i e n tt e c h n o l o g i e s ,s o m eg r o u p sh a v ea l s ol a u n c h e dt h eo p e n s o u r c e t e c h n o l o g i e s ,t oc h o o s eas u i t a b l ec l i e n t s i d et e c h n o l o g yt od e v e l o ph i g h q u a l i t yt h e r i ac l i e n tw i t har e l a t i v e l ys m a l lc o s t ,b e c o m eap r o b l e mt ow e bd e v e l o p e r s i nt h i sp a p e r , a i mt ou p d a t eat r a d i t i o n a lb sa r c h i t e c t u r ew e ba p p l i c a t i o nt o r i a ,t h r o u g ht h es t u d yo fa r c h i t e c t u r eo fr i a ,e s p e c i a l l yi nt h ea n a l y s i sa n d c o m p a r i s o n o fav a r i e t yo fc l i e n t - s i d ed e v e l o p m e n tt e c h n o l o g i e s ,s e l e c ta j a x t e c h n o l o g yr i a c l i e n ta st h ed e v e l o p m e n tt e c h n o l o g ya n ds e l e c tt h ed o j ot o o l k i ta sa d e v e l o p m e n tt o o lt od e v e l o pt h er i a c l i e n t t h e na j a xa n dd o j ot o o l k i tt e c h n o l o g y i ss t u d i e d a tt h ec l i e n td e v e l o p m e n to fr i ap r o j e c t ,t h r o u g hd i v i d i n gt h ec l i e n ti n t om o d u l e s , d e s i g n i n gm o d u l e sf o rt h ec o m p o n e n t s ,d y n a m i cl o a d i n ga n d d e s t r u c tc o m p o n e n t s , a n db yt e s to fm e m o r yr e l e a s eo fe a c hc o m p o n e n t ,r e s o l v et h ep r o b l e m so ft h eh i 曲 o c c u p i e db yt h ec l i e n tb r o w s e rm e m o r ya n dm e m o r y l e a kp r o b l e m a tt h es a m et i m e f o rt h ed o j oc u s t o mw i d g e tm e c h a n i s mm i x e du s e ri n t e r f a c e ,e v e n th a n d l ea n ds e r v e r c o m m u n i c a t i o n ,n o ts u i t e dt od e v e l o pc o m p l e xc o m p o n e n t s ,d i v i d et h e c u s t o m c o m p o n e n t i n t ov i e w , m o d e la n dc o n t r o l l e r , t h r o u g hi n h e r i t a n c ea n de x p a n s i o no ft h e m e c h a n i s mo fd o j ow i d g e t ,d e s i g nt h ec o r r e s p o n d i n gb a s ec l a s s ,s ot h a ti n c r e a s et h e l e v e lo fc o m p o n e n t sa n dm a i n t a i n a b i l i t yo ft h ec l i e n t f i n a l l y , i na c c o r d a n c ew i t ht h e d e s i g n ,i m p l e m e n to ft h ev a r i o u sc o m p o n e n t s ,a n df i n i s ho ft h e c l i e n ta p p l i c a t i o n d e v e l o p m e n t f i n a l l y , c o n c l u d et h em a i nr e s e a r c hw o r ko f t h i sa r t i c l e ,a n dg i v eao u t l o o ko f r i ad e v e l o p m e n tt r e n d sa n dt h en e x ts t e po ft h ew o r k k e yw o r d s :r a ;c l i e n tt e c h n o l o g y ;a j a x ;d o j o ; 插图清单 图卜l 企业软件架构的发展过程1 图1 - 2 研究思路。4 图2 - ir i a 体系结构7 图3 - 1 传统w e b 应用体系结构1 2 图3 - 2a j a xw e b 应用体系结构1 4 图3 3 传统w e b 程序工作流程图1 5 图3 4a j a xw e b 程序工作流程图16 图3 5d o j o 体系结构图2 1 图4 - i 系统体系结构图3 2 图4 2 用户管理界面3 4 图4 3 用户资料编辑界面3 5 图4 - 4 用户群与角色分配一3 6 图4 5 服务配置界面一3 6 图4 - 6 用户管理模块划分一3 7 图4 - 7 服务配置模块划分3 7 图4 8 系统组件图一3 8 图4 - 9m v c 组件类型的关系和功能3 9 图4 1 0 组件构成4 0 图4 - 1l 基类的u m l 图4 1 图4 1 2o r g i n f o 组件文件4 1 图4 - 1 3 系统架构4 3 图4 一1 4 数据层的类及相互关系4 4 图5 - 1 系统登录对话框一4 6 图5 - 2 系统主界面图4 8 图5 - 3 用户管理组件包含文件一4 8 图5 - 4u s e r m a n a g e r 包4 9 图5 - 5 用户管理界面一5 2 图5 - 6 服务配置模块内容5 2 图5 - 7 服务配置实现图5 3 表格清单 表格3 - 3 1 标准x m l h t t p r e q u e s t 的方法1 5 表格3 - 3 2 标准x m l h t t p r e q u e s t 属性1 8 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据 我所知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发表或撰写过的 研究成果,也不包含为获得合肥工业大学或其他教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 意。 学位论文作者签字:呈报玉 签字白期:石矽7 年够月,7 日 学位论文版权使用授权书 本学位论文作者完全了解合肥工业大学有关保留、使用学位论文的规定,有权保留 并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。本人授权合 肥工业大学可以将学位论文的全部或部分论文内容编入有关数据库进行检索,可以采用影 印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文者签名: 要旅乙 签字e tg q :力。7 年牛月,7 日 学位论文作者毕业后去向: 工作单位: 通讯地址: 导师签名:与浅城 签字e ti 蓼i :凇矽年弘月,7e l签字 :凇吖年弘月,7 电话: 邮编: 第一章绪论 1 1 研究背景 企业软件的架构与计算机设备的发展密不可分、互相推动。随着计算机和嘲 络技术的发展,企业软件架构已经历经数次演变,从最早的主机终端架构、客户 机服务器架构、浏览器i l i 务器架构到现在的富客户端架构,系统由集中式转向 分布式,应用面向的范围从单一的网络到面向全球客户端的表现力也不断增强, 而发布和维护变得更加容易。图卜1 显示了企业软什架构的发展过程: l l l o c a 车地 c l f e n t 届e r v f - r 5 p m ,m 自 ;铽釜淼潞荫岸t 图卜1 企业软件架构的发展过程 1 主机终端架构 自上个世纪六、七十年代开始主栅终端架构逐渐形成,企业也不断采用这种 架构把自己的应用构建在这基础上,由大型机和多个与之相连的哑终端组成。 运行在主机系统上的u n i x 操作系统是一个多用户、多任务和多进程的操作系统, 用户终端仅仅是一个输入输出接口。由于物理设备的限制,采用这种计算模式 的所有计算数据和程序都只能位于主机系统上,从而形成典型的“集中存储、集 中计算”模式。实现这种架构的应用成本非常高,一般只有大的企业才有能力构 建这种架构的应用系统。 2 客户机服务器架构 到了上世纪八、九十年代,随着p c 技术的蓬勃发展,出现了一种新的应用 架构,即客户机服务器架构,也叫c s 架构。这种方式人人降低了企业构建应 用系统的门槛使得企业可以采用性价比更好的方式去构建自己的应用系统。这 种结构的特点是充分利用了p c 机的性能,降低了对主机的要求,并且提高了用 熏p 户界面的表现力。缺点是应用发布困难,而且客户端是基于操作系统的,不能跨 平台。虽然客户机服务器架构有着上述缺点,但凭借着良好的用户界面,在一 些范围跨度不大的领域仍然都到广泛应用。 3 浏览器朋艮务器架构 随后的i n t e m e t 技术的发展改变了这一切,在i n t e m e t 兴起的过程中,传统 的桌面应用逐渐迁移到i n t e m e t 上,形成了浏览器月艮务器架构,即b s 架构。浏 览器j j 艮务器架构的优势在于不受地域影响,支持的用户数也更多,只要接入 i n t e m e t ,就可以访问企业应用,而且解决了应用的发布和客户端安装维护的问 题,并且可以跨平台。然而,由于h t m l 本身是设计发布静态内容,受限于h t m l 的表现力,其用户界面远远落后于客户机服务器架构的应用,虽然基于各种服 务器技术如j s p 、a s p 等可以生成动态的页面,但在一些复杂的应用中仍然显得 十分笨拙。 4 r i a 架构 随着基于i n t e r n e t 的企业应用的增多,基于h t m l 的用户界面的缺陷越来 越引起人们的重视。富互联网应用( a ) 的概念越来越深入人心,r i a 架构综合 了客户机朋艮务器架构和浏览器朋艮务器架构的优点。r i a 的富客户端运行在客户 机上,富客户端比用h t m l 实现的界面更加健壮、反应更加灵敏、更具有令人 感兴趣的可视化特性【1 1 。r i a 具有客户端服务器架构的大部分优良特性,表现力 强,响应快等等,同时又吸收了基于h t m l 的浏览器服务器架构的优点,适合 i n t e m e t 的环境,能够像w e b 系统一样以简单的方式来部署和使用富客户端程序, 如客户端的免维护特性,跨平台特性,并且在远程访问是基于h t t p 协议,而不 是其它可能被防火墙所屏蔽的协议。 综上所述,可以说a 架构是计算机和网络技术发展的必然产物,代表了 w e b 应用系统发展的必然趋势。因此将r i a 架构用于企业级应用的开发,将会 极大的提高企业应用的质量,使得企业能在市场竞争中取得领先地位。 1 2 国内外现状 a 概念是由m a c r o m e d i a 公司( 已被a d o b e 公司收购) 于2 0 0 2 年3 月首先 提出,然而最早由s u n 公司在9 7 年推出的基于j 越,a 语言的a p p l e t 技术,就已 经是一个r i a 实现技术,但由于j r e 插件没有在浏览器里普及,而且那时硬件 和网络环境都还不成熟,从服务器下载一个a p p l e t 需要耗费过长的时间,而且 那时候r i a 架构还没有被企业所重视,因此并没有发展起来。现在随着r i a 架 构的成熟和各种相关技术的发展,由于r i a 架构的优势,越来越多的企业对开 发具有高度互动性、丰富用户体验以及功能强大的r i a 架构的应用提出了需求, 正基于此,在计算机技术领域处于领先地位的各大公司都纷纷研发和推出了对a 架构的实现技术和开发工具。 2 目前主流的r i a 实现技术主要有以下几种: a d o b e 公司的f l e x 技术 l a s z l o 技术 x u l 技术 微软的s i l v e r l i g h t 技术 s u n 公司的j a v a f x 技术 a j a x 技术 在本文的第二章将详细介绍这些技术。 目前基于f l e x 的应用有y a h o om a p 和一些中小网站,基于s i l v e r l i g h t 和j a v a f x 的应用还很少。 最著名的r i a 架构的应用是g o o g l e 公司的g o o g l em a p 和g m a i l 等系列产品。 这两个应用是基于a j a x 技术实现的r i a 架构的应用,它们的出现大大改变了人 们对传统的浏览器朋艮务器架构的应用的看法,使用这种架构的w e b 应用,就像 是使用桌面应用程序一样,极大的提高了用户体验。 然而,由于r i a 架构是一种比较新的架构,而且实现r i a 架构的应用需要 学习和使用各种新的技术,开发难度比较高。而且开发人员的观念也必须从传统 的应用架构的开发转换到r i a 架构的开发中来,使得目前使用对a 架构开发企 业级应用还没有成为主流,在一段时间内还是r i a 应用和传统的应用并存的现 状。 1 3 本文研究内容 本文主要探讨了目前非常热门的r i a 架构,和目前r i a 的客户端实现技术。 在r i a 客户端实现技术中,本文主要讨论了a j a x 技术,包括其概念、优势 与缺陷、用途及核心技术,并且深入研究了a j a x 开发工具包d o j o 。 本文结合一个实际的r i a 项目:服务管理系统,来讨论如何利用a j a x 开发 工具包d o j o ,开发r a 的客户端。 本文的研究思路如图1 2 所示: 问题的提出 第一章绪论 研究背景 国内外现状 本文研究思路和 组织 1 4 本文的组织 相关技术研究 。_ 。_ 一一一。 r i a 架构研究 研究的实践与应用 第二章r i a 架构研究 r i a 的概念 r i a 的体系结构 r i a 客户端开发 技术 i 实现技术研 , 第三章a j “技术与d o j o t 具包 a i a x 概念 w e b 开发模式分析 对比 d o j o t 具包研究 l - 一,一一- 一- 一一一一- 一一一 图1 - 2 研究思路 第l 章,绪论。主要总结了课题研究背景和意义,国内外现状和研究的工作 思路和内容,并对全文的章节进行了安排。 第2 章,r i a 研究。本章介绍了r i a 概念和优势,分析了r i a 的技术特点 和r i a 的体系结构,并分析了当前主流的r i a 的客户端开发技术。 第3 章,a a x 技术与d o j o 工具包。本章主要针对r i a 的实现技术a j a x 和 开发工具包d o j o 进行了深入的分析。研究了a j a x 的核心技术,介绍了a j a x 技术的各个组件及其作用,并深入研究了a j a x 的开发工具包d o j o 。 第4 章,服务管理管理系统客户端设计。本章分析了服务管理系统的背景和 需求,分析了开发技术的选择,对整个系统进行了系统进行了界面的设计,模块 的划分和设计工作。 第5 章,服务管理系统客户端实现。本章在前面系统的分析和设计工作的基 础上,利用a j a x 开发工具包d o j o 实现了该系统,并给出了主要模块的实现过程。 第6 章,总结与展望。本章对全文进行了总结,归纳了研究工作中的创新点, 展望了r i a 的发展趋势和下一阶段的工作。 4 2 1r i a 介绍 2 1 1 a 的概念 第二章r i a 研究 r i a 是融c hi n t e m e t a p p l i c a t i o n s 的缩写,翻译成中文为富互联网应用程序。 传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序 的表示层建立于h t m l 页面之上,而h t m l 是适合于文本的,传统的基于页面 的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了,这就是被 m a c r o m e d i a 公司称之为的“体验问题”( ”e x p e r i e n c em a t t e r s ”) 1 2 j ,而丰富互联网 应用程序( r i c hi n t e m e ta p p l i c a t i o n s ,缩写为r i a ) 的出现也就是为了解决这个 问题。 富互联网应用程序是下一代的将桌面应用程序的交互的用户体验与传统的 w e b 应用的部署灵活性和成本分析结合起来的网络应用程序【3 j 。富互联网应用程 序中的富客户端技术通过提供可承载已编译客户端应用程序( 以文件形式,用 h t t p 传递) 的运行环境,客户端应用程序使用异步客户服务器架构连接现有的 后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型, 这种模型由采用的w e b 服务所驱动。结合了声音、视频和实时对话的综合通信 技术使富因特网应用程序( r 执) 具有前所未有的网上用户体验。 “富”的概念包含两方面,分别是数据模型的丰富和用户界面的丰富。数据中 的“富”意思是用户界面可以显示和操作更为复杂的嵌入在客户端的数据模型,它 可以操作客户端的计算和非同步的发送接收数据。这种模式相对于传统的h t m l 页面的优点是程序运行于客户端并且程序更多的是和用户进行交互同时更少的 和服务器进行交互。平衡客户端和服务器端的复杂的数据模型可以让你有更大的 空间去创建更高效和更具有交互性的网络应用程序。“富”同样也描述了全面提升 的用户界面,h t m l 只给用户提供了非常有限的界面控制元素,而丰富互联网应 用程序( r 队) 的用户界面提供了灵活多样的界面控制元素,这些控制元素可以 很好的与数据模型相结合。传统的因特网模型使用线性的设计,提供给用户一些 选择然后用户发送选择结果给服务器,这种单一的模式不符合应用程序的灵活交 互的要求和用户的意愿。频繁的服务器请求和页面刷新有很多的缺点包括页面打 开缓慢和降低网络带宽。如果采用富客户端界面,可以从以前的服务器响应影响 整个界面,转移到只有收到请求的应用程序部分才会做出相应的变化。这本质上 意味着界面被分解成许多独立的模块,这些模块都会对收到的信息做出相应的 反应,有些会和服务器端进行交互,有些是这些模块之问的通信。 5 2 1 2 a 的优势 r i a 将桌面型计算机软件应用的最佳用户界面功能性与w e b 应用程序的普 遍采纳和低成本部署以及互动多媒体通信的长处集于一体,成就了一种可以提供 更直观、响应性和有效的用户体验应用程序。r i a 具有的桌面应用程序的特点 包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快 捷的界面响应时间;提供通用的用户界面特性如拖放式( d r a ga n dd r o p ) 以及在 线和离线操作能力【4 】。r i a 具有的w e b 应用程序的特点包括如:立即部署、跨平 台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标 准。r i a 具有通信的特点则包括实时互动的声音和图像。 客户机在r i a 中的作用不仅是展示页面,它可以在幕后与用户请求异步地进 行计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切 都可以在不依靠客户机连接的服务器或后端的情况下进行。 对于企业来说,部署a 的好处在于: 刚a 可以继续使用现有的应用程序模型( 包括j 2 e e 和n e t 等) ,因而无 需大规模替换现有的w e b 应用程序。通过r i c hc l i e n t 技术,可以轻松构 建更为直观、易于使用、反应更迅速并且可以脱机使用的应用程序。 r i a 可以帮助企业提供多元化的重要业务效益,包括提高产品销量、提 高品牌忠诚度、延长网站逗留时间、较频繁的重复访问、减少带宽成本、 减少支持求助以及增强客户关系等【4 j 。 2 2 刚 的技术特点 r i a 利用相对健壮的客户端描述引擎,这个引擎能够提供内容密集、响应速 度快和图形丰富的用户界面。除了提供一个具有各种控件( 滑标、日期选择器、 窗口、选项卡、微调控制器和标尺等) 的界面之外,r i a 一般还允许使用 s v g ( s c a l a b l ev e c t o rg r a p h i c s ,可伸缩向量图) 或其他技术来随时构建图形。一些 r i a 技术甚至能够提供全活动的动画来对数据变化作出响应。 此外,利用r i a 技术,数据能够被缓存在客户端,从而可以实现一个比基于 h t l m 的响应速度更快且数据往返于服务器的次数更少的用户界面。对于无线设 备和需要偶尔连接的设备来说,将来的趋势肯定是向富客户端的方向发展,并且 会逐渐远离基于文本的w e b 客户端。那些运行在膝上设备上的应用系统,可以 被设计成以离线方式工作,或者至少当连接丢失的时候能基本上以离线的方式工 作。 不像j 2 e e 程序那样,客户端的请求会导致系统生成一个页面再返回客户 端,一个r i a 可以支持更小的单元或组件,这些组件从小到一个投票问题到一 6 个完整的视图或界面,富客,、模型将界【面分解成许多的既可以和用户直接变_ :又 u t 以和服务器进行通信的小单元模块。这种将应用程序的设汁从以个个相对独 立的页而为t p 心转移到以组件为中心的转变将会使客户层的设计提升到一个新 的层次并且会使客户层变得更加灵活。富客户层不再成为服务器响应的虽终端, 这同时也使程序的性能得以提商,用户使用的感觉就好像程序不需要和服务器进 行通信或者只是偶尔卅需要进行通信。 最后一个r i a 模型的特点是事件模型。不像传统的模型那样,服务器收到请 求后由上节下的创建客户端界面,不用预测事件的顺序。既然每个组件都是独立 的,就没有必要因为一个请求而做出影响整个视剀的反应。要使每个组件都具有 柚服务器传送信息的能力需要每个组件知道如何处理服务器传递回来的信息。在 r i a 中,客户端年n 服务器端交互数据足不同步的这样你就可以控制组件创建信 息发送给服务器和处理服务器的响应,可以为更零敖的控制去耦和分离程序功能 并且组建面向服务的程序结构。 23 刚 的体系结构 图2 - 1 展示了一个典型的r i a 的体系结构。 。髫。鎏圈刹囝一 刚2 lr i b 体系结构 x m l 通常被用作数据传输的格式,有时也被用来描述窗体的布局。在很多 的实例中,客户端可以保持与数据源的连接,这样服务器能够实时地对客户端数 据进行更新。对数据的访问可以通过w e b 服务调用来完成。 2 4r i 客户端开发技术分析 下面介绍一下目前几种主流的r i a 客广端开发技术: 1 a d o b ef l e x f l e x 是a d o b e 公司为满足希望丌发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 来定义丰 富的用户界面,使用a c t i o n s c r i p t 语言来编写程序。设语言由f l e x 服务器翻译 成s w f 格式的客户端应片j 程序,在f l a s hp l a y e r 中运行。 2 l a s z l o l a s z l o 是一个开源的r i a 客户端开发技术,由l z x 语言和l a s z l o 展示层 服务器( l p s ) 组成。开发者只需编写名为l z x 的描述语言( 其中整合了x m l 和j a v a s c r i p t ) ,运行在j 2 e e 应用服务器上的l a s z l o 展示层服务器会将其编译 成s w f 格式的文件并传输给客户端展示。l a s z l o 展示层服务器( l p s ) 是一个j a v a s e r v l e t ,将l z x 应用程序编译为目标运行环境的可执行代码,并且可以为应用 程序代理请求后台的x m l 数据和w e b 服务。从这点上来说,l a s z l o 的本质和 f l e x 是一样的。f l a s h 是任何浏览器都支持的展示形式,从而一举解决了浏览器 之间的移植问题。而且,在未来的计划中,l a s z l o 还可以将l z x 编译成j a v a 或n e t 本地代码,从而提高运行效率。 3 j a v a f x j a v a f x 系列产品用于创建富互联网应用程序伍c hi n t e m e ta p p l i c a t i o n , r t a ) ,使应用程序富含适用于多种屏幕的媒体和内容。j a v a f x 提供了一个运行 时和工具套件,w e b 脚本编写者、设计者和开发者可用其快速构建和交付适用 于台式机、移动设备、电视和其他平台的下一代富i n t e m e t 应用程序。j a v a f x 工 具套件将为开发者提供创作工具,帮助弥补用户体验设计与开发逻辑之间的差 距,为设计者和开发者带来前所未有的协作途径。此外,w e b 脚本编写者可以 优化其应用程序,以充分利用平台特有的功能。例如,j a v a f x 与j a v am e 中的 a p i 相集成。 j a v a f x 内容可以通过j a v aw e bs t a r t 作为应用程序进行部署,也可以通过 j a v a 插件以a p p l e t 形式部署。j a v a f x 运行时将以一组扩展j n l p ( j a v a 网络 加载协议) 的形式存在,开发者可以在应用程序或a p p l e t 的j n l p 文件中指向 相应j n l p 。这允许所有应用程序共享该j a v a f x 运行时,并为j a v a f x 运行时 提供了动态升级策略。 4 x u l x u l 是一种基于x m l 的用户界面语言,它来自于m o z i l l a 的开放源码项目。 它可用于建立窗体应用程序,这些应用程序不但可以在m o z i l l a 浏览器上运行, 而且也可以运行在其他描述引擎上,如z u l u ( 一个f l a s hm x 组件) 和t h i n l e y s ( 一个j a v a 实现) 。x u l 描述引擎都非常小( 1 0 0 k 以下) ,它可以使用x m l 数 据也可以生成x m l 数据。x u l 的一个主要缺点在于它目前还没有获得一个主 要商业实体的支持。x u l 最大的优点在于它与g e c k o 引擎的集成( 打开了通向 大量w e b 标准的大门) ,以及与大多数其它x m l 用户界面描述语言相比它是一 种非常具有表达力和简洁的语言。 5 s i l v e r l i g h t s i l v e r l i g h t 前身代号是“w p f e ”,作为微软最新面向w e b 开发的技术,“银光” 吸引了无数的开发人员以及设计人员的目光。这是微软推出的类似于f l a s h 相同 8 的解决方案,其利用了跨浏览器w e b 技术进行设计,以实现多操作系统,甚至 是移动设备上的无缝运行。s i l v e r l i g h t 是作为一个浏览器的插件,可以显示矢量 图形、动画和视频。s i l v e r l i g h t 集成了多种现有w r e b 技术和设备,它可以在 w i n d o w s 、m a c 平台上运行,支持i e 、f i r e f o x ,甚至a p p l e 的s a f a r iw e b 浏览器。 而无需对现有的网站设计进行移植,甚至包括利用a d o b ef l a s h 设计的内容。 6 a 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 t + x m l 的简称) 是使用x m l h t t p r e q u e s t 对象进 行异步数据传输和j a v a s c r i p t 页面控制的技术整合的代表 4 】。j a v a s c r i p t 对象组 成了客户端引擎,担任起用户界面和服务器之间的中介。这些j a v a s c r i p t 对象使 得a j a x 应用程序和桌面应用程序一样丰富,拥有灵敏的响应效率,并且可以在 一个页面上以无需刷新页面方式提供所有数据。 j a v a s c r i p t 对象解释和处理用户行为,而不是生成发往服务器的页面请求同 时,利用x m l 作为传输数据的载体,并将x m l h t t p r e q u e s t 作为传输数据的执 行者,在客户端引擎和服务器之间,形成了异步数据通信。 7 小结 通过上面各种r i a 开发技术介绍,我们可以看到它们各自的理念有所不同, 运行的环境也不尽相同。那么作为开发人员,如何选择合适的技术开发r i a 应 用呢? 本文从以下几个方面进行了分析: 首先,从开发人员的角度看,a j a x 技术是基于标准的w e b 技术的,而且出 现时间比较长,是比较成熟和开发人员比较熟悉的技术。而其他技术推出时间都 较端,开发人员对这些技术都不熟悉,使用这些新技术需要花费大量的学习成本。 而对w e b 开发人员来说,使用a j a x 技术是非常自然的过渡,不需要花费大量的 成本去学习新的语言和架构。 其次,由于a j a x 是纯客户端技术,可以与j 2 e e 、n e t 、p h p 、r u b y 和c g i 脚本交互,而并不关心服务器使用的是什么技术。而其他技术,与服务器端的技 术的结合都没有a j a x 技术灵活。 最后,从应用的部署来看,a j a x 应用可以在大多数现代浏览器里直接运行, 而不需要任何附加的软件。而其他的技术都需要安装附加的插件或运行时环境, 或只能在指定的浏览器里运行。 从以上的分析可知,a j a x 技术是目前比较成熟,合适的r i a 客户端开发技 术,因此本文采用a j a x 技术作为r i a 的客户端开发技术。同时为了减轻a j a x 开发的难度和复杂度,可以考虑使用现有的a j a x 开发工具包,使用开发工具包 至少有两点好处:一是提高开发的效率,不必重复前人的劳动;二是开发工具包 一般都经过了较充分地测试,可以保证代码的质量。本文采用d o j o 工具包作为 a j a x 开发工具包,在下一章,将详细的分析a j a x 技术和d o j o 工具包。 9 2 5 本章小结 本章介绍了r i a 架构概念和优势,分析了r i a 的技术特点和r i a 的体系结 构,并研究了当前主流的r i a 的客户端开发技术。通过对r i a 客户端开发技术 的分析,决定采用a j a x 技术作为r i a 系统的客户端开发技术,在下一章将具体 研究a j a x 技术以及d o j o 工具包。 1 0 3 1 a i a x 的概念 第三章a j a x 技术与d o j o 工具包 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 的缩写。a j a x 这个概念最早由j e s s e j a m e sg a r r e t t 提出 6 】,g a r r e t t 认为,事实上a j a x 并不是- - f q 新的语言或技术, 它实际上是几种现有的标准和技术按一定的方式组合,在共同的协作中发挥各自 的作用,以实现富客户端功能。 a j a x 技术使浏览器可以为用户提供更为自然的浏览体验。在a j a x 之前,w e b 站点强制用户进入提交等待重新显示模式,用户的动作总是与服务器的响应同 步。a j a x 提供与服务器异步通信的能力,从而使用户从请求响应的循环中解脱 出来。借助于a j a x ,可以在用户单击按钮时,使用j a v a s c r i p t 和d h m t l 立即更 新u i ,并向服务器发出异步请求,以执行更新或查询数据库当请求返回时,就可 以使用j a v a s c r i p t 和c s s 来相应地局部地更新u i ,而不是刷新整个页面。最重 要的是,用户甚至不知道浏览器正在与服务器通信,这使得看起来w e b 站点像是 即时响应的。 a j a x 主要包括以下主要技术: 采用标准的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 【7 l 这是通过j a v a s c r i p t 操 作h t m l 的d o m ,并且由x m l h t t p r e q u e s t 实现的精确数据检索定位来实现的。 和a p p l e t ,f l a s h 相比,a j a x 是一种轻量级的解决方案。因为它操作的基础 是h t m l 或者是x h t m l ,使用的脚本语言是j a v a s c r i p t ,这可以保证它的纯文 本性质,它具有更好的搜索引擎友好性;设计出色的a j a x 应用还可以很好的工 作在旧版本的设备上;利用x m l ,a j a x 可以和其他应用程序方便地进行通信。 a j a x 可以迅速赢得关注的另一个重要原因还在于它完全是基于成熟的技术, 作为异步调用的基础设施x m l h t t p r e q u e s t ,早在1 9 9 9 年就被引入了i e 浏览器, 随后又被其他浏览器支持,成为事实上的标准;j a v a s c r i p t ,d o m ,c s s 则早就是 w 3 c 标准。 3 2w e b 开发模式分析对比 在传统的w e b 应用程序中,一般都是采取请求_ 刷新一显示的模式。即每当 用户通过单击按钮或链接向服务器发送一个请求时,都由服务器接收请求并处 理,处理完毕后服务器将信息发送至浏览器进行显示。而在服务器处理的时间 里,浏览器处于挂起状态,显示为空白和无响应状态,用户能做的事情只有等待。 事实上,用户想获得的可能只是可能只是一个数据,却不得不刷新整个页面, 让整个页面包含h t m l 代码,图片和数据都被重新在服务器上计算和下载到浏
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 破局同质化:手机造型设计深度剖析与知识库构建策略
- 小学音乐花城版二年级下册歌曲《音阶歌》教案及反思
- 破局与重塑:中学年级组管理的困境剖析与优化策略
- 破局与进阶:商务英语教师专业发展的多维策略探究
- 钢结构安装施工组织协调方案
- 高处作业钢管脚手架搭设拆除规范
- 矿区景观格局、生态系统服务价值与景观生态风险的关联研究
- 高支模施工安全防护措施制定规范
- 医院感染防控能力提升实施方案
- 小学诚信友善2025说课稿
- 危险化学品安全知识竞赛考试题库及答案
- (二模)日照市2023级高三4月模拟考试历史试卷(含答案)
- 2025年湖南省衡阳市地理生物会考真题试卷(含答案)
- 咬合桩监理细则
- 2026山东济南新旧动能转换起步区招聘40人备考题库含答案详解(培优a卷)
- 浙江省湖州、衢州、丽水三地市2026届高三下学期4月二模英语试题
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.6-2025)
- (新教材)2026年部编人教版三年级下册语文 第20课 灰雀 教学课件
- 2026年及未来5年中国民办普通高中行业发展监测及发展战略规划报告
- 2025年上半年软考嵌入式系统设计师真题及答案解析
- 文体中心消防制度规范
评论
0/150
提交评论