Web服务和XML技术使组织可以建立紧密联系合作公司的信息科技,使开发人员不必再考虑提供商、程序语言或平台这些曾经阻碍公司间IT合作的问题。 不过,除了依靠许多隐藏在这些技术后面的知名标准――如简单对象访问协议 (Simple Object Access Protocol, SOAP)、 Schema方案、Web服务器描述语言 (Web Service Description Language,WSDL)、通用描述发现和集成规范 (Universal Description Discovery and Integration,UDDI)和 WS-*等,在两个机构之间建立高层次的业务细节合作……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
Web服务和XML技术使组织可以建立紧密联系合作公司的信息科技,使开发人员不必再考虑提供商、程序语言或平台这些曾经阻碍公司间IT合作的问题。
不过,除了依靠许多隐藏在这些技术后面的知名标准――如简单对象访问协议 (Simple Object Access Protocol, SOAP)、 Schema方案、Web服务器描述语言 (Web Service Description Language,WSDL)、通用描述发现和集成规范 (Universal Description Discovery and Integration,UDDI)和 WS-*等,在两个机构之间建立高层次的业务细节合作协议也非常关键。由于大家希望在XML的内容中了解这些问题,就产生了通用业务语言UBL(Universal Business Language)。UBL是由 OASIS (“架构化信息标准协进会”)带领开发,目的在促进电子文件格式 (例如订单或发票的格式)的标准化,从而增进企业之间的信息与数据的交流。
通用业务语言UBL的目的非常简单:通过修改现有 XML 模式库来开发 XML 商业文档(采购订单和发票等等)的标准库,以合并其它现有 XML 商业库的最佳特性。在一个典型的涉及Web 服务的情景中, XML的灵活性是描述商业文档的福星还是阻碍?XML可以创建终端开放的可能性,但是同样也带来无数的不良后果。
举个简单的例子,如一份实现Web 服务的订单或发票,如果完全听从设计人员的意思,那么在介绍一样的信息时,很可能每个设计人员都会拿出不同的XML结构。尽管限制在同一组织中这是可行的,但是一旦跨出公司,很快会带来经费超支的问题。使用通用业务语言UBL,它的许多商业概念可以在XML模型中任何行业适用,这样就找到了一种表示目录、发票、订单、报价单或运货单等电子商业文档的通用语言。
如果你曾经接触过软件行业或长时间使用XML,那么你会发现通用业务语言UBL的目的与其他IT语言的目的非常相似,如电子数据交换EDI (Electronic Data Interchange)、商业XML (Commerce XML,cXML)、电子商务标准Electronic Business using XML(ebXML)、XML 通用商业库(XML Common Business Library,xCBL)和RosettaNet。不过,简而言之,通用业务语言UBL不是空想而来,它对上述标准的补充。
目前的通用业务语言UBL 2.0版本是建立在xCBL的基础之上。它以xCBL3.0为起点,在相互协议所允许的范围内基于与使用其它XML商业库或类似技术(如:EDI)的信息交换的经验对xCBL3.0进行修改。UBL由OASIS 技术委员会支持开发,该组织支持开发了许多Web 服务标准,如ebXML。所以,保证了在整个Web 服务领域的关联度,防止出现技术鸿沟的现象。
通用业务语言UBL提供30多种商业合同――技术上称为XML Schemas――UBL标准库是以资讯组件概念模型为基础,如业务资讯实体(Business Information Entities,BIE)。然而,面向普通商业流程模型的规范不同,UBL关注的是实施业务资讯实体背后的商业合同。列表1.1举例说明了基于UBL的BIE订单部分:
列表1.1
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:Order-2"
version="2.0">
<xsd:element name="Order" type="OrderType">
<xsd:annotation>
<xsd:documentation>This element MUST be conveyed as the root element in any instance document based on this Schema
expression</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="OrderType">
<xsd:annotation>
<xsd:documentation>
<ccts:Component>
<ccts:ComponentType>ABIE</ccts:ComponentType>
<ccts:DictionaryEntryName>Order. Details</ccts:DictionaryEntryName>
<ccts:Definition>The document used to order goods and services.</ccts:Definition>
<ccts:ObjectClass>Order</ccts:ObjectClass>
<ccts:AlternativeBusinessTerms>Purchase Order</ccts:AlternativeBusinessTerms>
</ccts:Component>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="ext:UBLExtensions" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>A container for all extensions present in the document.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="cbc:UBLVersionID" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
<ccts:Component>
<ccts:ComponentType>BBIE</ccts:ComponentType>
<ccts:DictionaryEntryName>Order. UBL Version Identifier. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The earliest version of the UBL 2 schema for this document type that defines all of the elements
that might be encountered in the current instance.</ccts:Definition>
<ccts:Cardinality>0..1</ccts:Cardinality>
<ccts:ObjectClass>Order</ccts:ObjectClass>
<ccts:PropertyTerm>UBL Version Identifier</ccts:PropertyTerm>
<ccts:RepresentationTerm>Identifier</ccts:RepresentationTerm>
<ccts:DataType>Identifier. Type</ccts:DataType>
<ccts:Examples>2.0.5</ccts:Examples>
</ccts:Component>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!-- More elements here -->
</xsd:sequence>
</xsd:complexType>
之后,这些XML Schema可以在涉及到Web 服务的各种确认情景中使用,它们可以帮助确保在进行夸行业或夸国家操作时只有唯一的XML语法。可以这样说,由于通用业务语言UBL支持XSLT, XPath和ISO Schematron,所以UBL可以满足交易双方任何苛刻的需求,它支持创建子集和进行适于特定元素和子树的扩展。这些功能使一个标准UBL Schema扩展为一个简单进程。
尽管通用业务语言UBL是以满足紧迫的多国IT业务需求为目标,要提供透明的界面、合同技术细节,不过,使用Web 服务的中小型企业也应该采用UBL作为大型实体解决方案。事实上,通用业务语言UBL在促进小型企业开放业务流程的过程中是一种完美的催化剂。
所以,下一次当你要开始设计某个Web 服务时,当你要创建一个XML合同介绍某个业务实体时,记得要想到通用业务语言UBL。通用业务语言UBL不仅可以为你提供广为接受的合同,更能为你节约大量工作,同时,比起定制的解决方案,它更会收到业务合作伙伴的认可。
作者
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
API设计如龙生九子 各不相同
IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。
-
从头开始实现领域驱动设计
领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。
-
走出思维定式 数据库/大型机现代化不再是问题
升级和改变组织的主要利益驱动应用的前景,正处于一个压倒性的位置,所以组织将要面临一系列的改变。