RIA技术在数字图书馆中的应用,本文主要内容关键词为:数字图书馆论文,技术论文,RIA论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
一个高质量的数字图书馆,需要为图书馆与图书馆之间,图书馆与读者之间,读者与读者之间建立一个广阔的交流平台,实现“以馆藏资源为中心”的服务模式向“以用户需求为中心”的服务模式的转变,只有这样,数字图书馆才能在社会中体现出更大的价值。而要实现“以用户需求为中心”的服务模式,如何提高用户体验是关键和重点。”用户体验(User Experience)指的是软件应用和审美价值,是以用户至上的观点作为基石的。RlA(Rich Internet Application,富互联网应用)是当前被广泛认为提高用户体验的有效途径。在数字图书馆中应用RlA技术提高用户体验,可提高数字图书馆的质量,为数字图书馆吸引和留住更多的用户。
1 RIA概述
1.1 RIA的概念
RIA是由Macromedia在2004年发布Flex时提出的,就是指相对于传统网络应用而言的一种丰富的应用程序。在传统网络应用中,我们的内容基本上都是通过我们熟知的HTML页展现的。而HTML是用于展示文本内容的一种技术,在多媒体及其他交互特性上已经慢慢不能满足网络浏览者更高的需求。浏览者希望将桌面的那种良好的交互设计、多媒体特性与互联网便于传播的优势结合在一起,创建新的网络应用程序,于是,RIA技术应运而生。RIA技术允许我们在因特网上以一种像使用Web一样简单的方式来部署客户端程序,它比HTML更健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。
1.2 RIA的技术特点
表1 传统Web、应用程序与RIA技术应用比较
传统Web
传统应用程序 RIA应用
界面表现相对较差好 好
界面操作性 相对较差好 好
系统性能负载主要在服务端负载主要在客户端服务端和客户端
可仅对需要数据进行网络通讯,
每次点击要刷新页面,但RIA应用本身需要下载,会占用
网络性能视情况而定
导致速度较慢较多带宽
部署不需部署需要安装无需部署,或一次性部署
和操作系统无关,有浏览 对操作系统有较高要求, 兼容性较好,依赖于浏览器和所需
兼容性
器即可 兼容性差插件
目前开发技术仍然不成熟,需要
开发难度相对较低相对较低
改进
部分RIA技术有较好的视频流和
音频流等支持(Flash/Silverlight)
如表1所示,RIA技术将桌面应用程序交互的用户体验与传统的Web应用的部署灵活性结合起来,从而实现更高层次的用户体验。RIA之所以强调rich,就是因为传统Web应用太poor了,没有办法满足浏览者的要求。RIA的“富”主要包括两方面:数据模型的丰富和用户界面的丰富。
1.2.1 数据模型的丰富
虽然现在HTML开始走向简单,但是即使简单的交互活动也仍然需要用很多的脚本来完成。即使一个输入窗口经过仔细的布局和全面的脚本设计,服务器向浏览器发送的也仅仅是简单的“名字/值”对。那么,如果浏览器能以XML的形式发送和接受数据结构,那么浏览器所需要发送和接受的就不再是大量的脚本,而是量很小的XML数据,既可实现原来的效果而又大量降低浏览器所发送和接受的数据量。RIA技术中的数据模型的富就是根据这样的原理。数据模型的丰富是指用户界面可以显示和操作嵌入在客户端的数据模型,它可以操作客户端的计算和实现非同步数据的发送和接收。丰富的数据模型意味着客户端的用户界面能表现和应对更多更复杂的数据模式,这样才能处理客户端的运算以及异步发送、接受数据。优势在于,当页面在服务器上创建完成并交付给HTML后,客户端的程序为用户提供比与服务器交互更良好的感受。为了达到高度复杂的数据模式,客户端允许你构建一个高响应、交互式的应用程序。这样丰富的数据模型可以使得客户端仅是在需要的时候才与服务器进行数据交互,而不像传统的HTML页面那样不断地时时与服务器进行交互,从而把更多的资源放在与用户的交互上。这样的数据模型可平衡客户端和服务器端的工作,可以为用户创建更具交互性的网络应用程序提供更大的空间。
1.2.2 用户界面的丰富
用户界面的丰富指RIA改变传统的HTML的只能给用户提供非常有限的界面控制元素的尴尬局面,为用户提供了灵活多样的界面控制元素。传统的互联网模式是线性设计方式,用户惟一的选择就是用批处理方式提交页面到服务器。在这种技术限制下用户体验很糟糕,这种程序不是用户所需要的。连续处理服务器请求和页面更新存在许多障碍,包括页面响应时间、不良的网络带宽,以及满足session或state交叉链接而不断增长的日常开销。在RIA系统中则可以避免这样的情况出现,在RIA系统中界面不再是一个不可分的模块,而是根据数据模型被分解成许多独立的模块,这些模块之间可以进行通讯,而且这些模块可以根据各自收到的信息独立地作出反应,独立地与服务器端进行信息交互以及根据需要进行刷新。伴随着丰富的用户界面,你可以从早期的,服务器响应影响整个界面的运作模式,迁移到只对发出请求的特定区域进行改变的模式上来。本质上,意味着界面将会被分解为由单独个体组成,来适应局部改变、服务器交互以及客户端内部组件的通讯。服务器端与客户端的信息传递也从传递整个界面的数据转变成只需要传递请求模块所要求的数据,大大降低了服务器端与客户端传输的数据量。另外,用户界面的丰富还体现在界面元素不再是完全由服务器端完全控制的,用户可根据自己的爱好改变界面元素。由于RIA在客户端使用数据结构的方式传递和描述数据,界面中的各个模块的各个元素都是通过XML数据中的属性值来决定的,那么,用户就可以通过改变XML中的默认属性值来自定义自己的界面,随意改变界面颜色,拖动界面中的模块,改变节目风格等,实现真正的用户个性化,这是许多用户梦寐以求的。
数据模型和用户界面丰富的结果是你可以创建一个客户端界面,能方便地操作复杂的数据和逻辑,同时可以让用户拥有远远高于传统HTML的用户体验。
1.3 RIA技术开发方式
RIA不是一种单一的技术,它包括一系列应用类型和技术。一部分是轻量级RIA,它们以异步Java语言和XML(Ajax)或者Web 2.0应用为主,利用异步JavaScript库,为网站添加丰富内容和响应特性。另一部分就是部署在Web上的.Net Smart Client应用和Java小应用程序,它们属于重量级RIA,客户端计算机需要先安装一个容量相当大(超过10MB)的运行时引擎才可以正常下载RIA。还有一部分RIA介于轻量级RIA和重量级RIA之间,它们包括诸多运行时引擎、开发工具和库,它们不仅能在客户端上处理Ajax,而且运行速度更快,又没有.Net框架或者Java运行时环境(JRE)的开销。Adobe Flash、Flex和Shockwave都属于这类中型的RIA引擎。
Ajax是目前比较流行的RIA实现技术,Ajax不是一种技术,它由几种蓬勃发展的技术以新的强大方式组合而成。这几种技术包含:基于XHTML和CSS标准的表示;使用Document Object Model进行动态显示和交互;使用XMLHttpRequest与服务器进行异步通信;使用JavaScript绑定一切。Ajax的关键在于通过对浏览器端的JavaScript、DHTML和与服务器异步通信的组合,为用户提供更为自然的浏览体验。在Ajax之前,Web站点对用户实行提交/等待/重新显示模式,而Ajax提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。在用户单击按钮时,Ajax可以使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不再需要刷新整个页面。这样的最重要好处是使得系统反应时间减少,Web站点看起来是即时响应的。Ajax比起其他RIA技术的主要优点是无缝与HTML集成,它可以大量使用而不需要改变现有Web内容。
2 RIA技术在数字图书馆具有巨大应用潜力
数字图书馆的价值主要在于使用,只有吸引更多的用户更多的使用才能体现其更大的价值。结合RIA技术的特点和现在数字图书馆的应用现状,把RIA技术应用于数字图书馆具有很大的潜力。
2.1 RIA可提高数字图书馆数字资源整合度
数字图书馆一般都包括多个不同的电子资源,这使得数字图书馆资源更为丰富,然而不同的电子资源往往有独立的数据库和检索发布系统,读者要面对不同的电子资源检索界面,还要逐一去浏览,这给用户访问电子资源造成很大的障碍,使用户产生无所适从的感觉。利用RIA技术中的AJAX技术可方便地解决数字图书馆的数字资源整合问题。
AJAX是英文Asynchronous JavaScript and XML的缩写,国内叫“异步JavaScript及XML技术”。AJAX通过调用XmlHttpRequest实现与服务器的异步通讯,并使用对应平台的XmlDOM对返回的XML进行处理,然后再通过DOM对页面中的HTML元素的操作,实现丰富友好的界面和交互。利用AJAX技术可以调用来自外部数据源的数据,能轻易地实现聚合。具体的实现方法,显示检索结果的Web程序中嵌入一段javaScript代码,同时显示检索结果的页面上增加一个或多个div元素。当读者访问到检索结果的页面时,就会把嵌入的javaScript代码下载到读者本地机器的浏览器端并执行这段代码访问对应的服务器端程序,来查询其他的一些相关资源的详细信息。当从服务器获得响应后,在读者的浏览器客户端只需要单独刷新对应的div元素,就可以将其他资源的信息显示在读者浏览器的检索结果界面上。在数字图书馆中应用AJAX可方便灵活的对不同的数字资源进行整合。
2.2 RIA可提高数字图书馆的检索效率
如今的数字图书馆一般都使用多个独立的数据库和检索系统以丰富数字图书馆的资源,然而,随着数字图书馆所使用的数据库的增多,用户在进行同一个检索时所需要访问的数据库就越多,检索所需要的时间就越长。随着数字图书馆数字资源规模的扩大,数字图书馆检索系统的检索效率日益显现其重要地位。RIA技术可大大的提高数字图书馆的检索效率。
RIA技术可实现对页面进行局部刷新,用户无需刷新整个页面便可向服务器传输和读写数据。也就是说RIA可使得页面实现按需获取数据。这样可以最大限度地减少冗余的请求对服务器造成的负担。RIA技术改变了传统的HTTP的传输方式,不再需要对整个页面的数据进行重复的传输和刷新,把一个页面分成多个div,每个div可独立的与服务器进行信息传递,不同的div之间也可进行通讯,使得页面可以进行局部刷新,刷新时也不再需要传递整个页面数据,而是该部分所必须的小量的发生变化的数据,在原来的页面状态仅更新相应部分的内容,这种更新是瞬间的,用户几乎感受不到。它使得在Web上运行软件的感受越来越接近于在本地PC机上桌面软件的运行水平。
2.3 RIA可提高数字图书馆的用户体验
随着网络技术的不断发展,用户体验越来越被重视,其中,用户个性化更是越来越多的被用户所看重。同样的,数字图书馆的用户也希望数字图书馆不再是一成不变的,希望数字图书馆可以满足不同用户的个性,兴趣等要求,体现更强的个性化的特点。RIA技术的提出便满足用户对界面的更高要求和对个性化的要求。
RIA一般还允许使用SVG(Scalable Vector Graphics,可伸缩向量图)或其他技术来随时构建图形。一些RIA技术甚至能够提供全活动的动画来对数据变化作出响应。RIA技术使用类似XML的数据结构对页面元素进行描述,所以,通过改变数据结构中不同元素的数据值,用户可以方便的改变页面元素,包括颜色,形状,大小等,也就是说,理论上说,用户可以随心所欲的根据自己的喜好构造个性化的系统界面。
3 在数字图书馆中应用RIA技术的必要性和可行性
根据RIA技术的特点和技术现状,在数字图书馆中应用RIA技术具有服务上的必要性和技术上的可行性。
3.1 服务必要性
应用RIA技术可降低操作复杂性。在传统的Web应用程序中,当用户进行一个多步骤或多选项的事务的时候,用户会看到一份很长的页面或者需要提交若干页面才能完成操作,而且又可能当用户操作到最后的几步才发现前面提交的信息有误,需要重新填写,这会严重影响用户对系统的印象。应用RIA技术可以通过更丰富灵活的界面很大程度上降低用户的操作复杂性,如可在操作的旁边显示帮助动画引导用户操作,可在用户填写其他信息的时候把用户已经填写的用户名传输到服务器中检验是否可用,是否重复,并给出提示,避免出现用户填写完所有资料提交的时候才发现用户名不可用的尴尬局面。
应用RIA技术可降低数据复杂性。如何高效率的表达和操作复杂的数据是传统Web应用程序所面临的巨大挑战,当然也是现有的数字图书馆所面临的问题。在数字图书馆中应用RIA技术,利用其丰富的数据结构使得对数据的表达和操作变得简单高效,客户端使用XML的形式发送和接受数据结构,使得数字图书馆可以通过操作简便的图像工具生动明了的展示复杂的数据信息。
使用RIA技术可降低交互复杂性。随着Web2.0的呼声越来越高,数字图书馆用户的互动性需求也越来越大,他们要求数字图书馆的速度能向桌面应用程序的速度靠齐。数字图书馆的发展趋势必然是资源越来越多,用户要查找的资源越来越多,一味的提高服务器和网络的速度既不现实又不经济。而应用RIA技术就可以解决这个问题,RIA技术使得客户端应用程序具有计算能力和部分控制能力,可以根据具体需要刷新全页中的一个或者多个子模块,从而降低网络的信息传输量。而且模块之间可以进行独立通讯,能在服务器不参与的情况下完成一些计算和处理,减少服务器的负荷。
使用RIA技术可满足用户个性化要求。随着网络化的不断发展,用户越来越不满足于传统系统对所有用户都一样的千篇一律的服务,他们要求应用系统可以根据不同用户的不同的爱好,职业等具体的情况提供不同特点的服务。RIA技术在客户端的强大丰富的表现力可以让用户自己定做具有自己特色的功能和自己爱好的界面风格,可很大程度上满足用户对个性化的要求。
3.2 技术可行性
RIA可以继续使用现有的应用程序模型(包括J2EE和.NET),因而无需大规模替换现有的Web应用程序。通过Rich Client技术,可以轻松构建更为直观、易于使用、反应更迅速并且可以脱机使用的应用程序。根据现有的数字图书馆应用系统现状和现有的Rich Client技术,在数字图书馆中整合应用RIA技术在技术上是可行的。
4 结论
在数字图书馆中使用RIA技术可以更好的整合数字资源,提高系统运行速度,提高检索效率,丰富客户端表现,提高用户体验。在应用RIA技术的过程中,会遇到困难和挑战,但随着RIA技术的不断完善和成熟,困难会逐步被解决,RIA将会很好的与数字图书馆相结合。数字图书馆对RIA技术的利用,必将有利于把数字图书馆的主动性、人性化、个性化的服务做到实处,向用户提供更方便、更及时、更满意的服务。
标签:数字图书馆论文; ajax论文; 服务器类型论文; web技术论文; 用户体验设计论文; 交互界面论文; web开发论文; 软件论文; 数据检索论文; html语言论文; html代码论文; 交互设计论文;