2007 年 XML 的十大预测

源自:http://www.ibm.com/developerworks/cn/xml/x-xml2007predictions.html?S_TACT=105AGX52&S_CMP=techcsdn

级别: 初级

Elliotte Rusty Harold (elharo@metalab.unc.edu), 副教授, Polytechnic University

2007 年 3 月 06 日

对于 XML 来说,2006 年是静悄悄的一年。2007 年是否会更令人激动呢?是的,Elliotte Rusty Harold 预测会这样。

自五年前社区将 XML 的快速发展应用到 Web 服务以后,2007 注定会成为最激动人心的一年。XQuery、Atom、Atom Publishing Protocol (APP)、XProc 和 GRRDL 都有望带来新的动力。一些老一点的技术如 XForms 和 XSLT 也焕发出新的生命。XML 技术在 2007 年能够更好地发挥其作用。

XQuery

至少近四五年以来 XQuery 一直被称为 “下一年” 技术,但是在 2007 年它终于来临了。首先,XQuery 1.0、XPath 2.0 和 XSLT 2.0 这些已完成的规范终将成为真正的推荐标准。事实上,当我在最后一次编辑本文时这已变为现实。:-)

此外,XQuery 的更新部分正在大踏步地前进。也许今年不会完成,但对于实现来说已经足够稳定,只要用户不介意每次发布新的草案时都要稍微修改一下代码。这种情况在年内只会有所改善。

另外,javax.xml.xquery beta 版也将在 2007 年发布。这是把 Java™ 程序和 XQuery 引擎、数据库连接在一起的标准 API。可以将其看作是 XQuery 的 Java Database Connectivity (JDBC)。它允许在 Java 代码中混合使用 XQuery。随着 2008 年 Java 7 的发布,它将成为 Java 类库的标准组成部分。

最后,原生 XML 数据库正在猛烈冲击市场并引起了用户的注意。在低端市场,eXist 和 Sleepycat(现在属于 Oracle)的 dbXML 越来越好。混合解决方案如 Oracle Database 10g Release 2 和 IBM® DB2 9 PureXML 将在需要混合使用传统表和一些文档的原有用户中推动 XQuery 的采用。纯 XML 数据库如 Mark Logic 将继续转变为能够承担入门费用的大型发行商。

最重要的是,和关系数据库以及结构化查询语言(SQL)相比,使用原生 XML 数据库和 XQuery 将更容易解决众多问题。SQL 数据库强大而有用,它们不会消失,但是从来都不能很好地适合 Web,而今天基于 Web 的应用程序越来越多。WordPress 和 MediaWiki 这类程序居于关系数据库的顶端,仅仅因为这是开发人员方便使用的工具而不是适合需要的恰当工具。到年底的时候,至少会看到 Wiki、内容管理系统、blog 引擎其中的一种将建立在 eXist 或其他 XQuery 数据库的基础上。保守估计,这三种产品至少一种或者全部产品将把 XQuery 注入从理论问题变成实际问题。

办公文档是推动 XML 数据库采用的另一股推动力量。大量的企业和非企业数据根本不是用 XML 存储的。通常保存在个人计算机上的 Microsoft® Word、Excel®、PowerPoint® 文件。现在这些程序都保存为原生 XML,因此有可能在集中管理的 XML 数据库中存储这些文档。

 

 

Atom 发布协议

如果让我选择下一年的热门话题,那么我会选择 Atom 发布协议(APP)。APP 起初是作为发布 blog 内容的标准方式提出的,但后来证明它能做更多的工作。APP 和 Atom 对于 Web 创作来说,就像是超文本传输协议(HTTP)和超文本标记语言(HTML)对于 Web 浏览。Tim Berners-Lee 一直把 Web 解释为一种读写媒介,但事实并非如此。过去 15 年中只实现了系统的发布/读取部分。只能使用局限性很大的 HTML 表单或者非 HTTP 方法如文件传输协议(FTP)实现写的功能。

APP 定义了所有服务器都能实现的发布新内容的标准方式。独立的软件厂商可以编写自己的能够和不同服务器上的 APP 服务对话的编辑工具。最终我们将能使用类似 Word 和 Emacs 这样的功能完善的编辑器编写 Web 内容,而不是浏览器中那种简单的工具。上传内容可能变得和今天在本地硬盘上存储文件一样简单。

