什么是富客户端互联网应用程序

原稿:Rich Internet Applications with Adobe Flex & Java 28-30

章节:Architecture of Rich Internet Applications

作者:Yakov Fain,Dr.Vector Rasputnis,Anatole Tartakovsky

时间:2008-4-27

翻译者:刘锦行(whizen)

修订:

 

什么是富客户端互联网应用程序?

在软件工业的历史已经发生了惊人的改变.我们从单机时代进入了客户端/服务器端的时代.曾经为客户带来便利和生产力提升的单机系统进入了历史.随着互联网时代的到来,一群梦想家正在改变我们的桌面.计算机销售商和IT公司渴望从复杂的客户端/服务器端的版本管理中解脱出来,而技术人员却需要他们来进行复杂的多层计算.这个时候,客户端/服务器端模式成为了负担.为了以示区别,这种虽然很不错但是显得很传统的桌面应用程序被称为”富客户端”.另外,那些多线程.传递消息.持久甚至简单的玩具都在服务器上运算的,如果我们不去想这些,只知道最后他为用户提供了丰富的体验而且甚至完全不用去部署.这个让我们感觉良好的家伙是新的应用程序类型称之为:瘦客户端.

 

然后我们遇到了新的挑战,那就是我们进入了富客户端互联网应用程序的年代,这是一种使用颇具怀旧色彩的强力桌面应用程序来代替那些可恶的需要下载的页面.RIA们运行在虚拟机之上,具备马上成为一个全功能桌面程序的潜力.与那些只需要从服务器上下载而来只能显示简单内容的WEB页面不同的是,RIA却是的的确确运行在客户端的.就像在客户端/服务器端那个年代一样,能够在本地的处理很多的数据(例如,排序,分组,过滤),相关的分析师认为在未来的3,4年内将有很多新开发的项目使用RIA技术.

 

一个RIA结合了使用WEB带来的低成本的部署方案和丰富的用户体验的好处,最少比现在的桌面应用程序要好.而且,因为RIA不需要刷新整个页面来更新其中的数据,所以响应速度也更快而且通讯消耗也更低.有点类似一个部署了整个地球的客户端/服务器端应用程序.

 

让我们来描述一个购物车的例子,”过时”的WEB页面和RIA之间的区别.不使用RIA技术的WEB应用程序是基于页面的. HTTP协议是个无状态的协议,所以当用户从一个页面移动到另外一个页面的时候,WEB浏览器无法记得用户在上个页面做的操作.为了治疗这个”失忆症”,必须使用HTTP session来在服务器端记录用户的状态.

 

假设以下是在线购物线程的流程,依次进行以下操作:

1,用户在 页面#1 搜索一个商品

2,服务器会处理这个请求,并且返回一个可能包含(也可能不包含)符合要求商品的页面#2

3,用户将这个物品放入购物车,这个操作也会导致在服务器端也要创造出购物车并且储存用户的商品.随后,服务器将返回一个页面#3,这样用户就能够继续购物(重复2 3步)或者去结帐#4

 

在结帐操作中,服务器会从session对象中检索被选择的商品,并且返回一个页面#5来告诉用户填写物流信息.这些数据返回到服务器进行保存后,再次返回一个页面#6给客户端,里面包含着支付的相关信息.随后将在页面#7中确认支付信息并且最终完成购物.

 

这个最简单的在线购物流程却要与服务器之间交互7个来回.这与桌面应用程序有相当大的区别.虽然在WEB应用程序之中,虽然刷新单个的页面很快,而且通常用户都能接受8秒以内的延迟.但是这样能够刺激用户来完成购物呢?在想一下,因为每次你的系统给了用户7次的重新考虑的机会.假设网络和服务器很慢的时候结果又是如何呢?漫长的等待只可能让你的潜在客户离开你的店铺.

 

