XML 技术 2007 年度回顾和前景展望

  • 肖桦

2008 年 1 月 20 日

话题:Java架构语言 & 开发

不知是从什么时候开始的,XML 不再是一种迷人的新技术,而逐渐成为基础设施中单调的一部分。我们对于 XML 的趋势,也渐渐到了看看年报就可以把握的地步。但前提是,要有这样一份年报的存在。IBM developerWorks 中文站上的2007 年 XML 的十大预测XML 2007 年度回顾两篇关于 XML 的文章,是既猜中了开头,也猜中了结局。

作者 Elliotte Rusty Harold 可谓是 Java 和 XML 领域的能人,他的著作如《Effective XML:有效使用 XML 的 50 种方法》和《Java 网络编程(第三版)》都是技术开发领域的畅销书。首先让我们来看一下他在去年对 XML 领域的十大预测

  • XQuery
  • Atom 发布协议 (APP)
  • XForms
  • XProc
  • 语义 Web
  • OpenDocument
  • 客户机上的 XML
  • WS-*,打上叉号吧,结束了
  • 浏览器之争仍将继续
  • JSON,XML 回退和逆潮

“十大”预测有凑数的嫌疑,最重要的预测其实其实只有两条:

XQuery 将最终准备好投入生产,APP 也将破壳而出。如果打算在 2007 年对 XML 投入金钱或时间的话,这些就是我要关注的技术。

其他两条能吸引我们停留目光的,一条是作者对 WS-* 的毒咒和对 POX(Plain Old XML,词源于 POJO) 的赞美,“如果任何一位体系结构的航空者能够回到现实中来解释他们到底在干什么,面向服务的体系结构(SOA)也许还能发挥作用。”,一条是作者对 JSON 出现的抱怨,使用到了回退、逆潮的字眼,可见怨念之深,“转向更复杂问题的早期采用者将开始认识到他们是在重新发明 XML 的大部分。”

其他的六条预测就真的不重要吗?重要吗?不重要吗?也许是国内与国外环境的差别造成我们对语义 Web、XProc、XForms 等概念们兴趣欠奉的态度。

时隔一年,和其他技术领域一样,XML 也有了长足的进展,有多少应验了 Harold 的预言呢?在他发表在 IBM developerWorks 网站关于 XML 的XML 2007 年度回顾中,他总结到:

对 XML 来说,2007 年又是发展较为平缓的一年。但是在这一年中,一些重要的规范都升级到了 1.0 版,XML 在信息发布(Web 和传统形式)方面得到持续发展。更重要的是,REST 与 Web 服务的碰撞引起了轩然大波,整个 Web 服务领域产生了重大变化。引起这一巨变的最主要技术是 POX(plain old XML),POX 文档可以通过标准 HTTP 传送,而且不会被任何模式或规范羁绊。

REST 并不是惟一隐含其强大功能的技术。XML 的全部潜力也即将充分发挥。在这一年里,Atom 发布协议(Atom Publishing Protocol,APP)和 XQuery 升级到了 1.0 版,而它们带来的影响才刚刚开始。

在过去十年中,XML 经历了无数次挑战,不管是来自功能强劲的技术,还是来自名不符实的技术(YAML、SML、S- 表达式,以及其他遭竞争淘汰的技术),但是 2007 年 JSON 的流行却是对它最大的挑战。

这段文字,无疑是 2007 年 XML 发展最精要的总结,作者的预测基本上都实现了。但是,那些满世界开会的专家们的努力远不止此,大家也许应该细看原文中每月的总结,以聊表对专家们工作的敬意。

在回顾过后,作者还意犹未尽地预测 XQuery 和 APP 这两个技术在 2008 年一定会有大的事情发生:

但是,如果我不得不挑选出今年发生的最重要的事件,我很难在正在缓慢成长的 XQuery、APP 和 XForms 之间做出选择。所有这些都有可能从根本上改变 Web 的底层软件基础结构。XQuery 已能够应用于生产,而 APP 正在快速发展。在 2008 年,两者之间一定会发生重大事件。

看来,根据作者的 08 预测,XQuery 与 APP 依然是 XML 领域两大主题。本人在 2007 年打过照面的 XML 概念,也恰恰是 XQuery 与 APP 协议。接触 XQuery 是因为 BEA 的 SOA 产品线对 XQuery 的力捧。XQuery 现在 Oralce 的带领下制定了地位等同于 JDBC 的 XQJ 规范,在 TheServerSide 上有新鲜的XQJ Tutorial: Understanding the XQuery API for Java,另外Saxon.com还提供了一个 XQJ 的免费实现,但性能略逊于收费版本。

另外,APP 之所以重要,一方面是它很有机会成为下一代的互联网数据传输协议 (当然,只是理论上的),而更重要的是它全身上下连香水的味道都是 REST 的,几乎每一个特征都是 REST 的特征,APP 未必是最好的互联网数据传输协议,但绝对是最好的 REST 应用范例。APP 的出现,也是 REST 走进正式协议的开始。已加入 MuleSource 的 Apache CXF/XFire 创始人 Dan Diephouse 写了一个很好的介绍 PPT:Building Services with Atom Publishing Protocol

作者在 06 年,07 年都忠实地为我们做了 XML 的年报,期望他的 08 年版本。

Java架构语言 & 开发