APP 是第一个基于 Web 体系结构 Representational State Transfer (REST) 的重要协议。目前多数系统仅使用了 HTTP 的一个子集,通常只有 GET 和 POST 而没有涉及到 PUT 或 DELETE。很多系统如 SOAP 和 Web-based Distributed Authoring and Versioning (WebDAV) 是与 HTTP 设计相矛盾的。相反,APP 可以与 HTTP 工作而不是对抗它。

如果我的预测正确并且 APP 成功的话,将带来两方面的重要影响。首先,APP 将成为告诉人们如何设计 REST 化的新系统的好例子。其次,它将迫使大量原生防火墙和代理服务器重新配置,以便除 POST 和 GET 之外还允许 PUT 和 DELETE 通过。这样有助于避免任何内容都要通过 POST 传输,使其他 REST 化的应用程序看起来更加真实。

除了破坏代理以外,妨碍全面采用 REST 的另一个问题是浏览器表单只允许使用 GET 和 POST 方法。这种情况也将改变,APP 是推动这种改变的主要原因。XForms 和 Web Forms 2.0 也准备进行 REST 升级,在现有的 GET 和 POST 之外增加 PUT 和 DELETE 作为浏览器操作。只要浏览器厂商实现并且 Web 开发者社区掌握了这些技术,这些方法将改进 Web 安全性。但是这需要时间,全面的影响直到 2008 年年初才能看到。

 

表单

我看不到 WHAT 工作组的 Web Forms 2.0 有多少前途。它是一些华而不实的工具,但是没有改变任何东西。只是一种普通的、表面的改进,而非革命性的变化。一些 Web 开发人员可能会采用它,但是多数不会,就像 Microsoft 那样。通过 JavaScript 可以为 Windows® Internet Explorer® 提供很多功能,这些功能和目前用 JavaScript 实现的功能相同。只不过更加标准化罢了。Web Forms 2.0 没有为表格带来任何新东西,它并不能在根本上改变人们思考和设计表单的方式。

相反,XForms 正准备起航。该规范数年前就已经完成,其实现也终于迎头赶上。尽管浏览器支持有限,但是在内部网中采用越来越广。为何 XForms 取得了成功而 Web Forms 2 却失败了呢?因为 XForms 更加先进。和 Web Forms 不同的是,它改变了房子的架构而不仅仅是涂料的颜色。开发支持 XForms 应用程序不同于开发传统的基于 HTML 表单的应用程序。最根本的在于 HTML 表单总是敷衍了事:讲求快速而不讲究地解决简单问题。它们从来没有打算承担开发人员加到其上的负荷,多年来已经摇摇欲坠。它并不能作为替代桌面应用程序以及引入 Web 2.0 的坚实基础。众多 Web 2.0 应用程序使用 JavaScript 而非 HTML 有一个重要原因:使用 HTML 表单不能满足需要。

XForms 又回到了绘图板,重新定义了体系结构。形成了互相独立的模型、视图和控制器。使用 XForms,Web 应用程序开始看起来像是专业人员设计的干净程序,而不是在大学低年级学过一学期 Basic 的平面设计师平凑而成的东西。

当然,最主要的优点来自编写更复杂应用程序的人们。并非每个人都需要 XForms 的全部功能。简单的联系人表单、邮件列表订阅、在线投票、一键购物等使用传统 HTML 表单就足够了。但是,多页校验、blog 管理、防火墙管理这类更复杂的表单将从 XForms 获益匪浅。如今越多的使用客户端 JavaScript 和服务器端 PHP 管理表单,将来从 XForms 获得的好处越多。声明式标记将取代很多脆弱的过程性代码。

 

XProc

万维网联盟(W3C)推出了很多关于 XML 的标准和技术:名称空间、Infoset、XInclude、XSLT 模式和规范化 XML 等等。但是他们惟独没有规定如何将这些结合起来。具体来说,没有规定在 XInclude 解析之前还是在其之后进行模式验证这样的细节。

这并非疏忽大意。比方说,W3C 希望允许 XInclude 解析在模式验证之前或之后进行。有时候需要在前面,有时候需要在后边。那么问题就变成了如何组织不同的处理链。于是出现了 XProc。