对比起瘦客户端来说, RIA程序去除了这些繁杂的应答来回,而且因为大多数处理都是在客户端上执行的,这样而来极大的改善了系统在大量数据处理的时候的性能.另外,RIA程序是可以持有状态的.他能在客户端储存数据,简单的说,RIA不是一些完全靠服务器端控制的页面.他们是确确实实在客户端上运行的程序,只在处理和交互数据的时候和服务器端进行通讯.

 

RIA程序可谓同时具备用户友好的界面和企业级应用程序的优点.众所周知在用户最后结帐的时候页面却失去了回应而导致不得不取消掉订单这样的事故让一些电子商务网站如在线票务预订系统或者在线零售商蒙受损失.我们有相当多的用户投诉电话,为客服中心和系统本身都产生了不可忽视的成本增长.需要相当之多的雇员来维持系统的运行不得不说对于一个企业的生产力造成了影响.而RIA能够提供比HTML应用程序更好的效率,这将减少操作和构造的成本.最后,我们来介绍一下一些设计优良的RIA用来构造我们的”捕鼠器”(指用来引诱用户上钩)

 

2002年的时候,MACROMEDIA公司展示了富客户端应用程序的模型,它让所有的”老旧”的WEB 1.0页面颤抖.但是最早的RIA应用程序却是在1995年由JAVA创造出来的.JAVA最初被大家接受的是一个叫做applets的一个可以下载的小程序.applets是使用java AWT(之后是Swing)类库做成的,依靠浏览器上的JVM运行.但是因为相当使用起来相当有技术难度,applets最终并没有怎么流行,反倒是JAVA自身在服务器端和移动平台上风光无限.

 

2004年的时候,TIM O’REILLY引用了一个新词汇 WEB 2.0.但是WEB 2.0的标准却从来没有被清晰的定义过.对于有些人来说,一些看起来很COOL的网站就可以被称为WEB 2.0.将这些看起来很COOL的网站贴上WEB 2.0的标志似乎很流行.但是通常WEB 2.0是指一些面向公众的网站,人们可以相互的合作和交流并且在这些网站上面建立关于他们自身的页面.WIKI百科上有一片相当长的文章,或许能够为你明白这个词汇的真实意义给予一些帮助.

 

如今甚至出现了WEB 3.0,指那些semantic(不明)页面……好吧让我们停止玩名字的游戏,回到本书的主题上来:RIA.

 

时间: 2024-09-28 21:39:45

什么是富客户端互联网应用程序的相关文章

JavaFX深入浅出(一)富客户端应用程序RIAs

每当我们要学习一种新的技术,首先要搞明白他是干什么的,对自己有什么用处,把相关情况弄清楚以后,才能决定去不去学习他.在学习JavaFX之前,下面几个问题我觉得应该先搞清楚: 一.什么是 Rich Internet Applications ? Rich Internet Applications ,缩写RIAs,翻译过来是富客户端应用程序,或者富互联网应用程序.他是从网络下载到本机,可以在浏览器中运行的一种应用程序.当然也可以脱离浏览器,直接在操作系统下运行.相对于传统的的Web应用,富客户端应

构建富客户端程序 GWT2.3 + Guice3.0 + hibernateJPA 程序代码

  构建富客户端程序 GWT2.3 + Guice3.0 + hibernateJPA 程序代码. Created Thursday 05 May 2011 gwt2.3 是开发 web2.0 的最理想的技术框架. 但只有 MVC中的 显示 和控制. 而模型这部分 没有给出 相关的实现. 用 spring + hiberante 倒是可以.但是 太过重量级的了.本来 web2.0就是应该快速的. 用上 spring 的IOC 反而感觉会慢点了.启动慢,加载慢.所以选择了一个轻量级的IOC-gui

构建富客户端程序 GWT2.3 + Guice3.0 + hibernateJPA 程序代码。

