Schema Rules for UBL… and Maybe for You

Slides:



Advertisements
Similar presentations
W3C XML Schema: what you might not know (and might or might not like!) Noah Mendelsohn Distinguished Engineer IBM Corp. October 10, 2002.
Advertisements

SRDC Ltd. 1. Problem  Solutions  Various standardization efforts ◦ Document models addressing a broad range of requirements vs Industry Specific Document.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
SchemaServer Overview Tools for Enterprise Metadata Management and Synchronization Prepared for the University of Washington Information School Applied.
Sunday, June 28, 2015 Abdelali ZAHI : FALL 2003 : XML Schemas XML Schemas Presented By : Abdelali ZAHI Instructor : Dr H.Haddouti.
The RDF meta model: a closer look Basic ideas of the RDF Resource instance descriptions in the RDF format Application-specific RDF schemas Limitations.
IRS XML Standards & Tax Return Data Strategy For External Discussion June 30, 2010.
Unit 4 – XML Schema XML - Level I Basic.
Introduction to XML This material is based heavily on the tutorial by the same name at
Introduction to ebXML Mike Rawlins ebXML Requirements Team Project Leader.
GJXDM Information Exchange Package Methodology Naming & Design Rules (MNDR) John Ruegg County of Los Angeles Information Systems Advisory Body GJXDM User.
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
1 CIM User Group Conference Call december 8th 2005 Using UN/CEFACT Core Component methodology for EIC/TC 57 works and CIM Jean-Luc SANSON Electrical Network.
Customization Discussion Revised 29 August Guidelines for Customization Introduction Design For conformance For compatibility Specification Using.
EbXML Overview Dick Raman CEO - TIE Holding NV Chairman CEN/ISSS eBES Vice Chair EEMA and HoD in UN/CEFACT Former ebXML Steering Group.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Using the Universal Business Language for Internet Paperless Trading by Tim McGrath APEC Symposium on ebXML Bangkok, Thailand, July
Federal XML Naming and Design Rules and Guidelines Paul Macias.
Federal XML Naming and Design Rules and Guidelines Paul Macias.
UN/CEFACT Forum Wednesday, 16 March 2005 Lunch & Learn ATG XML NDR Mark Crawford ATG2 Chair U NITED N ATIONS C ENTRE F OR T RADE F ACILITATION A ND E LECTRONIC.
Developing a common set of federal NDR’s Mark Crawford Draft April 28, 2005.
OASIS Week of ebXML Standards Webinars June 4 – June 7, 2007.
The SGML Centre The role of process-controlled components in ebXML messages Martin Bryan CEN/ISSS Electronic Commerce Workshop working group on Defining.
Federal XML Naming and Design Rules and Guidelines Mark Crawford.
New Perspectives on XML, 2nd Edition
ECIMF meeting, Paris Overview of some international projects related to ECIMF Andrzej Bialecki.
New ITS Investigation NHS CfH Research Report Grahame Grieve, Laura Sato, Charlie McCay.
STASIS Technical Innovations - Simplifying e-Business Collaboration by providing a Semantic Mapping Platform - Dr. Sven Abels - TIE -
UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March
XML 2nd EDITION Tutorial 4 Working With Schemas. XP Schemas A schema is an XML document that defines the content and structure of one or more XML documents.
1 Tutorial 14 Validating Documents with Schemas Exploring the XML Schema Vocabulary.
Tutorial 13 Validating Documents with Schemas
Report to the UBL TC Naming and Design Rules Subcommittee Eve Maler NDR SC chair 22 January
EAN.UCC Implementation of ebXML Pere Rosell, AECOC - EAN Spain Melanie Kudela, UCC May 2002.
TMF - Terminological Markup Framework Laurent Romary Laboratoire LORIA (CNRS, INRIA, Universités de Nancy) ISO meeting London, 14 August 2000.
U NITED N ATIONS C ENTRE F OR T RADE F ACILITATION A ND E LECTRONIC B USINESS Under the auspices of United Nations Economic Commission for Europe UN/CEFACT.
Working with XML Schemas ©NIITeXtensible Markup Language/Lesson 3/Slide 1 of 36 Objectives In this lesson, you will learn to: * Declare attributes in an.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 1COMP9321, 15s2, Week.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
Dictionary based interchanges for iSURF -An Interoperability Service Utility for Collaborative Supply Chain Planning across Multiple Domains David Webber.
Leveraging UBL for Developing Justice XML (GJXDM) Reference Documents John Ruegg County of Los Angeles Information Systems Advisory Body GJXDM User Conference.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
UBL: Library Content subcommittee Tim McGrath, Chair Hong Kong SAR, China 10 May 2004.
Technical Steering Committee La Jolla, January 2003 Paul Kiel, HR-XML.
1 Schema Rules for UBL… and Maybe for You Eve Maler XML 2002 Conference 12 December 2002.
Using DSDL plus annotations for Netconf (+) data modeling Rohan Mahy draft-mahy-canmod-dsdl-01.
July 11, 2008OASIS SET TC OASIS Semantic Support for Electronic Business Document Interoperability (SET) TC Overview.
EbXML Semantic Content Management Mark Crawford Logistics Management Institute
4 Copyright © 2004, Oracle. All rights reserved. Validating XML by Using XML Schema.
1 XML and XML in DLESE Katy Ginger November 2003.
Subgroup Chair: Robert Shapiro (Global360) Baseline Proposal:
Achieving Justice Information Interoperability
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
XML QUESTIONS AND ANSWERS
Core Components and More
What is ebXML? Electronic Business Extensible Markup Language
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
An Overview of MPEG-21 Cory McKay.
The Re3gistry software and the INSPIRE Registry
Information Systems Advisory Body GJXDM User Conference - June, 2005
2. An overview of SDMX (What is SDMX? Part I)
Chapter 13 Quality Management
2. An overview of SDMX (What is SDMX? Part I)
MUMT611: Music Information Acquisition, Preservation, and Retrieval
M2AP Methodology For Message Assembly Profile Improving traceability, reusability and instance interoperability in CIM XML message content schema design.
Support for syntaxes (UBL and UN/CEFACT) Nicosia October 30, 2017
Document Type Definition (DTD)
Software Architecture & Design
New Perspectives on XML
Presentation transcript:

