Subscribe using XML
在SUN的一个同事的签名档是这样的:
Java == platform independence
XML == application independence
JXTA == network independence
Bill Joy也说过:
Unix first gave us modular applications, connected by pipes; Java gave us portable applications; XML gave us portable data; and peer-to-peer gives us simple distributed computing. Can we tie these benefits together?
XML(eXtensible Markup Language)的确是一个伟大的发明,而且几乎成了Internet数据交换的标准。从软件架构的角度来讲,XML使得HTML中的数据和表现分离,提供了一种数据传输和交换的标准。
现在有很多文件都利用XML文件来进行同步更新,比如PAD.xml,RSS(包括RSS, Atom),Sitemap.xml。
做过共享软件的朋友应该都知道PAD(Portable Application Description),3年前做Shareware(VVPhoto)的时候第一次接触到了PAD.xml。这其实是一个共享软件领域内的数据同步交换标准。如果你的软件的网站支持这个XML文件,软件下载站(比如Download.com、Tucows)的Robot就会自动来订阅你提交的XML文件,并定期同步来保持更新。
这样做的好处显而易见,每个软件下载站都要提供成千上万种软件,而对于每个共享软件得开发者而言,他也要面对少则几十,多则几百的软件下载站。在没有PAD之前,共享软件开发者需要自己写Email或者添一些表格来提交自己的软件(包括今后的每次更新),这个工作实在是冗长并且无聊。
PAD这种发布-订阅方式使得这个工作简化许多,软件开发者只需要更新发布自己软件的PAD文件,而把其它工作留给软件下载站的Robot去做。
Google前一段推出的Sitemap文件其实也是如此,如果Webmaster都能提供良好维护的Sitemap文件(就像Blogger提供自己的RSS),Google就可以订阅这些Sitemap文件,从而采用异步订阅更新的方式来更快、更全、更好收录网站内容,Google Robot也不用再那么辛苦的四处爬行了。
RSS更是如此,我坚持认为,CMS和RSS是Blog得以风行的两个非常重要的原因。
个人主页有一个缺点是跟踪其他人的主页困难。如果我有很多朋友,每天通过收藏夹打开他们的主页,将会打开非常多的页面,而且如果发现没有更新,不但沮丧可想而知,宝贵的时间更是费了不少。RSS这种基于“推”的技术可以让我们可以更方便、高效的关注我们感兴趣的内容,我们再也不用去收藏夹中寻找感兴趣的内容,更新会被自动推倒我们的面前。
虽然XML本身是人眼可读的,但是维护起来还是非常麻烦(Ant的作者就曾经抱怨过现在Ant的XML编辑起来越来越困难了)。所以,这些采用XML进行同步的模式也都提供了优秀的编辑工具。比如说,各种Blog的CMS(比如WordPress和MT)可以帮助我们很容易的生成RSS,PAD.xml有很方便的工具PAD Generator可以生成,Google也发布了生成Sitemap.xml文件的Python脚本。
把信息的生产者和消费者用这样一种"发布"-"订阅"的方式联系起来,可以使得信息生产、消费更加简单和高效。生产消费各司其职,很大程度上杜绝了劳动的浪费、节约了时间,也更加安全和有效。
事实上,XML出现以前,互联网上就有很多这样的模式,但是由于数据格式各异,很难推广和形成标准。XML的出现,尤其是它几乎成了Internet上的数据交换标准,使得XML成了Subscribe模式的首选数据格式。
Popularity: 26%
Related entries:
- No Related Posts
