XML 编程思想:Thinking XML: 通用商业语言(UBL)

2016-02-19 16:51 10 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是XML 编程思想:Thinking XML: 通用商业语言(UBL),一起来学习了解下吧!

【 tulaoshi.com - Web开发 】

  用于商业的 XML 格式很混乱,而通用商业语言(Universal Business Language,UBL)就志在统一这个混乱的领域。最近,UBL 背后的小组首次发布了该产品,供公开评审。本文中,Uche Ogbuji 首次对 UBL 作了深入探讨。

  正如我在 上一篇专栏文章中提到的那样,通用商业语言(UBL)OASIS 技术委员会在 2001 年 10 月 17 日宣告成立。UBL 是用于商业交易的文档库,它是从中小型组织以及大型组织的角度来设计的。UBL 背后的委员会(UBL TC)对他们的雄心作了极佳的概括:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)UBL TC 的目的是,通过修改现有 XML 模式库来开发 XML 商业文档(采购订单和发票等等)的标准库,以合并其它现有 XML 商业库的最佳特性。随后 TC 将设计一种机制,该机制通过将转换规则应用于常见的 UBL 源库,来生成特定于上下文的商业模式。UBL 旨在成为每个人都不必获得特许或支付其它费用就可自由使用的电子交易国际标准。

  UBL TC 最近生产了首个主要产品:UBL Library Content 0p70,以供公开评审。您可以从其主页下载评审包(请参阅 参考资料)。我鼓励任何对此感兴趣的人仔细研究 UBL,并向 UBL TC 发送任何意见。使用这一产品无须支付版税,而且为了避免与此有关的知识产权障碍已经做了所有努力。能够自由使用这么重要的产品可以产生相当大的公共利益,而且通过改进这一产品,我们都可以获得许多收益。这个发行版中的材料并不是最终形式:其最终形式可望大约在今年年中完成,甚至到那时,完成的也只是最终 UBL 材料的一部分,因此有充足的时间来对它提出意见并对其内容作补充。您可能想回顾本专栏近期的文章,以了解有关 UBL 和相似倡议的大致背景,以及驱动这些倡议的一些核心问题。

  UBL 概况

  对于 UBL,首先要注意的是它非常大而且内容涉及方方面面。最初的发行版是一个 5.6 MB 的 ZIP 文件,包含可能是最常见的商业表单(而且最可能作为 XML 文档提供):买方和卖方之间从订单到发票的整个贸易过程。特别是,它包含以下交易的规范:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)订单 简单及复杂订单回复 取消订单 发送通知(通常称为发货通知) 收据通知 发票

  一组基本的商业概念构成了上述规范。它们称为 基本商业信息实体(Basic Business Information Entity,BBIE),并用常见的 UBL 模式表示为核心组件类型(Core Component Type,CCT)。除了 BBIE 以外,其它规范定义了它们专门的 商业信息实体(Business Information Entity,BIE),它们形成了 UBL 概念模型,从而将商业概念组织到类及其相关组件中。UBL 概念性模型基于诸如统一建模语言(Unified Modeling Language,UML)和实体/关系(Entity/Relational)建模之类的其它建模系统。实际上,UBL 使用 UML 来提供概念性模型的高级视图。

  但是,管理所有实质性详细信息时都使用电子表格。是的。电子表格。它们是一流的用户友好的信息管理典范。UBL TC 发觉电子表格用途最为广泛且易管理,适用于维护概念详细信息。UML 类图从这些电子表格生成而来。电子表格是以 Microsoft Excel 格式提供的,但是我使用 OpenOffice.org打开它们时也没有出现问题。UML 图表是以简单 GIF 形式提供的。

  游戏规则

  这些概念性模型形成了用于相关商业文档的 XML 模式基础。派生这些模式的过程非常严格。UBL TC 成立了一个附属委员会,从事 UBL 命名和设计规则(UBL Naming and Design Rule,NDR)的工作,该附属委员会创建了一个综合文档(有 73 页),包含 UBL XML 组件中的命名和总体设计规则。这些规则的建立确保了包括在 UBL 中的范围很广的 XML 组件的一致性。UBL 命名规则示例:

