Schema Rules for UBL and Maybe for You. Eve Maler XML 2002 Conference 12 December 2002

Similar documents
XML for e-business. Eve Maler Sun Microsystems, Inc.

Schema Design Rules for UBL...and Maybe for You

Information Model Architecture. Version 1.0

UBL Library Content Methodology

Department of the Navy XML Naming and Design Rules (NDR) Overview. 22 September 2004 Federal CIO Council XML WG Mark Crawford LMI

The Future of XML Vocabularies. Creating UBL Conformant Schema Tutorial

Technical Framework Supporting ebusiness Standards. Christian Huemer TMG Chair

Proposed Revisions to ebxml Technical. Architecture Specification v1.04

Proposed Revisions to ebxml Technical Architecture Specification v ebxml Business Process Project Team

Federal XML Naming and Design Rules and Guidelines. Mark Crawford

UN/CEFACT/UBL XML Naming and Design Rules Analysis Page 1

XML Naming and Design Rules. Draft 1.1, 14 January 2005

Dictionary Driven Exchange Content Assembly Blueprints

UN/CEFACT Core Components Data Type Catalogue Version December 2007

Feedback from OASIS UBL TC to Draft Core Components Specification 1.8

UBL Naming and Design Rules Checklist

Direction And Concepts March Scott R. Hinkelman Techniques and Methodologies (TMG) [acting] Vice Chair

UN/CEFACT ebxml Core Components Technical Specification. 30 September 2002 Version 1.85

SDMX self-learning package No. 3 Student book. SDMX-ML Messages

Quick Guide to CAM Dictionaries

Naming & Design Requirements (NDR)

XML Naming and Design Rules Draft 1.2, 8 September 2005

UN/CEFACT Core Components Technical Specification Version 3.0

UN/CEFACT ebxml Core Components Technical Specification. 11 August 2003 Version 2.0

Specification for Information Exchange (SIX) Language

UBL v2 Data Model Architecture Discussion Paper

Introduction to the Controlled Trade Markup Language (CTML) Technical Committee

Promoting semantic interoperability between public administrations in Europe

Electronic Business Extensible Markup Language (ebxml) Part 5: Core Components Specification (CCS)

Department of the Navy XML Naming and Design Rules. Office of the DON Chief Information Officer

XML Naming and Design Rules

UBL NDR 2.0 Checklist

A registry model for UN/CEFACT s Core Components

Management of Metadata and XML Schemas for e-justice. Pim Keizer Pim van der Eijk

Implementation Issues in the ebxml CPA formation process - the Referencing Problem

Fourth Cycle Validation Report

UN/CEFACT Core Components Data Type Catalogue Version September 2009

Teiid Designer User Guide 7.5.0

UBL 2 Guidelines for Customization, First Edition

GJXDM Information Exchange Package Methodology Naming & Design Rules (MNDR) Presented by

XML BASED DICTIONARIES FOR MXF/AAF APPLICATIONS

STANDARD ST.66 DECEMBER 2007 CHANGES

UBL Guidelines for Customization Version 1.0

12. Enterprise / Institutional Categorization and Standards

Business-Centric Methodology Specification. Appendix B: Linking and Switching. Version 1.0. OASIS BCM Technical Committee Specification

Infrastructure for Multilayer Interoperability to Encourage Use of Heterogeneous Data and Information Sharing between Government Systems

Universal Business Language (UBL) Naming and Design Rules 2.0

Information Technology Document Schema Definition Languages (DSDL) Part 1: Overview

ISO/IEC INTERNATIONAL STANDARD. Information technology Multimedia framework (MPEG-21) Part 21: Media Contract Ontology

Building Ontology Repositories for E-Commerce Systems

ISO/IEC INTERNATIONAL STANDARD. Information technology Multimedia content description interface Part 5: Multimedia description schemes

B2B Integration - Aligning ebxml and Ontology Approaches

Service Oriented Architectures Visions Concepts Reality

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

Web Services, ebxml and XML Security

ISO/IEC JTC 1 N Replaces: ISO/IEC JTC 1 Information Technology

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY. (An NBA Accredited Programme) ACADEMIC YEAR / EVEN SEMESTER

A Core Component-based Modelling Approach for Achieving e-business Semantics Interoperability

ISO/IEC TR TECHNICAL REPORT. Information technology Procedures for achieving metadata registry (MDR) content consistency Part 1: Data elements

Office of the Government Chief Information Officer XML SCHEMA DESIGN AND MANAGEMENT GUIDE PART I: OVERVIEW [G55-1]

