Home > SOA Tips > The Web Services Advisor > Universal Business Language - XML gets down to business
SOA Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

THE WEB SERVICES ADVISOR

Universal Business Language - XML gets down to business


Daniel Rubio
01.09.2007
Rating: -4.50- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


Web services along with XML have allowed many an organization to establish tight information technology ties among partnering companies without worrying about vendor, programming language or platform issues, which are the typical barriers to cross-company IT initiatives.

But besides using the many well known standards behind these technologies -- such as SOAP, Schema, WSDL, UDDI and WS-* among others, it is essential that any two parties also agree on higher level business details. Looking to address such issues within the context of XML the Universal Business Language was created.

The purpose of the Universal Business Language (UBL) is straightforward: it defines a common XML library for business documents. In a typical scenario involving Web services, the same flexibility provided by XML can be a boon or a misfortune to describe business documents, creating open ended possibilities, but equally innumerable outcomes.

Take the simple example of an order or invoice fulfilling Web service, if left to the discretion of a single group of developers, it is very likely that each member would come up with different XML structures to describe the same information. While workable if confined to the same organization, it could quickly result in excessive overhead once accessed across company lines. With UBL, many business concepts equally applicable to vertical and horizontal industries can be modeled in XML, establishing a common language for representing catalogs, invoices, orders, quotations or way-bills, among other things.

If you have worked with software or used XML long enough, you may realize the purpose of UBL is very similar to other initiatives, such as: Electronic Data Interchange (EDI), Commerce XML (cXML), Electronic Business using XML(ebXML), XML Common Business Library (xCBL) and RosettaNet. However, as we will explore shortly, UBL was not created in a vacuum, but rather designed to complement many of aforementioned standards.

Currently in its 2.0 version and built on top of xCBL -- one of the earliest initiatives for XML business syntax -- UBL is developed under the auspices of OASIS, the same consortium behind ebXML which also produces many other Web services standards, thus guaranteeing a high level of relevancy in the overall scope of Web services and reducing possible overlap among competing technologies.

Providing more than 30 business level contracts -- technically known as XML Schemas -- the UBL Library is based on a conceptual model of information components known as Business Information Entities (BIE), like those used by ebXML. However, contrary to this latter specification orientated toward general business process modeling, the focus of UBL is on implementing the contracts behind these BIE's. Listing 1.1 illustrates sections of an Order BIE based on UBL :

Listing 1.1

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:Order-2"
    xmlns="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>

These XML Schemas could then be used under various validating scenarios involving Web services, helping ensure a uniform XML syntax when operating across different industries or country boundaries. Inclusively, to accommodate even the most demanding needs between trading partners, UBL's support for XSLT, XPath and ISO Schematron, allows for the creation of subsets and extensions capable of being applied to particular elements and subtrees within UBL instances, making extensibility to standard UBL Schemas a simple process.

Though UBL is clearly steered toward the pressing IT business requirements faced by multi-nationals, given the sheer scope and detail of its technical contracts, smaller and medium sized using Web services should not shrug off UBL as a large entity solution. As a matter of fact, UBL might very well serve as a catalyst to smaller players in opening up their business process to more established conglomerates.

So the next time you start a Web services design and face the possibility of creating an XML contract to describe a business entity, give UBL a look. It might offer you a widely accepted contract backed by a leading consortium that cannot only save you a substantial amount work, but will likely be more recognized by your business partners than a custom made solution.

About the author

Daniel Rubio is a software consultant with over 10 years of experience in enterprise software development, having recently founded Mashup Soft, a startup specializing in the use Web services for Mashups. He is a technology enthusiast in all areas related to software platforms and maintains a blog on these topics at http://webforefront.com


Rate this Tip
To rate tips, you must be a member of SearchSOA.com.
Register now to start rating these tips. Log in if you are already a member.




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED CONTENT
The Web Services Advisor
What to expect with the new JavaScript standardization (ECMAScript 5)
Restlet framework wrestles RESTful Web applications
3 tips for choosing whether to use EGL
Use SoaML to facilitate Model Driven Architecture
Enterprise mashup patterns act as API enablers
XQuery learns to write using XUF
Descriptive Languages for RESTful Services
Notable Python language update on view
Try XML-based Extensible Business Reporting Language (XBRL) for accounting reports
Whatever happened to ''X''?

XML and XML schema
What's the future of XML?
SOA pattern of the week (#7): policy centralization
Try XML-based Extensible Business Reporting Language (XBRL) for accounting reports
What's new at the W3C
Ganymede: Modeling tools target SOA, UML
Data services mashups emerge for SOA
Making sense of data services mashups
XML turns 10
SOA helps save 100-year-old business
Oracle maps heterogeneous data services strategy for SOA

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
class diagram  (SearchSOA.com)
Fast Infoset (FI)  (SearchSOA.com)
GeoRSS  (SearchSOA.com)
Keyhole Markup Language  (SearchSOA.com)
RELAX NG  (SearchSOA.com)
state diagram  (SearchSOA.com)
Universal Business Language  (SearchSOA.com)
Vector Markup Language  (SearchSOA.com)
XML infoset  (SearchSOA.com)
XML pipeline  (SearchSOA.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



SOA Trends and Strategy - SOA Education, SOA Development, SOA Implementations
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2001 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts