`

[转载]提高客户体验的RIA开发技术收藏

阅读更多
转载:http://blog.csdn.net/hljlgj/archive/2006/11/15/1385603.aspx 目  录 1 摘要 2 关键词 3 RIA概述 3.1 RIA的产生背景 3.2 什么是RIA 3.3 RIA的优势 3.4 RIA目前的发展态势 3.4.1 Adobe Flash/Flex 3.4.2 Openlaszlo 3.4.3 Avalon 3.4.4 Java Applet 3.4.5 Java SWT 3.4.6 XUL 3.4.7 Bindows 3.5 RIA未来的发展预测 4 应用RIA相关技术的案例介绍 4.1案例项目背景 4.2项目系统总体应用架构 4.3 系统总体应用简介 5 附录 参考文献 提高客户体验的ria开发技术 1 摘要 针对新一代的互联网应用程序(Rich Internet Application,富互联网应用程序,简称ria),本文将从ria的概念,ria开发的相关集成工具、技术进行阐述。 2 关键词 ria,Rich Internet Application 3 RIA概述 互联网已经日益成为应用程序开发的默认平台,传统的Web应用程序(Web Application)是基于HTML页面、服务器端数据传递的模式。而HTML是适合于文本的,随着Web应用程序复杂性越来越高,传统的Web应用程序已经渐渐不能满足Web浏览者更高的、全方位的体验要求了,这就是被Adobe公司称之为的"体验问题"("Experience Matters")。此时一种被称为Rich Internet Application(简称ria,中文翻译作"丰富互联网应用程序")的具高度互动性和丰富用户体验的网络应用程序出现了。Adobe公司也借此机会开发了相关的技术和开发工具,促进ria的开发和普及。 3.1 RIA的产生背景 企业级应用程序经历了几次系统架构方面的重要转变,在此过程中,客户端的表现能力有起有落。图1显示了Rich Internet Application的发展过程: 图1.Rich Internet Application的发展(摘自Adobe Flex:创建企业Rich Internet Application 的表示层解决方案) · 基于主机的应用程序:应用程序提供基于文本的非图形化用户界面,只有内部人员才能进行访问。 · 客户机/服务器(Client/Server,简称C/S)应用程序:二十世纪九十年代随着Windows的出现和客户端处理能力的增强,出现了客户机/服务器应用程序,它们采用图形用户界面,客户端的数据处理能力比较强。但由于客户端应用程序需要进行不断的更新,因此部署与维护成本比较高,应用范围相对较小,只能为少数人所使用。 · 浏览器/服务器(Browser/Server,简称B/S)应用程序:九十年代中期,互联网飞速发展,出现了浏览器/服务器应用程序,Web的广泛使用解决了C/S应用程序部署、和更新、维护的困难。但由于采用了HTML页面形式的用户界面,客户端的数据处理能力较C/S应用程序有所回落。 C/S架构的缺点主要是部署、更新、维护等问题。B/S架构的缺点主要是受制于HTML的限制,无法像C/S那样使用丰富的效果来展示数据,用户体验比较糟糕。另外,稳定的客户端/服务器连接,也是必要条件,网络中断将使B/S程序无法运行。从C/S到B/S,这两者受限于技术本身的应用分别发展成了胖客户端和胖服务器端的模式,而ria的出现给我们带来重新在客户端和服务器端进行更好的平衡的机会。 3.2 什么是ria ria 是集桌面应用程序的最佳用户界面功能与Web应用程序的普遍采用和快速、低成本布署以及互动多媒体通信的实时快捷于一体的新一代网络应用程序。ria中的 Rich Client(丰富客户端)提供可承载已编译客户端应用程序(以文件形式,用HTTP传递)的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的Web服务所驱动。结合了声音、视频和实时对话的综合通信技术,使ria具有前所未有的网上客户体验。 下图就是ria的应用程序模型: 图2.RIA的应用程序模型 3.3 RIA的优势 ria 具有的桌面应用程序的特点包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性如拖放式(drag and drop)以及在线和离线操作能力。ria具有的Web应用程序的特点包括如:立即布署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。ria具有通信的特点则包括实时互动的声音和图像。 客户机在ria中的作用不仅是展示页面,它可以在幕后与用户请求异步地进行计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。 对于企业来说,部署ria的好处在于: 1)ria可以继续使用现有的应用程序模型(包括J2EE和.NET),因而无需大规模替换现有的Web应用程序。通过Rich Client技术,可以轻松构建更为直观、易于使用、反应更迅速并且可以脱机使用的应用程序。 2)ria可以帮助企业提供多元化的重要业务效益,包括产提高销量、提高品牌忠诚度、延长客户网站逗留时间、较频繁的重复访问、减少带宽成本、减少支持求助以及增强客户关系等。 3.4 ria目前的发展态势 在过去的两到三年中,Web开发人员一直是想构建一种比传统HTML更丰富的客户端:这是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。ria技术的出现允许我们在因特网上以一种像使用Web一样简单的方式来部署富客户端程序。无论将来ria是否能够如人们所猜测的那样完全代替HTML应用系统,对于那些采用C/S架构的胖客户端技术运行复杂应用系统的机构和采用基于B/S架构的瘦客户端技术部署Web应用系统地机构来说,ria确实提供了一种廉价的选择。下面介绍一下目前出现的几种比较有实力或者有特点的ria客户端开发技术: 3.4.1 A dobe Flash/Flex Flash 从6.0开始,Flash就逐步具备建立窗体风格的应用程序的功能。据Adobe称已经有98%以上的桌面系统的浏览器都安装了 Adobe Flash Player。这使得以Adobe Flash Player为客户端的ria可以支持种类广泛的平台和设备。 Flex是为满足希望开发 ria的企业级程序员的需求而推出的表示层服务器和应用程序框架,它可以运行于J2EE和.NET平台。Flex表示层服务器提供基于标准的、声明性的编程方法和流程,并提供运行时服务,用于开发和部署丰富客户端应用程序的表示层。Flex开发者使用直观的基于XML的MXML标记语言来定义丰富的用户界面。该语言由 Flex服务器翻译成SWF格式的客户端应用程序,在Flash Player中运行。 3.4.2 Openlaszlo Openlaszlo是一个开源的ria开发环境。使用Openlaszlo平台时,开发者只需编写名为LZX的描述语言(其中整合了XML和Javascript),运行在J2EE 应用服务器上的Openlaszlo平台会将其编译成SWF格式的文件并传输给客户端展示。从这点上来说,Openlaszlo的本质和Flex是一样的。Flash是任何浏览器都支持的展示形式,从而一举解决了浏览器之间的移植问题。而且,在未来的计划中,Openlaszlo还可以将LZX编译成Java或.NET本地代码,从而大大提高运行效率。 3.4.3 A valon Microsoft的Avalon是下一版本的Windows(代号"Vista")的一部分,是一个图形和展示引擎,主要由新加到.NET框架中的一组类集合而成。Avalon定义了一个在Vista中使用的新标记语言,其代号为"XAML"(可扩展应用程序标记语言)。可以使用XAML来定义文本、图像和控件的布局,程序代码可以直接嵌入到XAML中,也可以将它保留在一个单独的文件内。这与Flex中的MXML或者Openlaszlo中的LZX非常相似。不同的是:基于 Avalon的应用程序必须运行在Vista环境中,而Flex和Openlaszlo是不依赖于平台的,仅仅需要装有Flash播放器的浏览器即可。 3.4.4 Java Applet Applet是人们提供丰富功能的最早尝试之一。开发人员可以利用Java编写Applet代码,而且能够提供几乎所有编程语言所具备的完整灵活性。不过,在实际应用中,Applet的下载和执行性能较差,在不同操作系统上的执行也很不连贯。因此,虽然Java是最受欢迎的服务器端代码开发平台之一,但它的Applet在实际应用中并不是非常普及。 3.4.5 Java SWT Java 已经出现很多年了,并且完全支持创建基于窗体的用户界面。除了Java基础类(JFC/Swing)中的用户界面组件之外,开发人员还可以使用来自于 Eclipse Project的SWT工具箱和许多第三方工具箱进行开发。对于图形来说,可以采用Java 2D/3D API:一个非常完整且非常复杂的图形API。你可以通过一个Web浏览器使用Java插件软件,或使用Java运行时环境中较新的Java Web Start技术来部署应用程序。使用Java建立Rich Client的主要缺陷是它的复杂性(即使对简单的窗体和图形也要求编写非常烦琐的代码)和Java浏览器插件的低市场占有率。 3.4.6 XUL XUL (念作"zool")是一种基于XML的用户界面语言,它来自于Mozilla的开放源码项目。它可用于建立窗体应用程序,这些应用程序不但可以在 Mozilla浏览器上运行,而且也可以运行在其他描述引擎上,如Zulu(一个Flash MX组件)和Thinleys(一个Java实现)。XUL描述引擎都非常小(100K以下),它可以使用XML数据也可以生成XML数据。XUL的一个主要缺点在于它目前还没有获得一个主要商业实体的支持。XUL最大的优点在于它与Gecko引擎的集成(打开了通向大量Web标准的大门),以及与大多数其它XML用户界面描述语言相比它是一种非常具有表达力和简洁的语言。 3.4.7 Bindows Bindows 是用Javascript和DHTML开发的Web窗体框架。Javascript用于客户端界面的显示和处理,XMLHTTP用于客户端与服务器的信息传输。Javascript在客户端的表现力不容置疑,利用Javascript几乎可以实现Windows应用程序所能干的大部分事情,XMLHTTP 一直以来常被用于实现"无刷新"的Web页面,它和 Javascript配合,可以完成数据从服务器和客户端的传输。Bindows的一个主要的缺点是它采用一次全部载入的方式来实现脚本库,在窗口的加载期,需要一个漫长的等待过程,甚至浏览器的进程会产生无响应的情况。这点Bindows根本没有遵循"用多少取多少"的准则。另外,内部大量利用了IE6 的技术,没有考虑到非IE的浏览器,限制了Bindows的流行。 3.5 RIA未来的发展预测 就目前ria的使用情况来说,离“ria时代”已经越来越近的,特别是在Adobe 收购Macromedia后,新推出的ria应用的开发框架和一套基于Eclipse的集成开发工具(Flex Builder 2.0),使ria应用开发者眼前焕然一新。今后几年时间内传统的Web应用程序和ria将会共存。但笔者认为真正具有实力担当起普及丰富客户端应用重任的只有基于Flash Player的Flash/Flex应用程序和Microsoft的基于Avalon的应用程序。短期时间内(估计2-3年时间)可能是 Flash/Flex应用程序在新兴的网络应用程序市场上占有主导地位。随着时间的推移,Flash/Flex应用程序的市场占有率可能会慢慢被基于 Avalon的应用程序所分割。当然,Flash Player和Flex以后也会不断推出新版本,相对于升级操作系统或安装Avalon运行环境,人们肯定更愿意升级Flash Player。Adobe 平台业务集团的首席软件设计师、高级副总裁林奇向外界表示,Adobe 正在开发一个代号为Apollo的项目,使Flash 应用能够在不启动浏览器的情况下运行。Apollo的目的是克服目前的Web 应用软件的一些限制。目前,Flash 应用能够在浏览器中运行。Flash/Flex应用程序也有其本身固有的软肋,Flash Player的执行效率和对本地资源的操作限制是无法和Avalon相比的,相对于浏览器中的插件而言,Avalon的应用程序拥有更加广阔的可操作空间和更高的执行效率。 目前Microsoft还在推广一种叫做Smart Client(智能客户端)的客户端程序技术,Microsoft称Smart Client是比Rich Client更优秀的客户端,因而采用Smart Client的应用程序算不算ria目前我个人还无法作答。这里我们之所以提及Smart Client,是因为Smart Client的特性跟我们谈的Rich Client有太多的相似之处。Smart Client拥有自动更新、离线状态下的数据处理和可以使用本地资源等特征,其中的可使用本地资源这一项无疑是一大卖点,当然有的人会考虑由此带来的安全性问题。因为浏览器中的 Flash/Flex应用程序目前还无法操作本地的一些资源,比如Flash/Flex应用程序无法将网上的文件保存到本地或者修改本地文件,但Flex可以将应用程序对象保存本地客户端固定的文件夹中缓存起来,有点类似IE中的Cookies。相对于轻量级的Rich Client,Smart Client更接近C/S架构中的客户端程序。Rich Client和Smart Client的定位还是有所区别的:Rich Client更适合作为轻量级的基于浏览器的网络应用程序客户端;Smart Client更适合作为Windows桌面应用程序的智能客户端。 不管我们今天称之为的ria今后会不会成为主流应用程序,人们对开发具有高度互动性、丰富用户体验以及功能强大的客户端的追求是不变的。有理由相信,拥有成熟技术和极高市场占有率的Flash客户端将会在ria道路上越走越远。Microsoft未来的重量级武器:Avalon和Smart Client能否后来者居上让我们拭目以待。 4 应用ria相关技术的案例介绍 以上对ria产生的背景及ria具体概念进行了大致的阐述,下面就以一个案例来说明ria是如何提高客户体验的。 4.1案例项目背景 随着我国市场经济体制的建立,政府的主要职能已经从竞争和生产领域退出,工作重点逐步向资源如何配置,产业如何优化方向转移,因此财政管理的职能也向公共财政管理转变,使财政支出从竞争性、经营性领域退出来,重点用于国家机器正常运转、农业和科、教、文、卫、社会保障体系建设和公共基础设施建设等方面。这就要求财政部门在工作重心和管理手段上必须适应形式的发展和变化,特别是公共财政框架下“阳光财政”的形成和完善,要求公共财政支出必须透明、公开、合理,也就是说纳税人的钱如何的花要有个交待。以往的管理手段已经满足不了公共财政管理的要求,因此财政部门如何改革现有的管理形式和方式方法,如何保证公共财政支出的公开、透明与合理,已经成为财政管理部门现时和未来一段时期的重要课题。 4.2项目系统总体应用架构 4.3 系统总体应用简介 系统建立在一个NC基础平台之上,在收集了所有下级单位数据后,通过数据转换子系统实时地把R9数据转换到NC系统当中对应的单位核算账,这样NC账套就包括了所有单位的数据,在此基础上,NC集中财务管理平台就提供了一套综合的数据查询功能,因为并不需要在此NC账套中录入新的核算数据,但是因为数据的使用者都是财政局的各个综合部门和各位直管领导,数据量这样大,对数据的提取速度和提取数据的质量都有一定的要求,数据展现的直观性也决定了系统用户的体验程度。基于这些原因,我们又在NC基础上利用Adobe提供的一套ria开发工具Flex Builder 2.0、Flex Data Services 2.0、Flex Charting 2.0开发了一套综合的图形分析系统。在开发完成基本的分析模型后,客户非常认可。对于提高客户体验的部分,总结如下: l 综合查询先把查询到的数据展示成图形,客户对直观的图形展示非常感兴趣,一下就可以先看出下级单位财务核算数据是否有问题,问题会在哪里,当发现问题后,再进一步由分析系统自动登录到NC系统联查明细账及凭证,由此我们可以看出,图形和数据表格综合展示方式的分析比传统的只是展示数据表格的查询要直观得多,大大增强了客户体验。 l 通过此综合分析系统,可以快速地为数据需求者提供高质量的数据,交互地生成分析报告,比传统地手工写财务分析要快速得多,使用者只要把要分析的对象放到查询结果里,选择要分析的角度,从而就可以把真实的数据用灵活、直观的图形展现出来,再加以自己的专家分析建议,最终将形成一套翔实、美观的分析报告,谁能不愿意使用这样一套系统呢,下图为系统应用的一个截图 图形与表格可以互相解释和切换,如下图所示: 5 附录 参考文献 [1] Joshua Duhl, 丰富互联网应用程序的商业影响. [2] Adobe Flex:创建企业Rich Internet Application 的表示层解决方案. 转载:http://blog.csdn.net/hljlgj/archive/2006/11/15/1385603.aspx
分享到:
评论

相关推荐

    精通SILVERLIGHT:RIA开发技术详解.part1(共2)

    silverlight开发经典书籍,RIA开发技术,WPF开发者也可参考。

    RIA及技术与用户体验

    良好的用户体验设计能够提高用户满意度,提升应用的吸引力和使用率。在RIA中,设计师需要考虑交互的流畅性、响应速度、视觉吸引力以及易用性等方面,确保用户在使用过程中感到舒适和高效。 **转换思维模式**进入RIA...

    RIA技术RIA技术RIA技术

    ria技术,全称为Rich Internet Applications,是互联网应用领域的一个重要概念,旨在提供更丰富、更具交互性的用户体验。...随着技术的不断发展,ria技术将继续在提升用户体验和创新Web应用方面发挥重要作用。

    Silverlight 4 RIA开发全程解析(源文件代码)

    《Silverlight 4 RIA开发全程解析》是一本专注于利用Microsoft Silverlight 4技术进行 Rich Internet Application(RIA)开发的专业指南。源文件代码的提供,使得读者能够更深入地理解和学习 Silverlight 开发实践。...

    Silverlight 4 RIA开发全程解析(完整版)

    使用《SilverLight 4 RIA开发全程解析》所阐述的在线业务的新特性,您可以创建一个与传统的基于ASP.NET的网站相比响应速度大为提高的Web应用程序。为了了解这些新特性以及改进的Silverlight工具包,我们在每一章中都...

    RIA应用开发课程简介

    ria应用开发是现代Web开发中一个重要的领域,旨在提供更加丰富、交互性更强的用户体验。本课程专为对RIA技术感兴趣的开发者设计,通过12个精心策划的课时,将引领你深入探索这一技术的精髓。 **jQuery学习课程** ...

    Flex.4.0.RIA开发详解讲义

    Flex是目前最流行的RIA(Rich Internet Application)开发技术之一。本书由浅入深,循序渐进地讲解了如何使用Flex技术开发RIA应用程序。全书内容包括Flex简介、安装和配置Flex开发运行环境、熟悉Flex开发工具、...

    Flex_3_RIA开发详解与精深实践.pdf

    Flex 3 RIA(Rich Internet Application)开发详解与精深实践是针对Adobe Flex 3这一技术的深度学习资料。Flex是Adobe公司推出的一种用于构建富互联网应用(RIA)的开源框架,它基于ActionScript编程语言和Flash ...

    Flex_4.0_RIA开发详解.pdf

    在阅读上述内容后,可以看出Flex 4.0是一个功能丰富的RIA开发框架,它不仅提供了强大的编程和设计工具,还确保了良好的用户体验和应用性能。FlashBuilder作为其集成开发环境,简化了从安装到应用开发的整个流程。...

    Flex_4.0_RIA开发详解

    Flex 4.0 强调了增强用户体验、优化开发环境以及提升应用程序性能,是RIAs领域的领先解决方案。它使得开发人员能够创建具有高度互动性和丰富媒体元素的应用程序,这些应用在表现力和响应速度上远超传统的HTML页面。 ...

    arcgis Ria 开发实践

    通过合理选择技术栈、遵循良好的开发流程、有效解决常见问题并采取优化策略,可以创建出既美观又实用的ArcGIS RIA应用,为用户提供卓越的地理信息服务体验。希望本文分享的经验能帮助读者在ArcGIS RIA开发道路上取得...

    Arcgis RIA开发实践

    通过阅读《ArcGIS RIA开发实践》,开发者不仅可以掌握ArcGIS RIA的开发技能,还能了解到如何将GIS技术与RIA相结合,创造富有创新性和实用性的Web GIS解决方案。而压缩包中的"ArcGIS_RIA_开发实践.pdf"文件,应是该书...

    《深入理解Ajax基于JavaScript的RIA开发》配书源码

    《深入理解Ajax基于JavaScript的RIA开发》是一本专注于Web开发技术的专业书籍,其配书源码包含了一系列实际的示例和实践项目,旨在帮助读者深入掌握Ajax和基于JavaScript的富互联网应用(Rich Internet Applications...

    Flex 4.0 RIA开发详解(第2版)

    Flex 4.0 RIA开发详解(第2版) Flex 4.0 RIA开发详解(第2版) Flex 4.0 RIA开发详解(第2版)

    flex开发系列书籍:AIR RIA开发

    【描述】:“浅谈基于FLEX与AIR的RIA开发技术及应用.pdf” 【标签】:“flex” “RIA” “AIR” 【正文】: 富互联网应用程序(Rich Internet Applications, RIA)是互联网应用发展的一种新趋势,旨在融合桌面...

    RIA技术实战

    **RIA技术实战** ria(Rich Internet Applications)技术是互联网应用领域的一个重要概念,它旨在提供与桌面应用...无论是在电子商务、在线协作、媒体分享还是其他领域,掌握RIA技术都将极大地提升Web应用的竞争力。

    ArcGIS Server RIA开发

    通过上述内容,我们可以看出ArcGIS Server RIA开发涉及的技术和概念非常广泛,既包含了RIA的基本原理和技术特点,也涵盖了ArcGIS Server提供的REST接口和Flex API的具体应用。开发者可以根据实际需求选择合适的技术...

Global site tag (gtag.js) - Google Analytics