XML 构造的名称必须使用大小写混合(camel-case)并且第一个字母为大写,以便名称中每个内部单词的第一个字母大写,其后跟着小写字母(示例:AmountContentType)

  XML 设计规则示例:

对于每个基于对象类的复杂类型定义,必须定义其内容模型,以便它将对象类的每个特性反映为一个元素声明,它在内容模型内的基数和定位由与语法无关的模型详细信息确定。

  以上文档片段中的数据类型特性指的是 W3C XML Schemas(WXS)数据类型,而且 WXS 确实被选为 UBL 的标准模式语言。作为辅助格式,这些文档类型(也称为 传送格式(transfer format))用一号抽象语法表示法(Abstract Syntax Notation number One,ASN.1)模式定义。自二十世纪八十年代中期产生以来,ASN.1 一直被使用至今,它是通信协议中用于指定数据格式的 ISO 标准。对 UBL 使用 ASN.1 模式让 UBL 可以使用一大批 ASN.1 工具,而且通过使用 ASN.1 的压缩编码规则(Packed Encoding Rule),该模式还允许有效地进行 UBL 编码,这是很有效的二进制编码,并且因此也非常紧凑。确实,在许多 XML 讨论中,每当论及 XML 的冗长并建议对 XML 进行二进制序列化时,对于这样的情况,贤人智士总是建议映射到 ASN.1。UBL TC 采纳了这个建议。

来源:http://www.tulaoshi.com/n/20160219/1613334.html

延伸阅读
标签: Web开发
Topic Map 提供了一种用于组织信息的系统,XML Topic Maps 使这种系统进入了 XML 的世界中。在本文中,Uche Ogbuji 讨论了 XML Topic Maps,并通过评论有关该主题的关键著作,把这种技术介绍给大家。 Semantic Web 技术用于概念的形式化描述与分类。这些技术试图降低由于概念不匹配而给信息系统互联带来的难度。您可以想像得出,在这样...
标签: Web开发
XML 作为基本数据格式无疑是成功的。但是 XML 1.0 提出的许多承诺 ― 从统一各企业间的通信方式到使 Web 更智能化 ― 都没有兑现。将 XML 用于共享的语义并因此用于共享的知识,是本专栏的主题。本文中,Ogbuji 先生介绍了迄今为止,开放应用程序组(Open Applications Group)和美国国防部(DoD)沿着这一方向,在最近发展环境中所取得的...
标签: Web开发
Uche Ogbuji 通过演示用来自现有 XML 格式的数据构成资源描述框架 (RDF)模型,开始了他的用 XML 进行的知识管理的实际探索。 如三个代码清单中所示,RDF 可用作定制 XML 的搭挡,而不仅仅用作某些数据类型的规范表示。包含代码样本的本专栏演示了如何用 RDF 方便地进行知识管理,甚至是在开发过程中相对比较晚的阶段。 虽然 W3C 将资...
标签: Web开发
XML 的使用越来越广泛,但是很多 XML 的结构并不好。即便结构良好,也常常设计得很糟,使得处理和维护非常困难。而大部分用于 XML 的基础结构使问题更加恶化。于是出现了关于 XML 最佳实践的公开讨论,比如 Henri Sivonen 的文章“HOWTO Avoid Being Called a Bozo When Producing XML”。Uche Ogbuji 经常在 IBM developerWorks 上讨论 XML 最...
标签: Web开发
Uche Ogbuji 就 XML 语义透明性和 XML 知识管理方面讨论了近来所发生的事情,这其中包括 ebXML 和 RosettaNet 中的一些新的开发。 Thinking XML 专栏的前两部分讲述了语义透明性 -- 可以共享那些不受约束的 XML 尖括号和引用标记中含义。由于本文的标题直接涉及到关于 XML 近来所发生的一些事情,所以在本文中(以后还会随时有其它的)...

经验教程

915

收藏

40
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部