XML 作为基本数据格式无疑是成功的。但是 XML 1.0 提出的许多承诺 ? 从统一各企业间的通信方式到使 Web 更智能化 ? 都没有兑现。将 XML 用于共享的语义并因此用于共享的知识,是本专栏的主题。本文中,Ogbuji 先生介绍了迄今为止,开放应用程序组(Open Applications Group)和美国国防部(DoD)沿着这一方向,在最近发展环境中所取得的进步。
最近,XML 庆祝了四周岁生日。在这四年中,它可能比任何其它在一个时髦术语的保护伞下的技术群都更成功。现在,在各种类型的软件系统中部署 XML 交换工具都是司空见惯的。现在,从数据库管理系统到编程语言,大多数开发工具都带有 XML 处理工具。
当引入 XML 1.0 时,它不仅被宣传成黑客工具箱中又一个有价值的工具,而且还被描绘成一个鼓励人们更自由地共享信息的系统。XML 承诺:标准化作为组织间电子贸易基础的格式,并建立带有更灵巧的搜索引擎和支持下一代分布式应用程序的更智能化的 Web 基础。
这些承诺的核心是一种能力,它将共享简单标记文档扩展成共享文档中一些标记 背后的概念。这是共享语义的思想,并且也是本专栏讨论的重点。我已经讨论过建立 XML 格式的字典和映射表的组织工作,以便可以由全面和正式的文档(例如,RosettaNet 和 ebXML)共享语义。我也讨论过用 RDF 在程序中表达语义的实际技术。正如我小心演示的那样,该技术的基础就是用来做这类工作的,但问题是能否建立更软的基础。
对于 更软的基础,我的意思是协定。如果没有足够多(多于某个临界数量)的人数依靠世界上所有的工会、注册中心、资料库、模式语言和词汇表来制定和正式化其协定,则这些工会、注册中心等等就都毫无价值。构成采购订单的定义有数百种,但人们是否有充分的愿望通过使用与 XML 相关的技术提供的工具使一种采购订单格式与另一种匹配呢?
在本专栏文章的其余部分,我将就语义透明性方面的最新发展作常规调查。人们在这些方向上仍在进行大量活动的事实显示,还是有机会兑现 XML 的重要承诺的。
OAG 在前进
开放应用程序组(OAG)是又一个尝试将 XML 格式标准化以用于组织间交换的开拓小组。他们的核心工作产品是开放应用程序组互操作标准(Open Applications Group Interoperability Standard (OAGIS)),最近公布了其新发行版版本 8.0。OAGIS 包含一组用 XML 格式化的公共业务交易的消息集。称为业务对象文档(BOD)。构成公共业务交互的消息序列称为方案(scenario)。OAG 鼓励用户使用电子应用程序集成(EAI)特性、基本或安全的 HTTP 或 SMTP,或者 SOAP,甚至是在 ebXML 框架中,直接交换方案中的每个 BOD。
OAGIS 版本 8.0 提供了与版本 7.2.1 相同的 BOD 集合。添加了对更具描述性的标记名称的支持,但大多数更改是添加了技术特性规范。尤其是,BOD 现在具有 W3C XML 模式定义语言(XSDL)定义;还有用 XPath 定义的映射,用于根据消息内容集成应用程序执行。版本 8.0 中的所有 BOD 文档都是以强交叉引用的 HTML 提供的。
OAG 似乎还很认真地采用了与其它组的可互操作的思想。7.2.1 发行版已经提供了对 ebXML、RosettaNet 实现框架(RNIF)和 Microsoft 的 BizTalk 的支持。随着核心 XML 技术映射的添加,现在,在各种通用 XML 工具中支持 OAGIS 的道路越发清晰了。
OAGIS 8.0 可免费下载。您会得到一个大的 zip 文件,在解压缩之后,可以通过在 Web 浏览器中查看所包含的 index.html 来开始。压缩文档还包含 XML 概要(schemata)(仅 XSDL 格式 ? 没有 DTD)和示例 BOD。这个概要很大,并且展开成错综复杂互连文件。OAG 推荐使用 XML IDE,也许是基于这样的设想:这样的工具有助于理解散乱的模式文档。为方便起见,Xerces 解析器、Saxon XSLT 引擎和 XSV XSDL 验证器被捆绑在一起。
在该 zip 文件中,还有所有 200 多个 BOD 的示例。这些示例不大象它们应有的那样有用,因为它们有许多占位符,如文本“String”大意相当于说“把某个字符串放在这儿”。也许这适合于模板,但在示例中,这不是很有用。看起来这些样本不大可能仅仅意味着模板,因为 OAG 推荐使用 XML 工具,而任何工具都能方便地从模式生成模板。但是,作为示例它们应该以友好的方式帮助用户理解文档的结构和意图。因此,不完整的示例有点让人沮丧,但考虑到 BOD 可能很大,因此可能认为将完整的示例放入免费可用的软件包中要投入太多的工作而不能实现。
DISA 在研究模式
美国政府通过各种国防机构负责建立许多公共技术 ? 从全球定位系统(GPS)到因特网本身。当开发技术需要复杂的部署,而私有公司因为存在无意中使竞争对手以及并未作出贡献的后来者受益的风险和可能性,从而回避,不愿投资时,这一点就尤其真实。美国国防部(DoD)最近的倡议是对 XML 语义透明性很有希望的一个信号。
DoD 指定国防信息系统局(Defense Information Systems Agency (DISA))建立一个 XML 组件资源库,主要由国防机构内部使用,但显然有可能扩展到更大范围(请参阅 参考资料)。请不要把这个 DISA(http://www.disa.mil)与我在本专栏中第一部分提到的数据交换标准协会(Data Interchange Standards Association)(http://www.disa.org)混淆。此外,民间的 DISA 管理着 X12 EDI 标准的公认标准委员会(Accredited Standards Committee (ASC))。
该工作幕后有双重推动力:各种政府机构越来越多地使用 XML,并期望通过标准化或至少通过注册各种格式、最佳实践和与供应商和业界团体的关系来扩大使用 XML 的好处。(在 DISA 备忘录中,这种多样的混合通常称为组件。)DISA 已经管理着 DoD XML Registry v2.1,根据其主页上的定义:“允许一致的 XML 用法,包括项目内的垂直使用和跨组织的水平使用”。特别地,注册中心定义了来自多种词汇表的、有组织的 XML 信息项,例如,通过名称空间(在本例中,从组织角度而不是如 XML 名称空间 1.0 中那样从技术角度讲)组织。每个名称空间都有管理器,并且都与其它名称空间中的相关项交叉引用。
例如,您可以转到这个在 Personnel 名称空间下的注册中心,查找定义婚姻状态的信息项( Con_MaritalStatus (1.0))。您甚至可以下载表示婚姻状态枚举中的正式值的 XML 文档(请参阅 清单 1)。
清单 1:DoD XML 注册中心中表示婚姻状态信息代码域值的文档
<![CDATA[<?xml version="1.0"?><!DOCTYPE DomainValueSet SYSTEM
"http://diides.ncr.disa.mil/xmlreg/DTD/registry_domain_values.dtd"><DomainValueSet>
<EffectiveDate>10/15/2001</EffectiveDate>
<SecurityClassification>Unclassified</SecurityClassification>
<Definition>
The code that represents the Marital Status of a Person
</Definition>
<Namespace>PER</Namespace>
<InformationResourceName>Con_MaritalStatus</InformationResourceName>
<InformationResourceVersion>1.0</InformationResourceVersion>
<DomainValues>
<DomainValue>
<KeyValue>D</KeyValue>
<Description>Divorced</Description>
</DomainValue>
<DomainValue>
<KeyValue>I</KeyValue>
<Description>Interlocutory</Description>
</DomainValue>
<DomainValue>
<KeyValue>L</KeyValue>
<Description>Legally Separated</Description>
</DomainValue>
<DomainValue>
<KeyValue>A</KeyValue>
<Description>Marriage Annulled</Description>
</DomainValue>
<DomainValue>
<KeyValue>M</KeyValue>
<Description>Married</Description>
</DomainValue>
<DomainValue>
<KeyValue>N</KeyValue>
<Description>Never Married</Description>
</DomainValue>
<DomainValue>
<KeyValue>W</KeyValue>
<Description>Widowed</Description>
</DomainValue>
</DomainValues></DomainValueSet>]]>
现在 DISA 获得特许在这个系统上进行更多扩展,对于互操作性和收集网络优点,它已经是功能强大的工具了。有人希望这仍是另一个政府项目,该项目对于纳税人的钱来说是个好投资。可以在 XML.gov 网站找到关于 DISA 注册中心的更多信息以及关于在政府中使用 XML 技术的其它参考资料。(请参阅 参考资料)。
结束语
XML 已经非常成功了,但人们感觉到,对于将 XML 用作基石的信息系统而言,要在效率方面取得质的飞跃,还有大量关键性的工作要做。基于 XML 的共享语义方面的持续努力(如 OAG 组的长期努力)是使这个飞跃发生的基本部分。迈向成功的激动人心的突破可能会需要资金雄厚的投资方的坚决努力,投资方从互操作性上获得的收益比它所冒的风险更大。美国政府可能刚好就是那个投资方,DISA 的工作显示了将 XML 带到下一级别的潜力。
在本系列的下一篇专栏文章中,我将回到问题跟踪器的主题。既然许多基本部分已经就位 ? XML 源代码、RDF 模式和查询 ? 您可以开始在中间件设置中制作应用程序、说明 RDF 可以如何增强应用程序中已有的 XML 价值。