Ajax技术与图书馆2.0
星期日, 5月 27th, 2007很高兴暨大小钟愿意承担“图书馆2.0”著作中有关Ajax的部分,大家可以分享暨大在实现OPAC2.0时采用Ajax的经验了。不知道其它图书馆或图书馆软件厂商是怎样利用Ajax的。眼下新技术新名词泛滥,泥沙俱下,有些公司才咬了第一口苹果,就宣称尝遍天下奇珍异果。这需要我们有一副火眼金睛。
当然这本书中Ajax应该写到什么程度也是一个问题,Ajax可能更适合写技术应用白皮书。
Ajax是Web2.0的一项重要技术,由于它“技术性”较强,在谈论图书馆2.0的时候鲜有提及,但是如果能很好地利用Ajax技术,许多图书馆的应用能够更加“2.0”,使图书馆服务的可用性更强,更加“无缝”。
Ajax 是 Asynchronous Javascript and XML的简称,是一个技术的大杂烩。实际上目前有许多公司推出的Ajax技术产品(平台或实现方案),分别有不同的名称,例如Adobe(购买Macromedia公司时带过来的)叫做Flex,微软叫做Atlas(最近在SilverLight中是否改名?),还有Applet,他们具有许多与Ajax共同的特点,但在功能和能力上又有很大的不同。他们可以统称为富媒体应用(RIA:Rich Internet Applications)。
Ajax给我们的最大能力,是我们可以像客户端软件一样用浏览器,这是非常激动人心的。在我们的大量应用向b/s结构过渡的时候,最大的制肘就是不能进行基于状态的(实时)交互。当然,Ajax尽管提供了可能,但这项技术涉及大量技巧和约定,还不是非常成熟,还很复杂,代码的共享性也不是很好,安全性也让人担心,应用起来十分不易。
著名的Ajax应用举例:
Ajax技术图书馆可以用在什么地方呢?
1、OPAC2.0(如暨大所做);
2、数字图书馆搜索界面;
3、联邦检索;
4、同步显示关键词索引及分类、主题词等;
5、复杂的ILL表单交互;
6、类目及主题标目浏览
想举一些图书馆应用Ajax的例子,但曾经收集的一些例子已经都不可访问,估计当初的试验都已经“转正”。实际上现在越来越多的应用都采用了Ajax技术,Ajax成了开发Web应用的一种必需,成为开发工具的一部分,图书馆仍旧是指需要提出具体的应用需求就可以了。这样就对了,这说明Ajax正在走向成熟。
这里有个例子:http://elibrary.med.yale.edu:16080/ajax/。
总结:
应用Ajax的好处:
• 完全基于开放标准:X/HTML, XML, CSS, JavaScript;
• W3C的Web API工作组已着手制定xmlhttprequest响应标准
• 减轻服务器负载;
• 减少带宽负担;
• 减少交互页面;
• 快速响应,界面流程化(streamlined interfaces)
Ajax应用的不足:
• 客户端设置的不可预知性:如果浏览器js被禁止,就无法使用;
• 不是所有浏览器都可用,而且依赖于较高版本的、支持xmlhttprequest的浏览器
• 浏览器对某些功能丧失控制(如后退键);
• 页面的状态不是总能获得,从而降低了可用性;
何时可用Ajax:
• 可预计和可控制的用户环境
• 需要搜索功能;
• 需要多次/多步交互;
• 处理大规模分布式数据;
• 需要复杂验证(表单等)