ISO/IEC JTC 1/SC 32 N 0722

CimConteXtor User Guide

Conceptual Modeling and Specification Generation for B2B Business Processes based on ebxml

Teiid Designer User Guide 7.7.0

ebxml Technical Architecture Specification

11. Documents and Document Models

NISO STS (Standards Tag Suite) Differences Between ISO STS 1.1 and NISO STS 1.0. Version 1 October 2017

6. The Document Engineering Approach

Introduction to Global Data Types in SAP NetWeaver PI 7.1 (preview)

A Standards-Based Registry/Repository Using UK MOD Requirements as a Basis. Version 0.3 (draft) Paul Spencer and others

ISO/IEC CD :200x(E) Title: Information technology - Framework for Metamodel interoperability Part 2: Reference model Project:

UBL Guidelines for Customization Version 1.0

Business Document Naming and Design Rules Version 1.1

Warfare and business applications

Universal Business Language (UBL) Naming and Design Rules

ISA Action 1.17: A Reusable INSPIRE Reference Platform (ARE3NA)

Deep Integration of Scripting Languages and Semantic Web Technologies

XML TECHNICAL SPECIFICATION

memorandum Syntax and structure of EDI messages Regulation F: EDI communication Appendix report 1: April 2007 Rev. 1

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

Core Component Primer

Universal Business Language (UBL) Naming and Design Rules

The ebxml Technical Architecture

Introduction to Templates

Core Components Technical Specification, Part October 2001 Version 1.7

Using UML To Define XML Document Types

CIMERGY PROJECT FIRST RESULTS ON IEC STANDARDS EDF IMPLEMENTATION

ISO/IEC INTERNATIONAL STANDARD. Information technology Metadata registries (MDR) Part 3: Registry metamodel and basic attributes

Glossary of Exchange Network Related Groups

Complex type. This subset is enough to model the logical structure of all kinds of non-xml data.

Lecture Telecooperation. D. Fensel Leopold-Franzens- Universität Innsbruck

Lesson 5 Web Service Interface Definition (Part II)

Guide to the Core Components Dictionary. ebxml Core Components

Some Notes on Metadata Interchange

Model Driven Data Interoperability (MDMI)

ISO 2146 INTERNATIONAL STANDARD. Information and documentation Registry services for libraries and related organizations

ISO/IEC Information technology Multimedia content description interface Part 7: Conformance testing

Topics on Web Services COMP6017

Business Document Naming and Design Rules Version 1.0

ISO/IEC INTERNATIONAL STANDARD. Information technology CDIF semantic metamodel Part 4: Data models

Transcription:

Schema Rules for UBL and Maybe for You Eve Maler XML 2002 Conference 12 December 2002 1

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 the ebxml Core Components model along the way Help you decide whether you want to apply any of these design rules to your own project, B2B or otherwise Assumptions You are familiar with advanced W3C XML Schema concepts But not necessarily an expert in XML B2B in general or ebxml specifically 2

Overview of UBL and its EDI and ebxml roots 3

The classic EDI stack Message contextualization Standard messages MIGs EDIFACT, X12 Payload Business agreements Ad hoc TPA Business processes CASE tool Infrastructure Packaging/transport VAN 4

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 5

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 6

The ebxml stack Message contextualization Context methodology Standard messages Core Components Business agreements Reg/ Rep CPP/CPA Business processes BPSS Packaging/transport Message Service Discovery/retrieval 7

UBL proposes to fill out the stack Message contextualization UBL context meth Context methodology Standard messages UBL Library Core Components Business agreements Reg/ Rep CPP/CPA Business processes BPSS Packaging/transport Message Service Discovery/retrieval 8

UBL is An XML-based business language standard being developed at OASIS (though not officially part of ebxml) 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 9

The UBL subcommittees that get the work done 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 10

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 11

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 12

A constraint on the design rules themselves The UBL Library is being specified in syntaxneutral 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 13

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 14

UBL s mapping to the ebxml Core Components model 15

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 16

Core components vs. business information entities Core Component (CC) A building block for the exchange of semantically correct and meaningful information apply business context: business process product classification industry classification geopolitical region official constraint business process role supporting role system capabilitites Business Information Entity (BIE) A CC to which a business context has been applied 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 17

The Core Components spec follows ISO 11179 Object class Property 1: representation 1 Property 2: representation 2 Property 3: representation 3 Property 4: representation 4 Address Street: text Post code: text Town: text Country: identifier ISO 11179 governs data dictionaries: defines the notions of object class, property, and representation term This is basic object-oriented good stuff 18

