在本专栏中,Uche Ogbuji 完成了他对 XML和语义的介绍,并为随后的更多实践性专栏做准备。 XML编程思想讨论了 XML知识管理方面的方面,包括元数据、语义、“资源描述结构(RDF)”、“主题映射”和自主主体。本专栏从实践的角度探讨了主题,因此针对的是程序员而非理论家。
在 第一篇 XML 编程思想专栏文章 中,我介绍了语义透明性的思想及其对 XML 相关开发的重要性。因为语义透明性非常重要,最近在这一领域中有一系列活动 -- 我无法在一个部分中涉及到它们全部。在这一部分中,我将介绍 XML和语义中的一些新出现的参与者。但首先,我要介绍在第一部分中忽略的保守派所玩的有趣的游戏。
EDI 标准的 XML 标记
“实现指南标记 (IgML)”工作组是电子数据交换 (EDI) 供应商小组对以 XML 格式表示 EDI 实现的指导方针和标准的一个成果。他们为这种实现开发 DTD(文档类型描述),目的是为使互操作性达到最大化而以向标准化文本提供高度结构并将实现路径指向 EDI。
可以从 IgML 网站(请参阅 参考资料)下载当前的 DTD 当前草案,以及 ANSI X12 和 UN/EDIFACT(EDI 的两个主要“方言”)各种子集的样本。虽然 IgML 本身不提供语义透明性的框架,但对于那些使用 EDI,或者只是利用 EDI 标准提供的语义基础结构的实现 XML 商家到商家系统,它提供了一种有用的工具。
UN + OASIS = ebXML
SGML 和 XML 中的一个倡导者曾是“结构化信息标准促进组织 (OASIS)”。您可能认识作为 Robin Cover 的卓越 XML 新闻和注释纲要主办人的这个组织,最近,它又成为对 XML 技术公开研究的各种技术委员会的主办人。1999 年,OASIS 与联合国贸易促进和电子商务中心 (UN/CEFACT) -- EDI 开发中的一个重要组织 -- 进行合作,产生了电子商务 XML (ebXML) 倡议。
ebXML 的目的是开发利用 XML 来推动各种组织之间贸易的基础结构和实践,而不论这些组织的规模如何、选择的是何种工具,或者地理位置如何。这一努力是根据主动的时间表实施的,可能考虑到了 EDI 开发所用的时间。去年年底开始形成了它的第一个产物,包括整个体系结构文档。
ebXML 与 XML 交换的语义透明性最为相关的那部分是“注册表服务”,这在“注册表信息模型和注册表服务”规范草案中进行了描述,它用于处理面向对象实体的管理和交换。这些注册表针对的层次级别比我在第一专栏中介绍的“国际标准化组织基本语义注册表 (ISO BSR) 级别更高。它们为使用“统一建模语言 (UML)”的商业信息提供了对象模型,并添加了与“对象管理小组 (OMG 的)”元对象规范并无分别的元数据和设计特性。
它们还为由元数据执行的对象查询定义了 XML 词汇表,最有意义的是,为符合对象模型的实例定义了 XML 表示。遵循这些表示的文档可以作为伙伴之间的交易事务进行交换。最近采纳了“简单对象访问协议 (SOAP)”,作为这样的事务的传送协议。
ebXML 技术体系结构规定了 ebXML 系统开发的三个阶段: 实现阶段、 发现和检索阶段,以及 运行时阶段。在发现和检索阶段中,规范规定:“这个阶段是某些交易伙伴发现由其它交易伙伴请求的商业信息含义的阶段。”规范的意图是,这个“含义”由在 ebXML 注册表中设置的元数据模型提供。
有关抱怨的说明
对 ebXML 为阐明商业事务而明确规定含义的成果的一个抱怨是它重蹈覆辙的现象非常严重;这是出于策略原因还是技术原因尚不清楚。在早期专门为 ebXML 开发消息传递传送协议意图背后玩弄政治花招失败了许多次以后,ebXML.org 最近决定将 SOAP 纳入 ebXML。不过,ebXML 似乎仍然忽视了许多已经可以使用 RDF、XMI 和其它基于 XML 元数据规范的设施。而且也没有什么证据表明 ebXML 利用了 ISO BSR 的工作。
另一个抱怨是注册表方法非常不幸地演变成第二代倡议中一个公共的、不正确的趋势:将面向对象系统中的概念成批地导入到常规 XML 中。 这种趋向可能会严重损害到 XML 的扩展和表现,特别是在半结构化数据很重要的情况下。这种失常最危险的表现可能是 W3C XML Schema 规范的数据分类和继承特性。例如 ebXML 和 W3C Schema 这样的倡议尽量集中在核心 XML 需要上,而将面向对象体系结构留给 OMG 和类似的团体。
eCo 战士:挽救真正的庞然大物
CommerceNet 组织正在致力于协调产业、政府和学院等各方面所做的努力,以推动为通过例如 eCo Framework(一个开发用于语义交换的开放注册表项目)这样的活动而进行的电子交易所涉及的实践和技术。它所追求的目标是希望这样的注册表在电子交易中允许更高程度的自动化,最终导致获取过程完全由自主主体驱动。
eCo 注册表提供对规范数据模型、以及由各种 XML 商业事务规范提供的元素类型和属性定义的访问。eCo 工作组以被一些主要组织利用,开发诸如 Open Buying on the Internet (OBI)、RosettaNet 和 XML/EDI 这样的 XML 格式规范而感到自豪。上述成果中的一些已经与 ebXML 建立了关系,并且有可能在 eCo 和 ebXML 工作之间发展出牢固的关系。
不幸的是,到目前为止,跃跃欲试的开发者可以使用的唯一资源是 eCo 站点上提供的少数几个有些单薄的演示。
使用 RosettaNet 解释供应链残余
XML 可能正是 TLA(这是三字母首字母缩略词 (three-letter acronyms))和商业联合会最重要的发生器。作为联合会之一的 RosettaNet 打算定义标准化供应链管理过程。
RosettaNet 计划交付一个“主要字典”,其中定义了在供应链交互中使用的术语,以及为这样的交互而形成的框架所包括的商业过程和交换协议。很自然的,从知识管理角度来说,字典是最吸引我的方面。但字典和协议的组合是 RosettaNet 称之为 Partner Interface Process(PIP) 的基础。每个 PIP 都是在商业伙伴之间使用 XML 消息调整特殊过程所用的一种规范。一个完整的支持 RosettaNet 的供应链可以由几十个甚至几百个 PIP 组成。
RosettaNet 可能是最忠于 XML 语义注册表生成和交换倡议的,并且已经创造出象 BEA WebLogic Collaborate 这样包括了实现的产品。2001 年 2 月,在 RosettaNet 的 EConcert 准备发布那一天,一些发言人聚在一起,生成 PIP 在各自行业中的使用相当成功。
它的成熟等于为开发者带来了福音。RosettaNet 站点已提供了三个字典:RosettaNet 商业字典、RosettaNet IT 技术字典和 RosettaNet EC 技术字典。它们以 HTML 表和 XML+DTD 的形式提供了几百个术语的定义、数据类型和表示限制(例如 "DigitalCertificateSignature")。这是一个不可多得的宝贵资料库,对于其完善更有价值,甚至远远超过上一专栏中提到的基于实验的 ISO BSR 列表。
知识的汇编语言
我们用 RDF 来结束这个月对语义的讨论;RDF 可能是语义引用和其它一些与管理 XML 文档中潜在知识相关的任务中最重要的工具。随着本专栏的进一步展开,您会了解到有关 RDF 的许多内容,因此我只在此提及 RDF 在有效管理与 XML 相关的元数据方面的能力,这使它成为为术语之间的关系以及术语之下抽象概念之间的关系建模的重要工具。实际上,RDF 曾因为其在为关系、定义和特性建模中所具有的灵活性而被称为“知识的汇编语言”。
我曾参与过几个语义透明性非常重要的项目的工作,包括一个客户机在其中使用 RDF 来实现同义词框架和基本转换以适应格式不限的顾客查询。 使用 RDF 能够如此轻松地建立这样的系统,并产生良好的性能总是给我留下非常深刻的印象。
因此,看到有那么多 XML 进程倡议重蹈 RDF 的覆辙让我非常失望。但象我已在有关“Web 服务描述语言 (WSDL)”的 developerWorks 文章中所提到过的,有太多的 XML 应用程序都没有注意到 RDF 的长处。希望随着 RDF 工具 -- 以及象 RDF Site Summary (RSS) 这样的成功经历 -- 的稳步增加,这种状况将有所转变。
今后的实践
我已经概述了语义框架作为 XML 上面一层的重要性,今后的专栏将转移到检验管理由这些高级框架所表示的知识的实用方法。下一篇文章将讨论使用 RDF 为 XML 数据资源库开发价钱便宜的搜索和引用系统。