Schema Rules for UBL… and Maybe for You Open 0pt65 spreadsheet! Open 0pt65 XSD files in XML Spy! Eve Maler XML 2002 Conference 12 December 2002

Lots to cover in this session Goals Introduce the Universal Business Language and its unique schema requirements and constraints Describe three major areas of its design, introducing ebXML Core Components along the way Assumptions You are familiar with advanced W3C XML Schema concepts But not necessarily an expert in XML B2B in general or ebXML specifically

Overview of UBL and its EDI and ebXML roots

The classic EDI stack

Some EDI pressure points It’s hard to get in the game Private networks are expensive You need to do extensive point-to-point negotiation The interchange pipe is large, with infinite possible subsets You use a “soft” mechanism for adapting to special business contexts

The ebXML initiative A joint 18-month effort, concluding in May 2001, of: OASIS (Organization for the Advancement of Structured Information Standards) UN/CEFACT (United Nations Centre for Trade Facilitation and Electronic Business) Over 1000 international participants The vision: a global electronic marketplace where enterprises of any size, anywhere, can: Find each other electronically Conduct business by exchanging XML messages ebXML work continues in OASIS and UN/CEFACT

The ebXML stack

UBL proposes to fill out the stack

UBL is… An XML-based business language standard being developed at OASIS that… …leverages existing EDI and XML B2B concepts and technologies …is applicable across all industry sectors and domains of electronic trade …is modular, reusable, and extensible …is non-proprietary and committed to freedom from royalties …is intended to become a legal standard for international trade

How the work gets done: UBL subcommittees Modeling and content Library Content SC Context Drivers SC (future domain-specific) Administrative functions Marketing SC Liaison SC Subcommittee chairs SC XML representation and mechanisms Context Methodology SC Tools and Techniques SC Naming and Design Rules SC

Requirements on schema design Leverage XML technology, but keep it interoperable Achieve semantic clarity through a binding to the Core Components model Support contextualization (customization) and reuse Selectively allow “outsourcing” to other standard schemas

The special requirement for context “Standard” business components need to be different in different business contexts Addresses differ in Japan vs. the U.S. Addresses in the auto industry differ from those for other industries Invoice items for shoes need size information; for coffee, grind information UBL needs this kind of customization without losing interoperability