Different kinds of CC and BIE Aggregate CC/BIE (ACC, ABIE) An object class that is a collection of related pieces of information; can indirectly serve as a property of another aggregate A mechanism for allowing an aggregate to be a property of another aggregate Association CC/BIE (ASCC, ASBIE) Aggregate CC/BIE (ACC, ABIE) Basic CC/BIE A singular piece of information; can serve as a property of an aggregate Core Component Type (CCT) A built-in set of representation terms for basic information 19

A tiny sample data dictionary Person Name: text Birth: date Residence Address: Address Official Address: Address Address Street: text Post Code: text Town: text Country: identifier Key: Object class (aggregate BIE) Property (basic BIE) Property (association BIE) Representation term (CCT) This leaves out cardinality considerations for simplicity 20

The Core Component Types The CCTs are built-in ebxml representation terms for indicating constraints on basic information The current list of 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) 21

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 Person. Details Person. Name. Text Person. Birth. Date Person. Residence Address. Address Person. Official Address. Address Address. Details Address. Street. Text Address. Post Code. Text Address. Town. Text Address. Country. Identifier Key: Object class (aggregate BIE) Property (basic BIE) Property (association BIE) 22

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 Person. Name. Text and all the 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 23

UBL s XML naming rules Remove periods and spaces Replace Details with Type On properties (elements), leave out the object class term XPath gives you uniqueness PersonType Name BirthDate Residence Address Official Address Remove redundant words Remove Text as the default CCT Truncate Identifier to ID AddressType Street PostCode Town CountryID Key: XSD complex type XML element bound to a CCT type XML element bound to a regular complex type 24

UBL s choice of schema style 25

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 distributed component creation and reuse And importing (outer) schemas can reset some settings 26

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 27

Russian Doll <xs:schema > <xs:element name= Person > <xs:complextype> keep nesting ever more deeply <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:complextype> </xs:element> </xs:schema> 28

Salami Slice <xs:schema > <xs:element name= Person > only elements are at the top level <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> 29

Venetian Blind <xs:schema > mostly types are at the top level <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> 30

Garden of Eden <xs:schema targetnamespace= http://www.example.com/bies > everything s at the top level <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> 31

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? 32

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 33

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 definition 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 34

Simple example <xs:complextype name= AddressType > gets its semantics from the Address. Details object class </xs:complextype> <xs:element name= Address type= AddressType /> same generic Address. Details semantics <xs:complextype name= PersonType > <xs:element ref= Address /> gets its semantics from Address as a property of the Person </xs:complextype> 35

Complex example <xs:complextype name= AddressType > gets its semantics from the Address. Details object class </xs:complextype> <xs:element name= Address type= AddressType /> <xs:complextype name= ResidenceAddressType > <xs:complexcontent> <xs:extension base= AddressType /> gets its semantics from a new ResidenceAddress. Details object class; same is true for OfficialAddressType </xs:complexcontent> </xs:complextype> <xs:element name= ResidenceAddress type= ResidenceAddressType /> gets referenced in PersonType and maybe other places too, picking up property-level additional semantics as it goes 36

Reusable code lists 37

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 Colors Pick one: 01=white 02=blue 03=red 04=green 05=yellow... Countries Pick one: AW=Aruba CA=Canada FR=France DE=Germany ZM=Zambia... 38

Options for formal representations of code lists Often the lists are merely maintained in text documents But formal encodings are immensely useful For example, as RDF ontologies or in the ebxml Registry Information Model s <ClassificationScheme> language In addition, UBL and other vocabularies that are consumers of code lists need them in XSD form for reasons of validation and semantic clarity 39

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 UBL Library UBL Library Colors Countries Pick one: Pick one: 01=white AW=Aruba 02=blue CA=Canada 03=red FR=France 04=green DE=Germany 05=yellow ZM=Zambia...... vs. Colors Pick one: 01=white 02=blue 03=red 04=green 05=yellow... Countries Pick one: AW=Aruba CA=Canada FR=France DE=Germany ZM=Zambia... 40

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, version, and so on 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 UBL Library ISO 3166 country codes 41

The native element is unique to that code list <CountryID> <ISO3166CountryCode attribs >FR</ISO3166CountryCode> </CountryID> The outer element is generic, while the inner element is specific 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 tight or loose, depending on what the code list producer wants to maintain over time: Enumerated list Pattern No constraints at all The unique attributes can be defaulted, or even fixed 42

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 wellknown code lists earlier validation of code values standardization of more code lists, and even subsetting and extension 43

Conclusion 44

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

Thanks! Questions? Eve Maler eve.maler@sun.com 46