XProc 是一种 XML 格式,说明了需要按什么顺序以及如何处理 XML 文档。XProc 定义了一个操作管道。管道中每一步的输入是单个或多个 XML 文档,中间步骤的输出也是 XML 文档。(最后一步有时候生成非 XML。)每一步可以是验证、XInclusion、转换或者使用 Simple API for XML (SAX) 的自定义处理等。XProc 处理程序可以读取 XProc 文档然后按照指定的顺序应用给定的步骤。这样使得文档处理应用程序的编写更为简单。比方说,复杂的 XSLT 转换有时候可以分解成两个比较简单的、按顺序进行的部分。XProc 可以把这些部分联系起来,不需要为应用程序编写自定义驱动程序。

很久以来开发人员一直在寻求这种功能。在 2007 年这将变为现实。

 

语义 Web

2007 年是语义 Web 的关键一年。规范已制订,工具已就位,但出色的应用程序依然踪迹全无。语义 Web 的要害可能在于多数作者对为其网页生成与元数据相去甚远的内容毫无兴趣。搜索引擎已经学会了忽略任何用户创建的元数据,因为诚实的发布者对此不感兴趣而不诚实的垃圾信息制造者又滥用它。网页浏览者甚至不关心 HTML 中已经具备的少量语义,感兴趣的只是网页看起来效果怎样。

如果不能依靠发布者提供元数据,那么从哪儿获得呢?从数据本身获得吗?Gleaning Resource Descriptions from Dialects of Languages (GRDDL) 是一种摆脱发表者生成自己元数据这种思想的第一种语义 Web 技术。GRDDL 依靠第三方提供的样式表从网页中去掉元数据。这些样式表的输出是资源描述框架(RDF)三元组,可以用功能丰富的 RDF 工具集处理。如果需要可以对不同站点应用不同的样式表。实际上,不同的消费者可以使用能提供他们认为最有价值信息的不同样式表。

这是一个巧妙的计划,似乎也能工作(对大多数语义 Web 来说)。但这是最后的机会了。如果 GRDDL 也不能拯救语义 Web,就没有什么指望了。

 

OpenDocument

2006 年伊始,OpenDocument 就给了 Microsoft 重重的一击。2007 年 Microsoft 和它的 Office Open XML 格式将继续失去市场。Office Open XML 不是一种合理的文件格式:堆积了十多年的遗尘,无法实现也无法测试。只是一纸标准。聪明、胜任的政府将认识到这一点,并采用 OpenDocument 作为其标准,可能还包括 PDF 或 HTML。

很多企业和其他组织仍将选择 Microsoft Office,因为他们曾经在这方面进行过投资,或者仅仅因为他们认为这就是商业上的买卖。对于这些用户来说,Office Open XML 是真正的福音。也许不是最佳选择,但是比他们现有的更好。但是,很多一点都不了解自己使用的字处理程序更不用说数据存储格式的秘书、销售人员和 CEO,将会通过技术人员顺利升级到 OpenOffice。

Microsoft 无心地促成了这种迁移。Office 和 Windows 新版本中的软件审计、数字约束管理以及复杂的激活方案将使很多企业几十年来第一次摆脱 Microsoft 平台。在 2007 年,这些企业中很多仍将使用版本较老的 Microsoft 产品,但是最终他们将转向 OpenOffice 及其 XML 格式。

但更重要的是,我预料其他任何办公程序不会采用 Office Open XML。其应用将局限于 Microsoft Office 这个范围内,实现为厂商简化小型插件、办公工具和附加件的开发。但是,需要为其字处理程序、电子表格、演示文档等提供原生格式的独立产品将选择 OpenDocument。(一个例外:绘图程序将选择可缩放向量图形[SVG]。)

 

客户机上的 XML

2007 将成为几乎所有主流浏览器完全支持 XSLT 1.0 的第一年。最终将能够直接在 Web 上发布真正的 XML,而不用事先呈现为 HTML。尽管还不会成为常见的应用,但我预料至少有一家大型站点(以及很多小网站)将这样做。我还预料没有人会注意到这种变化,因为它能够照常工作。

更长的一段时间后(可能在 2007 年之后),我估计能够解决关于 HTML 5 和 XHTML 2 的很多争议。站点可以用任何形式的 XML 词汇表发表内容,同时提供将其转化成 HTML 以便在浏览器中显示的样式表。改变文档格式不再需要 W3C 工作组花费一年的时间进行处理,也不会降低浏览器的应用。

 

