[]

xCBL User's Group Newsletter

Technical Information Update for the XML Common Business Library (xCBL)

If you wish to print this newsletter please make sure you do so in landscape format.

February 2000 - Number 1


Introduction to The xCBL Users Group Newsletter [^]

Because this is the first of many xCBL newsletters, this issue will be addressing some of the basic points about xCBL. (It will resemble a FAQ in many ways, in fact.) In future, we will avoid repeating this information, and will focus instead on current developments and articles focused on implementations, etc.. We hope to distribute the newsletter monthly, but will alter the frequency to suit the amount of useful content. We will attempt to keep the content straightforward, terse, and informative.

What Is the Purpose of the xCBL User's Group Newsletter? [^]

This newsletter is published by Commerce One to distribute technical information for all users of the XML Common Business Library, regardless of whether they are using Commerce One's products or not. You may wonder why Commerce One would support "users" who are not paying customers. The answer is simple: a portal vendor in the B2B space benefits whenever interconnectivity is increased: more transactions means a bigger market. xCBL promotes interconnectivity.

What Is xCBL? [^]

xCBL is a set of XML business documents and their components, distributed freely at the Commerce One web site and in major public repositories (see the listing of links below). These documents are designed to be used in business-to-business e-commerce. The intention is that people can not only use the business documents, but can also build their own documents out of the component library. Both things promote interoperability between applications, even if only by making transformations easier between different types of documents.

xCBL is made available as a set of SOX schemas (SOX is the schema language Commerce One created and uses in its own products), as a single DTD, and in XDR schema forms. (In the future, xCBL will also be distributed using the W3C Schema Language, when it becomes available as a recommendation.) Regardless of which type of validation structure syntax you use inside your applications, the business documents - with very minor modifications - remain the same. The focus of interoperability is the exchange of business documents!

What Is the xCBL User's Group? [^]

Currently, the xCBL User's Group is just the informal community of people who use xCBL. In the future, it may take on a more formal membership, to support conferences and other events. If you are a subscriber to this newsletter, you will be the first to know if anything changes. The focus of the newsletter is a technical one. If you are involved in building or supporting applications that use xCBL, or manage a group of such people, then this is for you.

xCBL and EDI [^]

One of the most common questions regarding xCBL is what relationship it bears to EDI. The xCBL 2.0 release is very heavily based on many common flavors of EDI - X12, UN/EDIFACT, EANCOM, and OBI, to name just a few. Anyone familiar with the corresponding EDI messages will have a relatively easy time figuring out how to use xCBL business documents and components.

What xCBL is not is an algorithmically derived XML form of a set of EDI messages. While many such algorithms have been proposed, they were found wanting for the purposes of xCBL.

xCBL 2.0 Release 3 [^]

There have been three "releases" of xCBL 2.0. The first of these was for demonstration purposes, and contained only PurchaseOrder and Invoice documents. The second release included all of the document types (see below), but was not widely distributed, as there were several known bugs. The third release is the "official" release, which is used by Commerce One's products. Future updates will not use the "Release" numbering, but will resort to the more usual version numbering scheme: 2.1, 2.2, 3.0, etc.

Note that the name "CBL" (Common Business Library) was recently changed to "xCBL" (XML Common Business Library) to emphasize that it is an XML-based document and component set. In the past, this has caused some confusion, hence the change.

The list of business documents currently found in xCBL 2.0 is:

  1. PurchaseOrder
  2. PurchaseOrderResponse
  3. AvailabilityCheckRequest
  4. AvailabilityCheckResult
  5. Invoice
  6. PriceCheckRequest
  7. PriceCheckResult
  8. OrderStatusRequest
  9. OrderStatusResult
  10. ProductCatalog
  11. PriceCatalog

Technical Tips for Using xCBL [^]

This will be a regular section of the newsletter, reflecting the most commonly asked questions about the use of xCBL. These questions come from users writing to cbl@commerceone.com . If you have topics that you would like to see covered here in future, please write us.

Customizing Code Lists [^]

It is recognized that it is sometimes necessary to add codes to some of xCBL's enumerations, to reflect trading practices. There is a standard mechanism for adding custom codes to any codelist within CBL:

If you have an attribute called "Foo" that requires a code of a specific type, but the code you want to use does not exist in the list that xCBL provides, select the "Other" value for that code. There will be a second attribute on the same element, "FooOther," that allows you to specify whatever custom code you need to use.

If "Foo" was an attribute of the element "FooCode", and you wanted to use a non-standard code "FullFrontal", your business document would look like this:

<FooCode Foo="Other" FooOther="FullFrontal"> . . . </FooCode>

Be aware that the datatyping features provided by schema languages will not validate custom codes - they are treated as string data. The business application itself will need to provide validation - trading partners will need to agree on custom codes before they are used. This method of customizing codelists is supported by Commerce One's applications that use xCBL.

Differences Between Extensions and Typed Elements in xCBL [^]

xCBL was first designed to be used with SOX schemas. As XDR became popular, and legacy support for DTDs was demanded by many tools, these syntaxes were made available. One result of this history is that there is a difference in document syntax between an "extended" element and an element that has a common type but a different name. It is fairly easy to discover which elements are simply renamed and which are extended: go to the xCBL Reference Guide (also available in downloadable form). Any extended element will be clearly marked with Extends: - any typed element will be referred to from it's parent as being of a specific type, using (type: xxxxxx) .

You can also download the SOX schemas, where the SOX syntax makes these relationships clear. (If you need to learn to read SOX, please go to the SOX Tutorial .)

The major issue with this difference is that when using xCBL in an XDR schema or DTD form, some of the tagging in the business documents looks strange: typed elements have nested tags to indicate renaming, while extended elements do not. When using xCBL components to customize or create other business documents, however, you must pay attention to this syntax, so that the SOX versions of your documents will conform to the established practice.

The easiest way to explain this is to use an example. In xCBL, the element Party is a good example of typing: If you look at OrderParty, four of it's five children are of type Party: BuyerParty, SupplierParty, ShipToParty, and BillToParty. In each case, these elements have exactly the same content, but have a different element name.

In the business document, an instance of Party looks like this:

<Party>
  <NameAddress>
    <Name1>Mr. Muljadi Sulistio</Name1>
    <Name2>Attention: Business Service Division</Name2>
    <Address1>1600 Riviera Ave</Address1>
    <Address2>Suite# 200</Address2>
    <City>Walnut Creek</City>
    <StateOrProvince>CA</StateOrProvince>
    <PostalCode>94596</PostalCode>
    <Country>US</Country>
  </NameAddress>
  <OrderContact>
    <Contact>
      <ContactName>Mr. Mike Holloway</ContactName>
      <Telephone>(925) 941-3333</Telephone>
      <Email>mike.holloway@commerceone.com</Email>
      <Fax>(925) 941-4555</Fax>
    </Contact>
  </OrderContact>
  <ReceivingContact>
     <Contact>
       <ContactName>Mr. Debbie Dub</ContactName>
       <Telephone>(925) 941-2222</Telephone>
       <Email>debbie.dub@commerceone.com</Email>
       <Fax>(925) 941-4555</Fax>
    </Contact>
  </ReceivingContact>
    <ShippingContact>
      <Contact>
        <ContactName>Ms. John Wayne</ContactName>
        <Telephone>(925) 941-1111</Telephone>
        <Email>john.wayne@commerceone.com</Email>
        <Fax>(925) 941-4555</Fax>
      </Contact>
    </ShippingContact>
</Party>

An instance of BuyerParty looks exactly the same, except that two tags: <BuyerParty> and </BuyerParty> are wrapped around the entire Party element, <Party> and </Party> included.

When an element is extended, you do not include the tags of the extended element. A good example of this is OrderResponseDetail. This element extends OrderDetail by appending several elements onto the end: VarianceQuantity, SupplierExpectedUnitPrice, PriceErrorInfo, AvailabilityErrorInfo, and SupplierNote.

An instance of OrderResponseDetail would start with a <OrderResponseDetail> tag, followed by all of OrderDetail's children, then by all of the appended elements, and then close with an </OrderResponseDetail> tag. Nowhere in the instance would you see the start or end tag for OrderDetail:

<OrderResponseDetail>
  <BaseItemDetail> . . . </BaseItemDetail>
  [OTHER CHILDREN OF OrderDetail]
  <VarianceQuantity> . . . </VarianceQuantity>
  <SupplierExpectedUnitPrice> . . . </SupplierExpectedUnitPrice>
  <PriceErrorInfo> . . . </PriceErrorInfo>
  <AvailabilityErrorInfo> . . . </AvailabilityErrorInfo>
  <SupplierNote> . . . </SupplierNote>
</OrderResponseDetail>

If you care about interoperating with systems using DTDs, XDR, and SOX - or if you'd rather not have to worry about it - then it is best to simply find out which elements you are renaming, which you are extending, and to follow these guidelines for document tagging.

One useful way to do this with DTDs is to use parameter entities for handling extensions, and to declare the contents of a typed/renamed element by simply citing the typed element as the content of the renamed element. While this may seem counter-intuitive, it will guarantee interoperability, and is the established process for handling these mechanisms.

Tools Support for xCBL: eXtensibility's XML Authority [^]

(If you are working with XML schemas today, you probably are already aware of XML Authority. It allows you to work with - among others - XML DTD, SOX schemas, and XDR.)

Extensibility's schema editor XML Authority now provides full SOX schema support. XML Authority 1.1d and later (currect version is 1.1e) provides the user with a graphical interface to any SOX schema, be it xCBL or your own schemas. The user can view, edit, create and validate all current SOX features. The high quality schema validation utilizes full blown SOX schema validation powered in part by Commerce One's SOX parser. XML Authority 1.1d and later also provides full Commerce One URN resolution support, enabling the processing of joined schemas such as the current version of xCBL, or schemas utilizing definitions from other namespaces through namespace import. A free trial of XML Authority can be downloaded from http://www.extensibility.com/ .

