当前位置:K88软件开发文章中心编程全书编程全书01 → 文章内容

RIA产生的背景、发展态势与发展预测

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 1:39:25

:2012-04-12 18:28:49

互联网已经日益成为应用程序开发的默认平台,传统的Web应用程序(Web Application)是基于HTML页面、服务器端数据传递的模式。而HTML是适合于文本的,随着Web应用程序复杂性越来越高,传统的Web应用 程序已经渐渐不能满足Web浏览者更高的、全方位的体验要求了,这就是被Macromedia公司称之为的"体验问题"("Experience Matters")。

此时一种被称为Rich Internet Application(简称RIA,中文翻译作"丰富互联网应用程序")的具高度互动性和丰富用户体验的网络应用程序出现了。Macromedia公司也借此机会开发了相关的技术和开发工具,促进RIA的开发和普及。

1. RIA的产生背景

企业级应用程序经历了几次系统架构方面的重要转变,在此过程中,客户端的表现能力有起有落。图1显示了Rich Internet Application的发展过程:


图1.Rich Internet Application的发展(摘自Macromedia Flex:创建企业Rich Internet
Application 的表示层解决方案)

(1)基于主机的应用程序:应用程序提供基于文本的非图形化用户界面,只有内部人员才能进行访问。

(2)客户机/服务器(Client/Server,简称C/S)应用程序:二十世纪九十年代随着Windows的出现和客户端处理能力的增强,出现了 客户机/服务器应用程序,它们采用图形用户界面,客户端的数据处理能力比较强。但由于客户端应用程序需要进行不断的更新,因此部署成本比较高,只能为少数 人所使用。

(3)浏览器/服务器(Browser/Server,简称B/S)应用程序:九十年代中期,互联网飞速发展,出现了浏览器/服务器应用程序,Web的 广泛使用解决了C/S应用程序部署、和更新的困难。但由于采用了HTML页面形式的用户界面,客户端的数据处理能力较C/S应用程序有所回落。

C/S架构的缺点主要是部署、更新的问题。B/S架构的缺点主要是受制于HTML的限制,无法像C/S那样使用丰富的效果来展示数据,用户 体验比较糟糕。另外,稳定的客户端/服务器连接,也是必要条件,网络中断将使B/S程序无法运行。从C/S到B/S,这两者受限于技术本身分别发展成了重 客户端和重服务器端的模式,而RIA的出现给我们带来重新在客户端和服务器端进行更好的平衡的机会。

2. 什么是RIA

RIA 是集桌面应用程序的最佳用户界面功能与Web应用程序的普遍采用和快速、低成本布署以及互动多媒体通信的实时快捷于一体的新一代网络应用程序。RIA中的 Rich Client(丰富客户端)提供可承载已编译客户端应用程序(以文件形式,用HTTP传递)的运行环境,客户端应用程序使用异步客户/服务器架构连接现有 的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的Web服务所驱动。结合了声音、视频和实时对话的综合通信 技术使RIA具有前所未有的网上用户体验。

下图就是RIA的应用程序模型:


图2.RIA的应用程序模型

3. RIA的优势

RIA 具有的桌面应用程序的特点包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性如拖放式 (drag and drop)以及在线和离线操作能力。RIA具有的Web应用程序的特点包括如:立即布署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采 纳的互联网标准。RIA具有通信的特点则包括实时互动的声音和图像。

客户机在RIA中的作用不仅是展示页面,它可以在幕后与用户请求异步地进行计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。

对于企业来说,部署RIA的好处在于:

1)RIA可以继续使用现有的应用程序模型(包括J2EE和.NET),因而无需大规模替换现有的Web应用程序。通过Rich Client技术,可以轻松构建更为直观、易于使用、反应更迅速并且可以脱机使用的应用程序。

2)RIA可以帮助企业提供多元化的重要业务效益,包括产提高销量、提高品牌忠诚度、延长网站逗留时间、较频繁的重复访问、减少带宽成本、减少支持求助以及增强客户关系等。

4. RIA目前的发展态势

在过去的两到三年中,Web开发人员一直是想构建一种比传统HTML更丰富的客户端:这是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏 和更具有令人感兴趣的可视化特性。RIA技术的出现允许我们在因特网上以一种像使用Web一样简单的方式来部署富客户端程序。无论将来RIA是否能够如人 们所猜测的那样完全代替HTML应用系统,对于那些采用C/S架构的胖客户端技术运行复杂应用系统的机构和采用基于B/S架构的瘦客户端技术部署Web应 用系统地机构来说,RIA确实提供了一种廉价的选择。下面介绍一下目前出现的几种比较有实力或者有特点的RIA客户端开发技术:

1) Macromedia Flash/Flex

Flash 从6.0开始Flash就逐步具备建立窗体风格的应用程序的功能。据Macromedia称已经有98%以上的桌面系统的浏览器都安装了 Macromedia Flash Player。这使得以Macromedia Flash Player为客户端的RIA可以支持种类广泛的平台和设备。

Flex是为满足希望开发 RIA的企业级程序员的需求而推出的表示服务器和应用程序框架,它可以运行于J2EE和.NET平台。Flex表示服务器提供基于标准的、声明性的编程方 法和流程,并提供运行时服务,用于开发和部署丰富客户端应用程序的表示层。Flex开发者使用直观的基于XML的MXML来定义丰富的用户界面。该语言由 Flex服务器翻译成SWF格式的客户端应用程序,在Flash Player中运行。

2) Laszlo

Laszlo 是一个开源的RIA开发环境。使用Laszlo平台时,开发者只需编写名为LZX的描述语言(其中整合了XML和Javascript),运行在J2EE 应用服务器上的Laszlo平台会将其编译成SWF格式的文件并传输给客户端展示。从这点上来说,Laszlo的本质和Flex是一样的。Flash是任 何浏览器都支持的展示形式,从而一举解决了浏览器之间的移植问题。而且,在未来的计划中,Laszlo还可以将LZX编译成Java或.NET本地代码, 从而大大提高运行效率.

3) Avalon

Microsoft的Avalon是下一版本的 Windows(代号"Longhorn")的一部分,是一个图形和展示引擎,主要由新加到.NET框架中的一组类集合而成。Avalon定义了一个在 Longhorn中使用的新标记语言,其代号为"XAML"(可扩展应用程序标记语言)。可以使用XAML来定

[1] [2]  下一页


RIA产生的背景、发展态势与发展预测