打上叉号吧,结束了

WS-* (读作 WS——splat)已经达到顶点。脱轨的火车不会马上停下,在 2007 年人们仍然会谈到 Web 服务。但是没有人会听。企业已经吸收了足够多的 Web 服务工具。Web Services Description Language (WSDL) 和 SOAP 1.2 是这条路的头。很多企业甚至还没有走到这一步。WS-Choreography、WS-Transport、WS-Reliability、WS-Security、WS-Resource、WS-ServiceGroup、WS-BaseFaults、WS-Messaging、WS-KitchenSink 和 WS-AreYouEvenStillReadingThis 只能到此为止了。任何组织能够管理的复杂性都有一定的限制,WS-* 早已超过了这个极限。

还是看看 Plain Old XML (POX) 的出现吧。人们将开始(很多情况下是继续)通过 HTTP 发送 XML 文档。身份验证、缓存和可靠的交付将使用 HTTP 内置的功能来完成。应用程序将通过 XSLT、XProc、传送带和 spackle 联系起来。开发人员将放弃不通过手动配置而装配服务和系统的想法(大多数人没有实现的一个梦想)。如果任何一位体系结构的航空者能够回到现实中来解释他们到底在干什么,面向服务的体系结构(SOA)也许还能发挥作用。

 

浏览器之争仍将继续

Mozilla 项目将推出 Firefox 3。Firefox 最终将通过 CSS2 兼容性的 Acid2 测试,Internet Explorer 成为最后一个无法通过测试的主要浏览器。但是 Firefox 还不会增加对 XForms 的原生支持。可能要等到下一年。

Apple 将随着 Leopard 发布 Safari 3。虽然主要关注 Apple 专有扩展,但 Safari 3 将第一次增加对可缩放向量图型(SVG)的支持。

Internet Explorer 7 将使 Web 开发人员的工作更加轻松,但不会很多。Internet Explorer 8 到时候估计也没有太大变化。Internet Explorer 丢掉的市场将被 Firefox 和 Safari 分割。市场占有率到年底将下降到不足 70%,至少一个(可能多个)欧洲国家下降到不足 50%。

2007 年,XHTML2、HTML 5、Web Forms 2.0 和 CSS3 不会完成。虽然市场占有率小的浏览器会实现 HTML 5 和 Web Forms 2.0 的一部分,但 Web 应用程序的多数创新仍将来自 Ajax 和服务器端框架。

 

XML 回退和逆潮

2007 年,非 XML 格式在受约束的环境中将继续赢得开发人员的青睐(只有一些小问题)。特别是 Web 程序员仍将醉心于 JavaScript Serialized Object Notation (JSON)。但是,转向更复杂问题的早期采用者开始认识到他们是在重新发明 XML 的大部分。我还预料将出现至少一次由于向 eval() 函数传递 JSON 数据而造成的重大安全问题。

W3C 将发布 XML infoset 的二进制编码草案。但是,许诺的性能、速度、电池寿命等好处不会超出人为的基准测试。真正不能忍受 XML 的厂商同样也受不了二进制 XML,最终他们将设计自己的格式。其他所有人最后也只能放弃二进制 XML 的空想而尝试钟爱于文本(但不是在 2007 年底)。

 

结束语

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

XForms 按照更慢的线性增长曲线成长。但无疑它已受到世界的关注。浏览器也是如此,它已经变成了成熟、可靠的技术。2007 年将新增数十亿美元的 Web 交易,大部分使用了 XML。但它们是靠内容和 Web 应用程序的想法推动的,而不是靠底层的技术

毫无疑问,2007 年将继续转向开放的、可访问的数据格式。客户文档存储到文件系统还是 XML 数据库中是其次的问题。关键是使用了 XML 格式,文档所有者可以使用喜欢的工具对其进行处理和管理。软件厂商看都不看一眼客户而将其数据锁起来的日子一去不复返了。

XML 不再像过去那样是一种迷人的新技术。已经逐渐成为基础设施中单调的一部分。但起着越来越重要的作用。必须回答的问题不再是 “为什么用 XML” 而是 “为什么不用 XML”,XML 已成为默认的数据格式。虽然不一定正确,但正确的概率要大一些,在 2007 年更将如此。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值