UBL:企业中 FOSS 的又一次机会
电子商务仍然缺乏一种通用的、廉价且易于实施的标准语言。至少在几个月前是这样。今天,通用商业语言 (UBL) 已准备好填补这一空白,它看起来是一个可靠的方案,而不仅仅又是一堆流行语。UBL 来自 OASIS),与那些将办公文件的 OpenDocument 格式 标准化的人是同一批人,并且 UBL 也同样开放。OASIS UBL 技术委员会的参与对所有组织和个人开放。OASIS 托管一个开放的邮件列表以征求公众意见,以及 ubl-dev 邮件列表,用于交流关于实施标准的信息。UBL 以免版税方式提供,并且对所有人开放,无需许可或其他费用。
UBL 从三个基本前提开始。首先,XML 是一项很棒的技术,但就其本身而言,它不能保证标准的实现。其次,没有公司是孤立运作的,也没有公司只在其行业领域内有联系。因此,如果每家公司都有自己的基于 XML 的系统,那么没有人会取得任何成就。良好的业务需要高效的跨行业沟通。第三,忘记重新发明轮子或用一些模糊的、未经测试的想法来替代它。UBL 完全是为了以更快、更不易出错的方式做我们今天正在做的事情。
UBL 背后的基本目标是简单地为所有常见的商业文档(发票、采购订单等)定义一种基于 XML 的单一格式。使用这种格式,一位美国买家可以用英语创建并通过电子邮件发送一份订单,例如,一百张地毯。收到订单的泰国员工可以在她的收件箱中使用任何启用 UBL 的应用程序打开该文件,并以她的母语阅读它;该文档已经按照当地政策和商业法规进行了格式化。除此之外,她只需将订单拖放到公司库存系统中,无需键入任何内容,无需浪费时间,也无需冒出错的风险。
UBL 还可以用作各种 Web 服务中的业务数据格式。尽管解决此问题的方案已经存在多年,但在 UBL 出现之前,此类解决方案仅对每年需要处理数百万笔交易的大型公司具有成本效益。
为了更多地了解 UBL 标准以及 FOSS 程序员如何在办公应用程序(从 OpenOffice.org 开始)中添加对其的支持,我们采访了 UBL 技术委员会主席 Jon Bosak 和 StarOffice/OpenOffice.org 框架和 XML 项目的软件工程师 Lars Oppermann。
Linux Journal: 让我们首先看看如何在一些软件应用程序中添加 UBL 支持。开发人员应该阅读哪些规范?API 和库是否已经可用?如果可用,它们在哪个许可下?至少在今天,它们是否会仅限于少数几种软件语言?
Jon Bosak: 目前为用户和开发人员提供的所有内容都包含在 UBL 1.0 规范 中。由于 UBL 1.0 最近才作为标准发布,因此尚无适用于它的 API 或软件库。但是,我希望看到这些 API 和软件库很快就会出现,因为软件开发人员开始意识到 UBL 带来的巨大商机。我经常将 UBL 比作 HTML。两者都是特定的 XML 标记语言,旨在实现特定领域的互操作性,HTML 用于超文本发布,而 UBL 用于企业对企业电子商务。UBL 在采用曲线上的位置与 1992 年的 HTML 大致相同。因此,目前还没有太多支持,但是我们可以预期,随着人们开始理解业务数据交换的标准方法的优势,这种情况将很快改变。
LJ: 如何将 UBL 文档集成到当前的办公环境中?是否已经可以在生产环境中使用 OpenOffice.org、Microsoft Office 或任何其他应用程序(从企业级产品到 SOHO 产品)中使用此标准?
JB: 这里的关键是创建插件,这些插件将使办公软件包能够将其内部数据格式转换为标准的 UBL 形式以进行输出,并执行反向转换以进行输入。早期的原型已经证明了这种方法的可行性。现在,这取决于这些办公系统的生产者来提供必要的翻译功能。
LJ: 让我们希望自由软件产品将成为首批提供 UBL 支持的产品之一。这可能正是使更多企业转向 FOSS 以降低成本所需要的。
UBL 仅用于企业对企业的使用,还是也适用于/需要私人公民使用?
JB: UBL 为基本的业务消息定义了标准格式,例如采购订单、发货通知和发票。它不适用于非商业用途。但是,UBL 标准的某些部分,例如 XML 模式的 UBL 命名和设计规则以及代码列表的 UBL 规范,正在被其他 XML 标准化计划采用。因此,未来的私人公民可用的 XML 标准很可能部分基于 UBL 工作的这些方面。
LJ: 让我们与 Lars 讨论问题的技术细节。UBL 1.x 文档是否已经可以使用 OpenOffice.org 读取或写入?
Lars Oppermann: OpenOffice.org 旨在通过其通用的 XML 集成工作来支持 UBL。该软件可以通过其 XSLT 导入和导出过滤器读取或写入任何基于 XML 的格式,包括 UBL 实例。我们已经致力于 XSLT 转换的 UBL 导入,并在 OASIS UBL 委员会内部将其用于演示目的。将来,将通过 OpenOffice.org 的 XForms 支持提供完整的 UBL 实例编辑和创建功能。这种方法已经显示出令人鼓舞的结果,并且已经在 XML2004 上进行了演示。
LJ: 谁在从事这项工作?
LO: OASIS 的 UBL 技术委员会成立了一个人机界面子委员会 (HISC),该委员会正在研究编辑 UBL 的方法。该委员会还研究了 XForms 和 OpenOffice.org XForms。
JB: 最近,HISC 在定义 UBL 文档的输入规范方面取得了相当大的进展。这些规范不是 XForms,但可以使用 XForms 应用。XForms 专家 Micah Dubinko 在过去几个月中在该规范上做了大量工作。要了解正在发生的事情,请查看 这个 wiki。
LJ: 启动一个与 UBL/OO.o 相关的项目的最佳方法是什么?
LO: 与 OASIS UBL 的人员或 xml.openoffice.org 社区联系将是最佳行动方案。由于 UBL 技术委员会本身对特定实现不太感兴趣,而对通用方法更感兴趣,因此 OpenOffice.org 可能是最好的地方。
LJ: 那么跨语言支持呢?想象一下一家英国公司向一家法国公司发送采购订单。UBL 的承诺是,它应该使法国用户的软件能够解析 UBL 并在屏幕上显示同一文档的法语版本。OO.o 需要为此做些什么?更多的编码——多少、在哪个级别以及为什么?——还是仅仅需要正确的库、模板等等?
LO: 每个人都需要一个本地化的 XForms 文档版本,该版本显示实际实例。实例中的数据通常不依赖于区域设置。如果实例中包含本地化数据,则 XForms 可以提供过滤掉正确值的方法。
JB: UBL 1.0 国际数据字典 (IDD) 为创建本地化 UBL 软件的开发人员提供了重要的资源。中文、日文、韩文和西班牙文的 IDD 草案正在作为 OASIS 委员会草案进行投票,预计将在 [四月份的某个时候] 可供公众审阅。IDD 的初步版本(抱歉,Excel)已在 此处 提供。在该文档中,标记为“业务术语”的列专门用于填充表单中的本地化下拉菜单和字段标签。与所有 UBL 1.0 电子表格一样,IDD 将在委员会草案发布时以 OpenOffice.org 和 Excel 格式提供。
LJ: 还有其他一般性意见或给开发人员的建议吗?
LO: 在 OpenOffice.org 中不需要实际编码来支持 UBL。您只需要创建可在 UBL 文档之上工作的 XForms 文档。另外,请查看 W3C XForms 页面和 OpenOffice.org XForms 规范。有关 OpenOffice 的通用 XML 信息可在 此处 获取。
LJ: 感谢 Jon 和 Lars 抽出时间。