像演奏家一样的浏览器

——现代浏览器可作为组合web服务的有力工具

原文地址是:http://www.infoworld.com/d/applications/browser-orchestrator-585

就LibraryLookup项目来说,这周很忙碌,该项目最初于2002年12月创立。LibraryLookup是个用Javascript写成的书签工具,它可以将Amazon.com上的图书信息与该书在图书馆中的相关记录联系在一起,直到现在它仍被广泛使用。这项技术的成功,使我联想起自己一直以来追求的主题:用户驱动革新的动力、RESTful web应用的可伸缩性、以及轻量级服务组合的巨大能量。

LibraryLookup的失败之处也同样发人深省。作为另一种web应用,图书馆数据目录并不是为这类(libraryLookup中)服务组合而专门订制的。它在提供服务时不需要太多东西,一个能打开的搜索页面就够了。有的供应商提供这玩意,而大多数供应商连这个都没有。

图书的信息结构也是另一个失败原因。ISBN号并不与一本书形成一一对应关系。同一本书无论是精装版还是平装版对应的是不同的ISBN号,而读者在浏览器上找到的书又必须与图书馆记录里查到的ISBN号一一对应起来。在我的服务中,我希望我的服务可以统一同本书的不同版本,而就在一年前,在线电子图书馆( Online Computer Library Center )满足了我这期望。它提供了一个名为xISBN的服务可以把一本书的不同版本全部罗列出来。

尽管书签工具可以将两个服务结合起来,但如果不依赖外部插件支持的话,它很难组合三个或三个以上的服务。将xISBN与LibraryLookup现有的服务组合在一起,超出了我所能及的范围,所以这项目暂时被抛到了一边。

 

然而这周,我忆起目前已经有了一款合适的插件,通过查询图书馆的数据库,它将我在亚马逊的愿望清单与RSS Reader连在一起。当我在亚马逊上看到的一本书在图书馆中尚不可被借阅,而不久之后,它的状态又变为可借阅时,这款插件就会在我的RSS标签上给予告知。这个例子中的插件只是个会按时运行的python脚本。通过扩展它来使用xISBN服务是件挺容易的事,于是我就这么做了。

早先我让大家一瞥这个RSS告知器在客户端超媒体上是如何运作的。那会儿我展示了一个Greasemonkey脚本,当你在图书馆里找到一本书时,它可以迅速重写这本书在亚马逊的页面。那么,这个Greasemonkey脚本可以被扩展为一个组合服务的演奏家吗?

当然可以的,你可以从我的weblog上找到最终细节。在这里,我只是概述了我的结论。首先,我鼓吹了客户端超媒体和演奏家,对我来说,这些东西至少Ajax的终结曲。浏览器内的服务组合能够、并且将很好的与云计算中的服务组合互补。我已经在高容忍度统一体的WS-Light端实现了这个理论,而Tibco General 接口显示了该理论在WS-heavy端同样可以很好的实现。虽然Ajax和BPEL现在还不能共处,但记住我的话,他们会出现在一个应用中的。

第二点,我对能使这些玩意儿唱歌的web高级标准表示谨慎的乐观。最新的W3C API接口在Firefox 1.0版本中运行良好,在1.5版本中的效果更好。同时,一度冻结的IE终于融化了,重新动了起来。我不知道微软打算再过多久才让IE接纳这些新标准,不过Windows Live给了我希望,也许基于标准的web客户端会在不久的将来释放它的强大能量。

posted on 2012-01-19 15:44  Ballad1939  阅读(123)  评论(0编辑  收藏  举报