会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

网络工程 毕业设计(论文)外文翻译-一个基于组件和推技术体系的AJAX应用.doc网络工程 毕业设计(论文)外文翻译-一个基于组件和推技术体系的AJAX应用.doc -- 6 元

宽屏显示 收藏 分享

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

杭州电子科技大学毕业设计(论文)外文文献翻译毕业设计(论文)题目一种基于WEB的实时事件通知方案及其应用翻译题目一个基于组件和推技术体系的AJAX应用学院软件工程学院专业网络工程姓名班级学号指导教师一个基于组件和推技术体系的AJAX应用1摘要本文介绍一种叫做AJAX的新的Web应用方法,它是一种正在形成的,在大型无状态网络中交互作用有局限性的一种新方法。这一新方法的核心是一个单一的页面交互模型,有利于丰富的页面交互。同时,AJAX正在网上采用来自分布式系统的基于推的解决方案。然而,这个领域的特点是缺乏一个连贯的,精确的思想去描述这一组架构概念。因此,很难去理解和评估,也很难和现有的技术作比较。我们研究并试验了几个AJAX的框架,试图了解它们的架构特性。在本文中,我们总结了四个框架,并观察他们的特性。文章介绍了SPIAR架构体系,它抓住了AJAX应用的本质。我们描述了软件工程的指导原则并有限制的去选择想要引起的特性。该体系强调用户界面组件的开发,中间最主要的是在客户端/服务器组件之间的联系,通过组件来改变基于推技术的事件通知状态,改善一些诸如用户间相互作用的特性,使得最终达到用户感知延时,数据一致性,易于开发的目的。此外,我们利用概念和原则来讨论AJAX框架和应用发展的各种各样悬而未决的问题。引言在过去十年中,人们越来越多的关注并且接受桌面应用程序向网络应用的变化过程。然而,在这个过程中减少了大量的用户交互。经典网络应用是基于多页面的接口模式,这种相互作用是基于页面序列模式的。当设计简单的交换文件时,这种模式对发展与用户友好的人机交互的现代Web应用有很大的局限性。最近,出现了一种向新一代Web2.0应用方向转变的网络发展技术。Web应用程序的一个新技术,被称为AJAX(异步JavaScript和XML)(Garrett,2005年),在大型无状态的网络互动中已经出现了这种针对有限度的交互技术。AJAX利用现有的网络技术,原先称为动态HTML(DHTML)和远程脚本(Crane等,2005年),来提供更多的基于Web的交互式用户接口。这个新方法的核心是一个单页界面模式,这有利于丰富的交互性。在这种模式下,改变了个别用户界面在网页中包含的组件,而不是(刷新)整个页面。在相同的前提下,最近的另一个发展是从分布式系统到网络的基于推技术的概念(Khare,2005年)。它在申请实时事件通知方案时,由客户端发起的拉动作是非常低效的,并可能导致网络拥塞。而推的方式,把传播的状态从服务器传送变为客户端每次异步传送,这种方式正在网络上成为一个非主流的新型术语,称为Comet(Russell,2006年)或反向AJAX(DirectWebRemoting,2007年)。这些操作都有自己的架构权衡。在AJAX的推动下,该技术在Web应用开发社区中已引发了人们的一种强烈兴趣。在AJAX被发1AliMesbah,ArievanDeursen.TheJournalofSystemsandSoftware,21942209.April,2008.明之后的2005年2月(Garrett,2005年),大量的框架和库都出现了,许多Web应用已经通过了一项或更多的基于基础AJAX的思想,这在大多数开发网站中的文章和专业杂志中已经出现。采用基于AJAX的技术是一项重要的选择,不仅是对新开发的应用程序,还是对ajaxifying(Mesbah和vanDeursen,2007年)来说,现有网站的用户友好性是不够的。有一个软件工程师考虑采用AJAX技术,但是,面对了很多挑战。什么是最根本的设计权衡是设计一个传统的网络还是一个AJAXWeb应用如何引进一种基于推技术的方式去影响网络应用的可扩展性什么是AJAX框架的不同特点这些框架是怎么隐藏的这些设计应用是否有足够的支持什么问题可能出现在开发阶段会有很多链接在许多不同的技术类型中吗其中哪些技术可以继续使用,哪些将被更好更强大的解决方案所取代解决这些问题要求对AJAX的Web应用有一个更抽象的观点。然而,尽管所有关注的技术都是在网络社区接收,但还是缺乏一个连贯和精确的思想去描述一套用于架构体系的有效的基于AJAX的Web应用。本文探讨了是否可以在概念和软件架构的研究机构开发的原则中去协助解决这些问题。从一个抽象的角度看,我们已经研究了若干AJAX框架,提取了它们的特征,并证明了它们有共同的架构组件和预期的性能。特别要说的是,我们提出了SPIAR,即单页面的互联网应用架构体系,它强调了基于组件的用户界面开发,在客户端/服务器组件之间通信,甚至从组件上改变基于推技术的通知状态,从而改善了很多属性,例如用户的交互性,用户感知延迟,数据一致性,易于开发。希望这种方式可以使用在高级用户相互作用和快速响应的Web应用程序中。其中对提出的架构体系的挑战之一是评估体系是否成功。同时Fielding(2000年)还注意到,要证明一个架构是否成功最终是通过这个体系的构建是否符合实际的需要来确定的。由于这个不可能事先确定,我们会从以下方面对体系进行评估(1)我们要调查研究如何使用现有的AJAX框架,像GWT或Echo2。(2)我们要讨论如何将典型的AJAX框架覆盖到以客户为中心,服务器为中心,以推技术为基础的模式。(3)我们要展示并讨论如何将体系用在AJAX应用设计的不同权衡中,如可扩展性和适应性这些架构属性。本文组织结构如下。首先,在第二章,探索研究AJAX的四个框架(谷歌的GWT,Backbase,Echo2和基于推技术的Dojo/Cometd框架),可以让我们从本质的需求上做出不同的设计选择。在第三章,我们调查现有的架构体系(如在万维网基础上的RepresentationalStateTransfer架构风格REST(Fielding和Taylor,2002年)),并分析其适合AJAX特性的地方。第四七章中,我们介绍了SPIAR,描述了架构性能,基础,这种体系的目地和约束。鉴于SPIAR,在第八章,我们使用它的概念和原则来讨论AJAX框架和应用发展中各种悬而未决的问题,并加以评价。最后,我们总结概括相关理论并做出对今后工作的展望。2.AJAX技术2.1AJAX最近几年中,有关网页更新的技术越来越多了,但直到最近,在创造AJAX出来的时候,即刻得到了广泛的关注。AJAX实际上是现代Web应用开发的技术标准名称,以前被称为动态HTML(DHTML)和emphremote脚本,供给以Web为基础的用户界面互动。最初由Garrett(2005年)定义的AJAX包括基于标准的使用XHTML和CSS的外部结构,动态显示和使用文档对象模型的交互,数据交换和处理,使用XMLHttpRequest进行异步数据检索并和JavaScript捆绑在一起。但是这个定义仅仅侧重于Web应用的客户端范围。正如我们看到的这篇文章,对AJAX的应用有重要的服务器端的含义。AJAX代表了在Web应用开发中一种已经被建立的网络技术组合。它是一种在网络上使用AJAX的有用的技术组合。而不是一个请求等待反应的典型模型,在这个模型下服务器为每个用户动作重载整个页面,AJAX允许服务器在背后发生异步更新部分页面。这种在背后更新的方法可能提供更多网上的响应和加速的经验。在AJAX时代创造之前,它是通过Web应用例如GoogleSuggest,GoogleDocs或Google地图来使其影响力变得明显。其他著名的例子有Gmail,雅虎的较新版本Mail、Flickr和Digg。为了更多的了解AJAX技术的细节我们提到了Asleson,Schutta2005年和Crane等2005年。2.2反向AJAXCOMET传统的网络模型要求浏览器和网络服务器之间的所有通信都是要通过客户的,即终端用户点击按钮或链接,再从服务器请求新的页面。因此,一旦一个完整的响应返回,就没有进一步的方式让服务器把数据送回到客户端浏览器。在这个方案中,每个客户端和服务器之间的交互作用都是独立的。永久连接没有被建立在客户端和服务器之间用来保持关于客户的无状态信息。并且对这个特殊请求,服务器会退回一个响应。这份方案有利于可扩展性,但是阻止了服务器的异步传输。有许多用过的例子,对在客户端更新用户接口有重要意义。例子包括1.在一个拍卖网站上,一位投标者出了一个比前一位投标者更高的价格,那之前的出价就要被覆盖。例如易趣网一样,用户必须连续按他们浏览器的刷新按钮,看有没有人出了一个更高的价格。2.一台证券报价机,它的股票价格需要实时更新。3.一个闲聊的应用程序,新信息要即使传送到所有用户。4.一个新闻门户网站,新闻出版的时候要主动送到订户方。以当前的Web技术来说,这些应用形式要求实时事件通知和数据传输主要使用拉的形式,同时在客户端超时的时候,客户活跃地请求状态变换。拉动作有许多缺点,例如在客户端和服务器之间传输数据有很低的连贯性,增加了网络利用率。如果更新不频繁,用户将做出多余的请求。在另一方面,如果客户很少有拉操作,他们也许会错过一些有用的更新Bozdag等,2007年。一个可以选择的拉操作是基于推技术的体系Hauswirth和Jazayeri,1999年Bozdag等,2007年,它是由客户端每次异步改变服务器的传播状态。通过服务器推或流网络数据的概念,第一个是由Netscape1996年以动态文件名义提出的。这种方法仅仅存在于流出的服务器数据在长时间的HTTP连接中的响应。多数的网络服务器在进行一些处理时,发回一个响应,并且立即退出。但是在这一模式中,网络服务器连接并打开一个正在运行的长循环。服务器脚本使用事件注册或其他一些技术检测出任何状态的变化。只要状态发生变化,新出来的数据流就会及时刷新,而实际上并没有关闭连接。CometRussell,2006年或反向AJAXDirectWebRemoting,2007年是在网络上提供这种交互方式的新名称。Comet使用XMLHttpRequest对象打开一个连接。这带来了一些有关连接长度和连接频率的灵活度的问题。之后,对于来自客户端的初始请求,服务器不关闭连接,也没有作出完整的回应。当新的数据再次可用时,服务器返回客户端现有的连接。这种在网络上的新模式介绍了一些有潜力的架构权衡,对上述提到的用户案例存在了有价值的意见。2.3框架Web应用开发商不断的与有限的HTML页序列进行经验斗争,并且和客户端复杂的JavaScript编程一起去添加一些有力度的用户界面。问题在于跨浏览器兼容,例如,告诉所有人谁建立了一个现实世界的Web应用。丰富的用户界面(UI)经历了来自AJAX的承诺在所有这些问题上所面临的价格。发展商要建立强大的AJAX应用必须要有各种先进的网络技术。此外,在生产之前必须花费很多努力在测试这些应用上。这就是需要框架来解决的地方。至少其中很多都需要。由于得到了原动力的AJAX,一个广大的框架正在被开发。它的重要性是为了给这个竞争混乱的领域带来明显的效果,当我们得知差不多每天都出现一个新的框架,这句话的意思就是每天都有新框架增加到已知的框架名单中。我们研究并且试验了几个AJAX框架,设法了解他们的架构特性。我们在这个章节中总结了四个框架。我们的选择对象包括一种广泛使用的叫做Echo2的开源框架,一种由谷歌提出的叫做GWT的网络框架,由Backbase公司传送的商业包和一种叫做Dojo/Cometd的基于推技术的Comet框架。所有四个框架都是在AJAX基础上的,但其基本技术差异极大。2.3.1Echo2Echo2是一个开源的AJAX框架,它允许开发人员创建面向对象的Web应用,UI组件和基于事件驱动的Web开发模式。它的Java应用程序框架提供的API(给UI组件,性能对象和事件/听众)用于代表和管理一个应用程序和用户界面的状态。所有实际功能的组件与客户端浏览器的通信功能是专门组装在一个单独的模块中的。该引擎由一个服务器端的部分(用Java/J2EE写)和客户端部分(JavaScript)组成的。所有功能都是为了在一个分开的模块中给予一个组件或为连接客户端与浏览器,这就叫做网络提供引擎。这个引擎包括服务器端用Java/J2EE写的和客户端Java语言。客户机/服务器的交互协议是隐藏在这个模块里的,是从其他模块里完全分离出来的。Echo2有一个更新管理器,它跟踪用户界面组件模型的更新,处理从代理商处获得的输入并将其和组件联系起来。Echo2客户端引擎运行在客户端浏览器上,并在服务器端提供远程用户界面的应用。其主要作用是当在界面上发生用户操作时,进行同步的客户机/服务器状态转变。一个XML格式的用户消息用于传输客户端到服务器端的状态变动,它明确说明变化的性质和组件的ID受状态变化的影响。服务器处理用户消息,更新组件模型以反映用户的操作。听众对事件十分感兴趣可能造成对服务器端状态应用的进一步变动。服务器的响应通过提供一种服务消息来实现,这也是一个XML消息,它包含的指令执行部分用以更新客户端上的DOM表示。2.3.2GWTGoogle有一种新的AJAX框架的实施方法,叫Google网络工具箱GWT。像Echo2一样,GWT牵强的方便了用来开发用户界面及一个小部件库AWT或Swing。GWT的独特性在于它是在客户端界面呈现。代替了保持在服务器上的UI组件和连接他们的状态改变,GWT编译所有的JavaUI组件的JavaScript代码(在编译时)。开发人员允许使用Java1.4API的一个子集来实现所需的组件功能部件。GWT使用一个小型通用的客户端引擎,并使用编译器将所有的用户界面功能变得可让客户端上的用户利用。这种方法大大的降低了到服务器的轮询时间。该服务器考虑的是,客户端UI组件可能需要原始数据填充。这使服务器完成了去定义一个基于RPC风格的服务。这种服务(这是不一样的Web服务)使得Java和数据在网络上通过两种方式实施,以JSON格式和使用连载技术。2.3.3BackbaseBackbase公司总部位于阿姆斯特丹,是提供第一个商业AJAX框架之一的公司。该框架仍然在不断发展中,在世界上众多用户中广泛使用。Backbase框架的一个关键组件是Backbase客户端执行时间BCR。这是一个用JavaScript编写的运行在Web浏览器上基于标准的AJAX引擎。它可以通过一个叫XEL的用户界面语言来编程。XEL提供一个应用级选择给JavaScript语言、并且处理可能是很乏味的程序和管理JavaScript异步操作。BCR的主要功能是1.建立一个单一的网页界面和管理部件树(查看树)。2.和XEL语言一样解释Java语言。3.关心服务器的同步和状态管理,通过使用Delta通信和异步交互作用与用户进行代表模型的操作。该Backbase框架提供一种叫做Backbase标记图书馆的标记语言BTL。BTL提供部件库,UI控件,用一个途径去查封他们,并且连接到服务器的异步设施。Backbase公司的服务器端框架是由BJS,BackbaseJSF服务器构成。它建立在JavaServerFaces(JSF)的顶部,即提出的新的J2EE架构。JSF跟随模型视图控制器模式提供一个基于用户界面组件的框架。Backbase公司的JSF服务器利用所有标准的JSF机制,例如验证处理通过JSF生命周期阶段的检验、转换和事件。然而在JSF的相互作用中,传统基础上的页序列模型将不在一个页面框架的一体化变的微不足道。Backbase公司在单页界面环境下延长了JSF请求的生命周期。它还管理服务器端事件处理程序和服务器端控件树。任何Java类提供getter和setter方法给它的属性,可以直接分配给一个用户界面组件的属性。开发人员可以使用声明的组件(web脚本)来构建AJAX应用。该框架呈现了各种已宣布的服务器端的UI组件相应的客户端XELUI组件,并保持对双方同步组件树的更改。客户端的状态变化发送到在某些定义上的事件服务器。Backbase公司使用DOM事件委托用户的行动,叫做Bcr处理异步事件。这些事件可以启动一个客户端(本地)代表性模式的改变,但同时,这些事件可以作为触发服务器端的事件监听器。这些服务器转换了状态的变化,在服务器组件树上确定了相应的组件。经过必要的动作,服务器上的变化对引擎作出反应,以XEL格式再次呈现。2.3.4DojoandCometd最后我们考虑的是与客户端结合的Dojo框架和服务器端的Cometd框架,它们共同支持基于推技术的客户端服务器通信。该框架是以Cometd小组最近发布的BAYEUX协议为基础的,是一个缺少交流反应的通信标准。更多的细节是我们看到的Bozdag等2007年和Bozdag2007年。BAYEUX消息格式是定义在JSON(JavaScript对象符号),它是根据Java语言编程语言的一个子集的数据互换格式。最近该协议在一个Web服务器中执行,包括一定数量的网络服务器,Jetty和IBMWeb软件平台都在内。
编号:201311211648580225    大小:465.50KB    格式:DOC    上传时间:2013-11-21
  【编辑】
6
关 键 词:
专业文献 学术论文 精品文档 网络工程
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

当前资源信息

4.0
 
(2人评价)
浏览:38次
zhaozilong上传于2013-11-21

官方联系方式

客服手机:13961746681   
2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   

相关资源

相关资源

相关搜索

专业文献   学术论文   精品文档   网络工程  
关于我们 - 网站声明 - 网站地图 - 友情链接 - 网站客服客服 - 联系我们
copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5