构建富客户端程序 GWT2.3 + Guice3.0 + hibernateJPA 程序代码. Created Thursday 05 May 2011 gwt2.3 是开发 web2.0 的最理想的技术框架. 但只有 MVC中的 显示 和控制. 而模型这部分 没有给出 相关的实现. 用 spring + hiberante 倒是可以.但是 太过重量级的了.本来 web2.0就是应该快速的. 用上 spring 的IOC 反而感觉会慢点了.启动慢,加载慢.所以选择了一个轻量级的IOC-guice

ASP、VB和XML建互联网应用程序1

用ASP.VB和XML建立互联网应用程序(1) 在个人电脑上使用单机版应用软件的时代很快就要过去了,现在大部分的应用程序都开发出网络版或大都需要共享网络上丰富的数据资源.我们虽然写了很长时间基于客户端/服务器的应用程序,但是这些程序大部分只是运行在小型的局域网内部.然而,有很多客观的原因要求我们要修改这些程序以使它们能够运行在一个企业的内部网甚至是国际互联网. 是什么原因迫使我们做呢?首先,随着一个企业的规模逐渐扩大,公司可能会跨地区甚至跨国经营,每个分公司的员工的数量也会逐年增多,这些在外地的

用ASP、VB和XML建立互联网应用程序(2)

xml|程序|互联网 让我们先分析一下客户端/服务器应用程序.在一个标准的客户端/服务器应用程序中,在应用程序开始时,你能够初始化数据库连接字符串,这就意味着,客户有使用数据库连接字符串的权利,这包括用户名和口令.但是客观情况如果不允许你在网络上发送这些信息的话,你就必需在不联接数据库的情况下直接从客户端取得数据发送给客户.那么解决方案之一就是在服务器上创建一个ASP页(在本例中称为getData.asp)接收特定格式的POST数据,它要求一个包含XML字符串,用来创建ADO对象并运行存储过程或

探索Eclipse的嵌入式富客户端平台:移动设备需要Eclipse

简介:本文介绍了嵌入式富客户端平台(embedded Rich Client Platform,eRCP).将学习构成 eRCP 的各种组件,并得到在应用程序中使用它们的一些示例. 背景 嵌入式富客户端平台 (eRCP)的目的是把 Eclipse 的富客户端平台(RCP)带到嵌入式领域. eRCP 由以下组件构成: 标准部件工具包(eSWT)-- 核心,扩展和移动扩展 eJFace eWorkbench eUpdate 我们将讨论每个组件,并在合适的地方使用代 码示例. eSWT 嵌入式标准部件

使用Eclipse富客户端平台和RAD V6创建EJB客户端(一)

使用Eclipse 富客户端平台和Rational Application Developer V6创建EJB 客户端(一) 引言 最近几年来,作为编写交互式开发环境(IDE)工具的框架 -- Eclipse 平台的流行程度显著增长.关于 Eclipse 3.0 版本,同样的技术已经扩展为支持富客户端的开发,给予 Java 开发者使用有自身感观的可扩展平台编写富客户端代码的能力. 开发富客户端的平台通称 Eclipse Rich Client Platform (RCP).为什么着重强调富客户端

DWZ-RIA v1.2 Final发布 DWZ富客户端框架

DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架. DWZ富客户端框架设计目标是简单实用.扩展方便.快速开发.RIA思路.轻量级DWZ支持用html扩展的方式来代替javascript代码, 基本可以保证程序员不董javascript, 也能使用各种页面组件和ajax技术. 如果有特定需求也可以扩展DWZ做定制化开化. 国内很多程序员javascript不熟, 大大影响了http://www.aliyun.com/

DWZ富客户端框架(jQuery RIA framework)

问题描述 项目介绍:DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.DWZ富客户端框架设计目标是**简单实用.扩展方便.快速开发.RIA思路.轻量级**DWZ支持用html扩展的方式来代替javascript代码, 基本可以保证程序员不董javascript, 也能使用各种页面组件和ajax技术. 如果有特定需求也可以扩展DWZ做定制化开化.国内很多程序员javascript不熟, 大大影响了开发速度. 使用DW