Upcoming Events [^]

eLINK Conference [^]

Location/Times: Royal Lancaster, London, U.K. February 21 - 23, 2000

http://www.elinkconference.com/

From the web site:

    The e-commerce event for you - Whether you are purchasing or supplying products or services via the internet, this conference is for you. Hosted by Commerce One and BT, eLink 2000 will bring together e-commerce leaders and experts from a variety of businesses. They will share practical information and innovative ideas and solutions to make e-commerce more efficient and profitable for your business.

    Expert advice for today and tomorrow - At the conference you can benefit from real-life case studies and advice from top e-commerce industry analysts. You can find out how to increase your bottom line now and take advantage of future business and technological developments.

    An exhibition showcase for success - You will also be able to view a showcase of the latest products and services from leading e-commerce vendors. Today, these innovations are making global trading a reality.

    Connect with the leaders and relax - eLink 2000 will offer many opportunities to network with colleagues and industry experts. You are also invited to enjoy our Monday night welcome drinks reception and our Tuesday night gala dinner and party.

XML Europe 2000 [^]

Location/Times: Palais Des Congres De Paris Paris, France 12 - 16, June 2000

http://www.gca.org/attend/2000_conferences/europe_2000/default.htm

Commerce One employees will be presenting on issues concerning the use of xCBL, design issues in general, and other XML-related aspects of B2B e-commerce. Watch the web site for a posting of scheduled presentations and classes.

From the web site:

    XML Europe 2000 explores the many different ways XML, SGML, and their families of associated standards are being used now and will be used in the future. As the GCA's annual comprehensive event on applications, trends, and technologies supporting these standards, delegates will find information for managers, users, and technical experts. Full- and half-day tutorials will help newcomers to the topic as well as provide opportunities for experts to explore favorite subjects in more depth.

    The four concurrent tracks running throughout the 4 days and the concurrent tutorials on Monday preceding the conference reflect and examine the many faces of XML and related standards. Experts in a range of technical and industry areas discuss not only the more traditional uses of these standards (e.g., documents and data), but also some of the newer applications like e-commerce, or less obvious ones, such as using XML to describe software processes.

Where to Go for Help [^]

General information about xCBL and related XML technology

The SOX Tutorial (PDF)

XDK (includes CXP, the Sox Parser, and an integrated XSL transformation engine)

BizTalk JumpStart Kit

Documentation (includes the XML Interconnectivity Guide and an HTML Structure Reference - these are also available in downloadable form.)

XML Publications [^]

Publications written by individuals here at Commerce One are available at:http://www.commerceone.com/xml/publications/index.html

In the January issue of Application Integration & Management is an article discussing, XML, CommerceOne, and GM.

Important Links [^]

Outside endorsements of xCBL

Commerce One's xCBL pages

Biz Talk (you must register with the BizTalk repository before getting access)

OASIS

OASIS Repository (XML.org)

Job Opportunities [^]

Commerce One is looking for individuals to fill the following positions working with xCBL, XML Messaging, and similar open-standards-based technology:

XML Experts: Experience working with SGML/XML for 3+ years, a solid knowledge of standard XML tools and related standards, and experience writing editing DTDs/XML Schemas. Knowledge of EDI a plus. Experience in standards activities desirable.

XML Developers: Experience developing SGML/XML applications using standard tools/programming languages: XSL, Python, Java, Perl, etc. Knowledge of distributed computing and/or relational/object database technology a plus.

XML Technology Marketers: Experience with product management and standards promotion; solid knowledge of the capabilities of applied XML technology.

We are also interested in hiring anyone with an interest in B2B e-commerce, and a background in SGML/XML and related technologies. Please send resumes and/or questions to: cbl@commerceone.com . We will consider having people in some positions working remotely.

Subscription [^]

Subscription to this newsletter is through Commerce One. To subscribe or unsubscribe, please send an email to: cbl@commerceone.com . Include your name, company name, and address along with your email address. Use the phrase "xCBL Mailing List" in the subject field, followed by the phrase "Subscribe" or "Unsubscribe".

About the xCBL User's Group Newsletter [^]

The xCBL User's Group Newsletter is produced using XML. If you would prefer to receive it in raw form, drop us a line.

Co-Editors: Arofan Gregory, Lisa Seaburg, Terry Allen

Designer: Lisa Seaburg

Contributors: Arofan Gregory, Lisa Seaburg, Bob Glushko, David Burdett, Mette Hedin

 

 
HOME | ABOUT xCBL | xCBL4.0 | xCBL3.5 | EARLIER VERSIONS | DEVELOPMENT RESOURCES | FAQ | LINKS | CONTACT US

License Information - Copyright © 2000
For problems or questions regarding this site, contact xcblwebmaster@commerceone.com.