A constraint on the design rules themselves The UBL Library is being specified in syntax-neutral form using the Core Components model A spreadsheet holds the results To convert this automatically into schema form requires hard rules, not just guidelines In fact, we do this today with perl scripts W3C XML Schema is our target form of choice

The design rules we’ll review today UBL’s mapping to ebXML Core Components, including XML naming rules UBL’s choice of schema style UBL recommendations for the creation of reusable code lists

UBL’s mapping to the ebXML Core Components model

Status of the Core Components spec The Core Components Technical Specification (CCTS) defines a syntax-neutral metamodel for business semantics It is at V1.85 as of 30 September 2002 Work is ongoing to define an actual dictionary in the Core Components Supplementary Documents (CCSD) These are currently non-normative UBL is, first and foremost, striving to use the CCTS metamodel accurately And offering feedback for further CCTS/CCSD development

Core components vs. business information entities An address might be a generic CC A U.S. address has (at least) the geopolitical region set as its business context, making it a BIE UBL, by its nature, deals only in BIEs

The Core Components spec follows ISO 11179 This is basic object-oriented “good stuff”

Different kinds of CC and BIE

A tiny sample data dictionary This leaves out cardinality considerations for simplicity

The Core Component Types The CCTs are built-in ebXML representation terms for indicating constraints on basic information Current primary and secondary CCTs: Amount Binary Object (plus Graphic, Picture, Sound, and Video) Code Date Time (plus Date and Time) Identifier Indicator Measure Numeric (plus Value, Rate, and Percent) Quantity Text (plus Name)

How dictionary entries are named Object classes: Object Class Term. “Details” Properties: Object Class Term. [Qualifier] Property Term. [Qualifier] Representation Term CCTs: CCT Name. “Type”

How this would map to a UBL schema Person. Details and Address. Details (and any other object classes) become complex types in the UBL Library Name, Birth, and other properties become elements Text, date, and other CCTs become complex types in the UBL Library’s “built-in” CCT schema module Codes and identifiers are a special case

The UBL naming rules Remove periods and spaces Replace “Details” with “Type” On properties (elements), leave out the object class term; XPath gives you uniqueness Remove redundant words Remove “Text” as the default CCT Truncate “Identifier” to “ID”

UBL’s choice of schema style

XSD offers many options for schema organization Elements and types can be managed separately Type inheritance and derivation allows for deep type hierarchies Elements, datatypes, and attributes can independently be locally or globally scoped Namespace support allows for federation of component creation and reuse And importing (outer) schemas can reset some settings

Several options have become well known Russian Doll, Salami Slice, and Venetian Blind have been proposed by Roger Costello (xfront.com) A fourth obvious option is Garden of Eden There are many variations we won’t go into here There are some weird ones, like making all attributes global

Russian Doll <xs:schema … > <xs:element name=“Person”> <xs:complexType> <xs:element name=“Name” type=“NameType” /> <xs:element name=“BirthDate” type=“DateType” /> <xs:element name=“ResidenceAddress”> <xs:complexType> <xs:element name=“Street” type=“TextType” /> … </xs:complexType> </xs:element> <xs:element name=“OfficialAddress”> <xs:complexType> … </xs:complexType> </xs:element> </xs:schema>

Salami Slice <xs:schema … > <xs:element name=“Person”> <xs:complexType> <xs:element ref=“Name” /> <xs:element ref=“BirthDate” /> <xs:element ref=“ResidenceAddress” /> <xs:element ref=“OfficialAddress” /> </xs:complexType> </xs:element> <xs:element name=“Name” type=“TextType” /> <xs:element name=“BirthDate” type=“DateType” /> <xs:element name=“ResidenceAddress”> <xs:complexType> … </xs:complexType> </xs:element> </xs:schema>

Venetian Blind <xs:schema … > <xs:element name=“Person” type=“PersonType”> <xs:complexType name=“PersonType”> <xs:element name=“Name” type=“NameType” /> <xs:element name=“BirthDate” type=“DateType” /> <xs:element name=“ResidenceAddress” type=“AddressType”/> <xs:element name=“OfficialAddress” type=“AddressType”/> </xs:complexType> <xs:complexType name=“AddressType”> <xs:element name=“Street” type=“TextType” /> <xs:element name=“PostCode” type=“TextType” /> <xs:element name=“Town” type=“TextType” /> <xs:element name=“CountryID” type=“…” /> </xs:complexType> </xs:schema>

Garden of Eden <xs:schema targetNamespace=“http://www.example.com/BIEs” … > <xs:element name=“Person” type=“PersonType”> <xs:complexType name=“PersonType”> <xs:element ref=“Name” /> <xs:element ref=“BirthDate” /> <xs:element ref=“ResidenceAddress” /> <xs:element ref=“OfficialAddress” /> </xs:complexType> <xs:element name=“Name” type=“TextType” /> <xs:complexType name=“TextType”> … </xs:complexType> … </xs:schema>

Some potential criteria for choosing a style Flexibility: does the vocabulary need to adapt, chameleon-like, to different namespaces? Consistency: is it okay for the vocabulary to bounce between qualified and unqualified? What happens when importing schemas do overrides? Reuse: what constructs might someone else want to reuse wholesale? Specialization: what constructs might someone else want to modify?

UBL’s specific concerns Validators and transformation/query engines need to work Type-awareness in tools isn’t always easy to come by Both direct reuse and customization need to work No surprises No weird or inconsistent results Simple things should be simple; hard things should be possible Semantic clarity needs to be retained at all times We ultimately chose Garden of Eden

Consequences of this choice Every object class/complex type has a corresponding global element declaration for direct reuse Properties become references to those declarations Properties with the same XML name must be able to share a common object class This complicates modeling and the algorithm for generating the schema from the syntax-neutral model But it’s better to optimize for the users than for ourselves! But it has the benefit of rationalizing how we name object classes And it gives us some useful new type hierarchy depth

Simple example <xs:complexType name=“PartyType”> gets its semantics from the Party. Details object class … </xs:complexType> <xs:element name=“Party” type=“PartyType” /> same generic Party. Details semantics <xs:complexType name=“OrderType”> <xs:element ref=“Party” /> gets its semantics from Party as a property of the Order … </xs:complexType>

Complex example <xs:complexType name=“PartyType”> gets its semantics from the Party. Details object class … </xs:complexType> <xs:complexType name=“BuyerPartyType” type=“PartyType”> gets its semantics from a new Buyer Party. Details object class … </xs:complexType> <xs:element name=“Party” type=“PartyType” /> <xs:element name=“BuyerParty” type=“BuyerPartyType” /> <xs:complexType name=“OrderType”> <xs:element ref=“BuyerParty” /> gets its semantics from BuyerParty as a property of the Order … </xs:complexType>

Reusable code lists

Code lists in business documents A code is a character string that represents a definitive value Code lists are valuable as unambiguous taxonomies In many cases, code lists are big business

Options for formal representations of code lists Often the lists are merely maintained in text documents But formal encodings are immensely useful As RDF ontologies or in the ebXML Registry Information Model’s <ClassificationScheme> language, for example UBL and other vocabularies that are “consumers” of code lists need them in XSD form also, for validation and semantic clarity

Each consumer schema could create its own version But this is costly and prone to error Better to help code list producers create their own code list schema modules

The UBL solution: code list schema recommendations The code list producer needs to identify the attributes that make the list unique: An XML namespace for its schema A unique agency name, code list name, and version …and define a prescribed set of complex and simple XSD types that can be bound in a standard way to a native (e.g., UBL) element

The native element is unique to that code list <CountryID> <ISO3166CountryCode attribs…>FR</ISO3166CountryCode> </CountryID> The code value itself doesn’t have to be a string; it could have nested XML structure The simple type governing the value can be as “tight” or as “loose” as the code list producer is willing to maintain Enumerated list Pattern No constraints at all The unique attributes can be defaulted, or even fixed

A global marketplace in code lists? If these recommendations are followed, we could see… …less duplication of work in XML language development …wider application platform support for well-known code lists …earlier validation of code values …standardization of more code lists, and even subsetting and extension

Conclusion

UBL has had to solve some tough schema problems Some of its needs are unique, but many may be shared by you Our hope is that UBL’s schema naming and design rules may be helpful to others Please see the proceedings for additional further reading Please see the other UBL talks at this conference for more on other UBL development areas

Eve Maler eve.maler@sun.com Thanks! Questions? Open 0pt65 spreadsheet! Open 0pt65 XSD files in XML Spy! Eve Maler eve.maler@sun.com