Implementing UBL

66
Implementing UBL Mark Crawford UBL Vice Chair XML 2003 9 December 2003

Transcript of Implementing UBL

Page 1: Implementing UBL

Implementing UBL

Mark Crawford UBL Vice Chair

XML 2003

9 December 2003

Page 2: Implementing UBL

• UBL fulfils the promise of XML for business by defining a standard cross-industry vocabulary

• UBL is the ebXML missing link• UBL plus ebXML enables the next generation of

eBusiness exchanges– Cheaper, easier, Internet-ready– Extends benefits of EDI to small businesses– Fits existing legal and trade concepts– Allows re-use of data

• UBL can provide the XML payload for a wide variety of other web-based business frameworks

Why Are We Talking About UBL

Page 3: Implementing UBL

Overview

Making UBL Happen4

1 What and Why of UBL

The Design of UBL2

Summary6

5 UBL Phase 2

3

ebXML Core ComponentsNaming and Design RulesDocument EngineeringCustomizing UBL

The Content of UBL 1.0What is NormativeWhat is non-NormativeAvailability

Page 4: Implementing UBL

The promise of XML for e-business

• Plug ‘n’ play electronic commerce– Spontaneous trade– No custom programming

• Ubiquity on the Internet– Dirt-cheap tools– Complete platform independence– Enable true global market availability

• Enable universal interoperability – Abandon existing EDI systems– Handle both "publication" document types and

"transactional" documents

Page 5: Implementing UBL

Goals for Successful eBusiness Services

• Web-enable existing fax- and paper-based business practices

• Allow businesses to upgrade at their own pace• Preserve the existing investment in electronic

business exchanges• Integrate small and medium-size businesses

into existing electronic data exchange-based supply chains

The standardization of XML business documents is the easiest way to accomplish these goals.

Page 6: Implementing UBL

• anyML • anyML

Differences in tags & meanings

Differences in positions

Differences in informational content

XML For Interoperability???

Different information elements

Page 7: Implementing UBL

Can’t We Just Do It? W3C Specifications Documentation T ext Encoding Initiative (T EI) Channel Definition Format, CDF (Based on XML) RDF Rich Site Summary (RSS) Open Content Syndication (OCS) W3C Document Object Model (DOM), Level 1 Specification Web Collections using XML Meta Content Framework Using XML (MCF) XML-Data Namespaces in XML Resource Description Framework (RDF) Australia New Zealand Land Information Council (ANZLIC) - Metadata Alexandria Digital Library Project ATLA Serials Project (AT LAS) XML Metadata Interchange Format (XMI)-Object Management Group (OMG) OMG Common Warehouse Metadata Interchange (CWMI) Specification Object Management Group XML/Value RFP MDC Open Information Model (OIM) Educom Instructional Management Systems Project (IMS) Metadata Specification Structured Graph Format (SGF) Legal XML Working Group and UELP XML Court Interface (XCI) Georgia State University Electronic Court Fil ing Project Web Standards Project (WSP) HTML Threading - Use of HT ML in Email Open Software Description Format (OSD) XLF (Extensible Log Format) Initiative Apache XML Project WAP Wireless Markup Language Spec ification HTT P Distribution and Replication Protocol (DRP) Chemical Markup Language Molecular Dynamics [Markup] Language (MoDL) Bioinformatic Sequence Markup Language (BSML) BIOpolymer Markup Language (BIOML) Virtual Hyperglossary (VHG) Weather Observation Definition Format (OMF) Open Financial Exchange (OFX/OFE) Interactive Financial Exchange (IFX) FinXML - 'The Digital Language for Capital Markets ' Extensible Financial Reporting Markup Language (XFRML) Open T rading Protocol (OT P) Financial Products Markup Language (FpML) Mortgage Bankers Association of America XML Workgroup Digital Property Rights Language (DPRL) XML Digital Signature (Signed XML - IET F/W3C) Digital Receipt Infrastructure Initiative Digest Values for DOM (DOMHASH) Signed Document Markup Language (SDML) FIXML - A Markup Language for the FIX Application Message Layer Bank Internet Payment System (BIPS) smartX ['SmartCard'] Markup Language (SML) Real Estate T ransaction Markup Language (RETML) OpenMLS - Real Estate DT D Design ACORD - XML for the Insurance Industry Customer Profile Exchange (CPEX) Working Group Customer Support Consortium XML for the Automotive Industry - SAE J2008 XML.ORG - The XML Industry Portal X-ACT - XML Active Content Technologies Council Electronic Business XML Initiative (ebXML) Portal Markup Language (PML) EDGARspace Portal DII Common Operating Environment (COE) XML Regis try Open eBook Initiative Mathematical Markup Language OpenMath Standard

OpenTag Markup Metadata - PICS MIX - Mediation of Information Using XML CDIF XML-Based T ransfer Format Synchronized Multimedia Integration Language (SMIL) Precis ion Graphics Markup Language (PGML) Vector Markup Language (VML) WebBroker: Distributed Object Communication on the Web Web Interface Definition Language (WIDL) XML/EDI - Electronic Data Interchange XML/EDI Repository Working Group European XML/EDI Pilot Projec t EEMA EDI/EC Work Group - XML/EDI ANSI ASC X12/XML and DISA Information and Content Exchange (ICE) CommerceNet Industry Initiative eCo Interoperabil ity Framework Specification BizT alk Framework eCo Framework Project and Working Group Commerce XML (cXML) RosettaNet Open Catalog Protocol (OCP) vCard Electronic Business Card iCalendar XML DT D XML Encoded Form Values Capabili ty Card: An Attribute Certificate in XML T elecommunications Interchange Markup (T IM, TCIF/IPI) aecXML Working Group - Architecture, Engineering and Construction Product Data Markup Language (PDML) Product Definition Exchange (PDX) Electronic Component Information Exchange (ECIX) and Pinnacles Component Information Standard (PCIS) ECIX QuickData Specifications ECIX Component Information Dictionary Standard (CIDS) ECIX T iming Diagram Markup Language (TDML) Encoded Archival Description (EAD) UML eXchange Format (UXF) XML Data Binding Spec ification T ranslation Memory eXchange (T MX) P3P Syntax Specification Scripting News in XML InterX.org Initiative NuDoc T echnology Coins: T ightly Coupled JavaBeans and XML Elements DMT F Common Information Model (CIM) Universal Plug and Play Forum Process Interchange Format XML (PIF-XML) Ontology and Conceptual Knowledge Markup Languages XOL - XML-Based Ontology Exchange Language Procedural Markup Language (PML) QAML - T he Q&A Markup Language LACIT O Projet Archivage de données linguistiques sonores et textuelles [Linguistic Data Archiving Project] Astronomical Markup Language Astronomical Instrument Markup Language (AIML) GedML: [GEDCOM] Genealogical Data in XML Newspaper Association of America (NAA) - Standard for Classified Advertis ing Data 5.5 News Industry Text Format (NIT F) XMLNews: XMLNews-Story and XMLNews-Meta NewsML and IPT C2000 Notes Flat File Format (NFF) Java Help API Cold Fus ion Markup Language (CFML) Document Content Description for XML (DCD) XSchema

Document Definition Markup Language (DDML) WEBDAV (IETF 'Extensions for Distributed Authoring and Versioning on the Web') DAV Searching and Locating (DASL) Graphic Communications Assoc iation - GCA 'Paper' DT D DocBook XML DT D Tutorial Markup Language (TML) International Development Markup Language (IDML) Call Processing Language (CPL) Call Policy Markup Language (CPML) VoiceXML Forum (Voice Extensible Markup Language Forum) VoxML Markup Language Telephony Markup Language (TML) SABLE: A Standard for T ext-to-Speech Synthes is Markup Java Speech Markup Language (JSML) SpeechML TalkML XML and VRML (Virtual Reality Modeling Language) - X3D XML for Workflow Management [NIST ] SWAP - Simple Workflow Access Protocol XML-Based Process Management Standard: Wf-XML Theological Markup Language (T hML) LitML: A Liturgical Markup Language XML-F ('XML for FAX') Extensible Forms Description Language (XFDL) XML Forms Archi tecture (XFA) Broadcas t Hypertext Markup Language (BHT ML) IEEE LTSC XML Ad Hoc Group IEEE Standard DTD Open Settlement Protocol (OSP) - ETSI/T IPHON Directory Services Markup Language (DSML) WDDX - Web Distributed Data Exchange Business Rules Markup Language (BRML) Common Business Library (CBL) Open Applications Group - OAGIS Schema for Object-oriented XML (SOX) XMLT P.Org - XML T ransfer Protocol The XML Bookmark Exchange Language (XBEL) Simple Object Definition Language (SODL) and XMOP Service Simple Object Access Protocol (SOAP) XML and Music Cl inical T rial Data Model Human Resource Management Markup Language (HRMML) HR-XML Consortium XML-HR Initiative - Human Resources ECMData - Electronic Component Manufacturer Data Sheet Inventory Specification Bean Markup Language (BML) The Koala Bean Markup Language (KBML) J igsaw XML Format (JXML) Chinese XML Now! MOS-X (Media Object Server - XML) FLBC (Formal Language for Bus iness Communication) and KQML ISO 12083 XML DTDs Extensible User Interface Language (XUL) User Interface Markup Language (UIML) Process Specification Language (PSL) and XML XML DTD for Phone Books Us ing XML for RFCs Schools Interoperability Framework (SIF) Guideline XML (gXML) Extensible Protocol XML Belief Network File Format (Bayesian Networks) Predictive Model Markup Language (PMML) The Data Documentation Initiative (DDI) XML and CORBA

Page 8: Implementing UBL

The Role of a Hub Format

Page 9: Implementing UBL

Why UBL?• Leverages knowledge from existing EDI and XML

B2B systems• Applies across all industry sectors and domains of

electronic trade (80/20 rule)• Fully leverages XML• Provides the ebXML missing link:

– XML Payload +ebXML CCTS +modelling methodology

• Non-proprietary and committed to freedom from royalties

• On track to become international standard for trade through ISO TC154

Page 10: Implementing UBL

Overview

Making UBL Happen4

1 What and Why of UBL

The Design of UBL2

Summary6

5 UBL Phase 2

3

ebXML Core ComponentsNaming and Design RulesDocument EngineeringCustomizing UBL

The Content of UBL 1.0What is NormativeWhat is non-NormativeAvailability

Page 11: Implementing UBL

UBL and the ebWS stack

Packaging/transport

Business processes

Business agreements

Standard messages

Message contextualization

}WebServices

Messagepresentation

ebXM

L R

egis

try/

Rep

osito

ryUBL Formatting Specs

Core ComponentsUBL Library

Context MethodologyUBL Context Methodology

ebXML CPPA

ebXML BPSS

ebMS

}UBL

Page 12: Implementing UBL

ebXML Core Components

•A set of the lowest common denominator that captures information about a real world (business) concept

•Core Components are neutral– in the notation for every kind of industry– in the syntax for every kind of business document

standard or implementation

Page 13: Implementing UBL

ebXML Core Components

• Reusable pieces (objects) of contents that can be atomic or aggregate– Enables interoperability among different industry domains

and areas– Are using common semantic units at any level consistent

across context– Hold any related information together and avoiding

fragmented semantic dispersal– Facilitate multilingual support

• Accompanied by methodology for extensibility– Enable users to define meaningful business and process

data– Ensure maximum interoperability

Page 14: Implementing UBL

The Core Components Specification Follows ISO 11179

• This is basic object-oriented “good stuff”

Object class

Property 1: representation 1Property 2: representation 2Property 3: representation 3Property 4: representation 4

Address

Street: textPost code: textTown: textCountry: identifier

ISO 11179 governs data dictionaries:defines the notions of object class, property, and representation term

Page 15: Implementing UBL

The ebXML CCTS system

Core Component Type ( CCT)

ContentComponent

Supplementary Component

Basic Core Component

Aggregate Core Component

Data Type

Consists of

Consists of

1

1-n

Specif iesrestrict ions on

Def ines setof values of

Without businesssemantics

With known businesssemantics

Association CoreComponent Prov ides a simple

characteristic of and isaggregated in

Prov ides a complexcharacteristic of and is

aggregated in

Page 16: Implementing UBL

A s Propert yA ggregated

in

As Propert yAggregated

in

C oreC omponentType (CC T)

Basi c C ore C omponent

Aggregat e C ore C omponent

Associa t ionC ore

C omponent

Data Type

S pecif iesrest ric t ions on

Def ines setof values of

Basi c Business Information Ent ity

Aggregat e Busi ness Informat ionEnti ty

Associat ionBusiness

In formati onEnti ty

Message A ssembly

AssemblyC omponent

Qualif ies theObject Class

of

I sbased

on

Isbased

on

Core Business

Core Component Library

A ddsext ra information

Data TypeFurtherrest ric ts

Ag

gre

ga

ted

in

A ggregatedin

Def ines setof values of

Applying Business Context

Page 17: Implementing UBL

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

A building block for theexchange of

semantically correct andmeaningful information

Core Component(CC)

Business InformationEntity (BIE)

A CC to which a businesscontext has been applied

apply business context:business process

product classificationindustry classification

geopolitical regionofficial constraint

business process rolesupporting role

system capabilitites

Page 18: Implementing UBL

Overview

Making UBL Happen4

1 What and Why of UBL

The Design of UBL2

Summary6

5 UBL Phase 2

3

ebXML Core ComponentsNaming and Design RulesDocument EngineeringCustomizing UBL

The Content of UBL 1.0What is NormativeWhat is non-NormativeAvailability

Page 19: Implementing UBL

NDR Requirements

• 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

Page 20: Implementing UBL

Mapping CCTS to

XSD

Core Component Type(CCT)

Specifiesrestrictionson

Data Type(DT)

Basic Core Component(BCC)

Aggregate Core Component(ACC)

Association Core Component(ASCC)

Defines asetof values of

AssPropertyaggregatedin

Furtherrestricts

Isbased

on

Isbased

on

Qualifies theObject Class

of

xsd:complexType

xsd:complexType

xsd:complexType xsd:element

xsd:complexType xsd:element

xsd:element

Data Type(DT)

Basic Business InformationEntity (BBIE)

Aggregate Business InformationEntity (ABIE)

Association BusinessInformation Entity (ASBIE)

Defines asetof values of

AssPropertyaggregatedin

Message Assembly

AssemblyComponent

Addsextrainformation

Aggregatedin

Aggregatedin

Core Component Library

AsRepresentationTerm

AsRepresentationTerm

Page 21: Implementing UBL

Some Major Design Rules

• The choice of normative schema language - XSD

• Garden of Eden design approach– Named Types– Global Elements for all aggregate and leaf elements

except:• Local Elements for Identifiers and Codes

• Naming and construction of elements, attributes, and types

• Modularity, namespaces, and versioning • Embedded schema documentation• Handling code lists (preliminary)

Page 22: Implementing UBL

A Taste Of The Naming Rules

• Dictionary entry names are fully qualified with object class names

• But using these full names would result in hundreds of extra elements

• We get reusability by allowing properties (elements) to “inherit” parent object classes (types), XPath-style– Delivery schedule IDs and order IDs could both be

called <ID>– Each would be identifiable by means of //Order/ID and

//DeliverySchedule/ID respectively

• Use of abbreviations and acronyms is severely limited

Page 23: Implementing UBL

UBL Namespaces

File

SchemaModuleControlSchema

Namespace

InternalSchemaModule

1 1 1 1

1

-included

0..*

W3C XML Schema

ExternalSchemaModule

1

-imported 4..*

{In same namespaceas ControlSchema}

{In different namespacethan ControlSchema}

Shaded area isa "schema set". The four required

namespaces are(represented bytheir prefixes):dt, rt, cbc, cac.

Page 24: Implementing UBL

UBL – Building the Control Schema ExternalSchemaModule

CAC

CodeList

CTRTRTDTCBC

1

-imports 0..*1

-imports

0..*

1 1 1

CBC: Common Basic ComponentsCAC: Common Aggregate ComponentsDT: DataTypesRT: RepresentationTerms (not CodeTypes)CTRT: CodeTypeRepresentationTerms

CBC, CAC, DT, RT, and CodeListschema modules are imported byControlSchema. CTRT is not.

Page 25: Implementing UBL

Reusing Components

Across Control

Schemas

...:invoice:1:0

urn:oasis:names:specification:ubl:schema:order:1:0

Order

Invoice

CommonBasic

Components

CommonAggregate

Components

DataTypes

Represent-ation

Terms

...:commonbasiccomponents:1:0

...:commonaggregatecomponents:1:0

...:commonaggregatecomponents:1:0

...:representationterms:1:0

import

include

x:y:z namespace

Control Schema

Internal Schema Module

External Schema Module

Legend

Page 26: Implementing UBL

Code Lists

• UBL will seek to import external datatype definitions in conventional XSD form– Validation– Clarity

• We are developing a schema for promotion as an international standard

• We hope to promote a global code list marketplace

Page 27: Implementing UBL

Overview

Making UBL Happen4

1 What and Why of UBL

The Design of UBL2

Summary6

5 UBL Phase 2

3

ebXML Core ComponentsNaming and Design RulesDocument EngineeringCustomizing UBL

The Content of UBL 1.0What is NormativeWhat is non-NormativeAvailability

Page 28: Implementing UBL

Document Engineering

• A new discipline for designing electronic document structures

• Applicable to Internet information exchange mechanisms to request or return the results of business processes (aka Web Services).

• Consolidates document and data-centric perspectives

• Provides analysis and design methods that yield formal models

• UBL has developed these models for a common business process – procurement.

Page 29: Implementing UBL

Business Operations View

Functional Service view

The Real World

Limited interoperability

Messages/Documents

Analysis

UML and spreadsheets

Schemas

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

<BuyerParty>

<Party>

<NameAddress>

<Name1>ABC Enterprises</Name1>

<Name2>Global Services</Name2>

<POBox POBoxPostalCode="249"/>

<PostalCode>20012</PostalCode>

<City>Alpine</City>

<Region><RegionCoded>USNY</RegionCoded> </Region>

</NameAddress>

</Party>

</BuyerParty>

XML Schema Libraries

EDI Message Definitions

Database Schemas

Business Document

Models

Conceptual models showing all possible associations

UBL Analysis

Page 30: Implementing UBL

A Conceptual 'Item'

Page 31: Implementing UBL

• Create document model(s)–structures are assembled from

conceptual model components into hierarchies

–pathways based on context/business rules

• Implementing document model(s)–assembled document tree models can

easily map to schema languages–UBL automates this for XML XSD

Designing Document Models

Page 32: Implementing UBL

Business Operations View

Functional Service view

Limited interoperability

Analysis

DesignUML and spreadsheets

Schemas

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

<BuyerParty>

<Party>

<NameAddress>

<Name1>ABC Enterprises</Name1>

<Name2>Global Services</Name2>

<POBox POBoxPostalCode="249"/>

<PostalCode>20012</PostalCode>

<City>Alpine</City>

<Region><RegionCoded>USNY</RegionCoded> </Region>

</NameAddress>

</Party>

</BuyerParty>

XML Schema Libraries

EDI Message Definitions

Database Schemas

Business Document

ModelsDocuments structures are assembled from 'network’ ofcomponents into document

models

UBL Design

Page 33: Implementing UBL

The 'Item' BIE model

Page 34: Implementing UBL

Business Operations View

Functional Service view

The Real World

Limited interoperability

Messages/Documents

Analysis

DesignUML and spreadsheets

Schemas

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

<BuyerParty>

<Party>

<NameAddress>

<Name1>ABC Enterprises</Name1>

<Name2>Global Services</Name2>

<POBox POBoxPostalCode="249"/>

<PostalCode>20012</PostalCode>

<City>Alpine</City>

<Region><RegionCoded>USNY</RegionCoded> </Region>

</NameAddress>

</Party>

</BuyerParty>

XML Schema Libraries

EDI Message Definitions

Database Schemas

Business Document

Models

Schema componentry based on UBL

Naming and Design rules

UBL Encoding

Implem

entation

UBL script does this automatically

Page 35: Implementing UBL

EbXML CC names to XML tag names• Remove redundant and nearly

redundant words in the property field (as in *. Identification. Identifier)

• Remove periods, spaces, and underscores

• When the representation term is “Text”, remove it

• Remove the object class name on properties, as the XML parent labels it sufficiently

• These are applied automatically by the schema generator

ItemType

DescriptionPackQuantityBuyersItemIdentificationSellersItemIdentification

Item. DetailsItem. Description. TextItem. Pack. QuantityItem. Buyers_ Item IdentificationItem. Sellers_ Item Identification

Page 36: Implementing UBL

A UBL Schema fragment

<xsd:complexType name="ItemType"><xsd:annotation><xsd:documentation><ccts:Component><ccts:CategoryCode>ABIE</ccts:CategoryCode><ccts:DictionaryEntryName>Item. Details</ccts:DictionaryEntryName><ccts:Definition>Information directly relating to an item </ccts:Definition><ccts:ObjectClass>Item</ccts:ObjectClass><ccts:PropertyTerm>Details</ccts:PropertyTerm><ccts:RepresentationTerm>Details</ccts:RepresentationTerm><ccts:BusinessTerm>article,product,goodsitem</ccts:BusinessTerm></ccts:Component></xsd:documentation></xsd:annotation><xsd:sequence><xsd:element ref="Description" minOccurs="0">.........

Page 37: Implementing UBL

Business Operations view

Functional Service view

The Real World

Limited interoperability

Messages/Documents

Analysis

DesignUML and spreadsheets

Schemas

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

<BuyerParty>

<Party>

<NameAddress>

<Name1>ABC Enterprises</Name1>

<Name2>Global Services</Name2>

<POBox POBoxPostalCode="249"/>

<PostalCode>20012</PostalCode>

<City>Alpine</City>

<Region><RegionCoded>USNY</RegionCoded> </Region>

</NameAddress>

</Party>

</BuyerParty>

XML Schema Libraries

EDI Message Definitions

Database Schemas

Business Document

Models

UBL Implementation

Implem

entation

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

<BuyerParty>

<Party>

<NameAddress>

<Name1>ABC Enterprises</Name1>

<Name2>Global Services</Name2>

<POBox POBoxPostalCode="249"/>

<PostalCode>20012</PostalCode>

<City>Alpine</City>

<Region><RegionCoded>USNY</RegionCoded> </Region>

</NameAddress>

</Party>

</BuyerParty>

Final presentation is application dependent (e.g. Stylesheet)

Greater interoperability

Page 38: Implementing UBL

Overview

Making UBL Happen4

1 What and Why of UBL

The Design of UBL2

Summary6

5 UBL Phase 2

3

ebXML Core ComponentsNaming and Design RulesDocument EngineeringCustomizing UBL

The Content of UBL 1.0What is NormativeWhat is non-NormativeAvailability

Page 39: Implementing UBL

• Applying a different context to the use of the schemas, e.g.– Adding Japanese accounting requirements to the

UBL 'Payment' structure when used in Invoice.– Re-using UBL components

• Using UBL with other vocabularies, e.g.– RosettaNet, OAG– EDIFACT, ANSI X12– Proprietary formats

Customizing Means

Page 40: Implementing UBL

• Schema compatibility• My schema for UBL Invoice still parses the Japanese one• UBL Context Methodology

• Syntax compatibility • I need your schema but my application understands the

structure used• We share the same NDRs for XML

• Semantic compatibility• Whatever you call the component I can understand what

it means and can map it to my application• We share ebXML “syntax-independent” core components

Levels of Interoperability

Page 41: Implementing UBL

Business Operations view

Functional Service view

The Real World

Limited interoperability

Messages/Documents

Analysis

DesignUML and spreadsheets

Schemas

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

11. Modeling E-business Documents and Processes

Copyright © 2002 Robert J. GlushkoSIMS 290-4, 26 February 2002

1. Plan for Today's Class•What is a 'model'?•What is a 'metamodel'?•Why do modeling?•Disciplines for modeling•Just enough UML•XML as a modeling notation

<BuyerParty>

<Party>

<NameAddress>

<Name1>ABC Enterprises</Name1>

<Name2>Global Services</Name2>

<POBox POBoxPostalCode="249"/>

<PostalCode>20012</PostalCode>

<City>Alpine</City>

<Region><RegionCoded>USNY</RegionCoded> </Region>

</NameAddress>

</Party>

</BuyerParty>

XML Schema Libraries

EDI Message Definitions

Database Schemas

Business Document

Models

Levels of Re-use

Implem

entation

Schema Level

Syntax Level

Semantic Level

Page 42: Implementing UBL

Context Methodology• Defines how document formats can be

extended based on specific trading partner characteristics

• Takes ebXML context drivers (8 space) and context rules as starting point:– Business Process, Product Classification, Industry

Classification, Geopolitical, Official Constraints, Business Process Role, Supporting Role,System Capabilities

• Builds on experience with OO extension methodology, but will be– More structured– More consistent– Easier to track– Easier to automate– Require a lower level of skill

Page 43: Implementing UBL

Overview

Making UBL Happen4

1 What and Why of UBL

The Design of UBL2

Summary6

5 UBL Phase 2

3

ebXML Core ComponentsNaming and Design RulesDocument EngineeringCustomizing UBL

The Content of UBL 1.0What is NormativeWhat is non-NormativeAvailability

Page 44: Implementing UBL

Normative Schemas• W3C XML Schema (XSD) modules

– Schema of re-usable Types• Party, Address, Item, Tax, etc

– Schemas for ebXML Core Component Types• Core Component Types, Representation Terms

and Data Types– Schemas for documents:

• Order, Order Change, Order Cancellation, Order Response(simple), Order Response(complex), Despatch Advice, Receipt Advice, Invoice

– Schemas for Code Lists(enumerations)• For each UBL code type• Currently all “placebo”s

Page 45: Implementing UBL

xsd/maindoc/UBL-Order-1.0-beta.xsd

xsd/common/UBL-Reusable-1.0-beta.xsd

xsd/codelist/use/UBL-CodeList-DocumentStatusCode-Use-1.0-beta.xsd

xsd/common/UBL-RepresentationTerms-1.0-beta.xsd

Release Schema Structure

xsd/common/UBL-CoreComponentTypes-1.0-beta.xsd

Refers to the common UBL Library in...

The control document schema in...

That uses data types defined in...

That extends data types defined in...

Any of these may refer to a list of code values defined in...

Page 46: Implementing UBL

Normative Business Process• Tied to document types used in schemas

– Basic Order-to-Invoice – Defines business rules/constraints for document use– 80/20 rule applies

Page 47: Implementing UBL

Non-Normative Data Models

• Conceptual Model– UML (design format)– Party, Address, Item, Tax, etc...– "Candidate” ebXML Core Components

• Document Models– Spreadsheets (maintenance format)– Assembled from conceptual model components (Re-

usable Types)– Order, Order Change, Order Cancellation, Order

Response(simple), Order Response(complex), Despatch Advice, Receipt Advice, Invoice

– Apply UBL naming rules by formulae

Page 48: Implementing UBL

Other Non-Normative Deliverables• Checklist of UBL naming and design rules• Tool(s) for generating the schemas• Additional modelling views:

– Implementation view UML (actual schema structure)– ASN.1 schema– RELAX NG schema(?)

• Forms presentation mappings for developing style sheets, etc.

• Sample XML instances and outputs• Usage documentation

Page 49: Implementing UBL

Package Availability

• HTML, PDF and OpenOffice document formats

Available at:http://www.oasis-open.org/committees/ubl/lcsc/UBLv1-beta

Page 50: Implementing UBL

Overview

Making UBL Happen4

1 What and Why of UBL

The Design of UBL2

Summary6

5 UBL Phase 2

3

ebXML Core ComponentsNaming and Design RulesDocument EngineeringCustomizing UBL

The Content of UBL 1.0What is NormativeWhat is non-NormativeAvailability

Page 51: Implementing UBL

UBL Status• November 2003

– UBL 1.0 beta (Committee Draft) for pilot implementation– Feedback essential to prove the specification

• January 2004– UBL NDR 1.0 Committee Draft

• February 2004– UBL 1.0 & UBL NDR 1.0 Committee Draft to OASIS for

approval

• March/April 2004– UBL 1.0 & UBL NDR 1.0 become OASIS Technical

Specification– UBL 1.0 and UBL NDR 1.0 Fast Tracked to ISO TC154

• UBL is at a watershed– 1.0 Library is complete(almost!)– Planning for UBL 2.0 starts now!– Customizing UBL for other contexts

Page 52: Implementing UBL

UBL Technical SubcommitteesCMSC

Context Methodology SC

Develops a methodology and tools for applying

context.

CDSCContext Drivers SC

Works on improvement and further development

of the context drivers.

TTSCTools and Techniques SCEvaluates and recommends the tools and

techniques for development, maintenance

and revision

NDRSCNaming and Design Rules SC

Develops guidelines for normative-form schema design, instance design,

and markup naming,

LCSCLibrary Content SCDefines business

documents and a library of XML and ebXML CCTS based building blocks

CNLSCChinese Localization SC

CLSCCode List SC

JPLSCJapanese Localization SC

Customization/Implementation of UBL in

the Japanese market

Customization/Implementation of UBL in

the Chinese market

Work with NDR/LC to finalize and institutionalize

UBL Code List solution

FPSCForms Presentation SC

Develops and documents formal technology-

agnostic Formatting Specifications

Page 53: Implementing UBL

UBL Technical SubcommitteesCMSC

Context Methodology SC

Develops a methodology and tools for applying

context.

CDSCContext Drivers SC

Works on improvement and further development

of the context drivers.

TTSCTools and Techniques SCEvaluates and recommends the tools and

techniques for development, maintenance

and revision

NDRSCNaming and Design Rules SC

Develops guidelines for normative-form schema design, instance design,

and markup naming,

LCSCLibrary Content SCDefines business

documents and a library of XML and ebXML CCTS based building blocks

CNLSCChinese Localization SC

CLSCLiaison SC

JPLSCJapanese Localization SC

Customization/Implementation of UBL in

the Japanese market

Customization/Implementation of UBL in

the Chinese market

Work with NDR/LC to finalize and institutionalize

UBL Code List solution

FPSCForms Presentation SC

Develops and documents formal technology-

agnostic Formatting Specifications

Page 54: Implementing UBL

UBL Technical SubcommitteesCMSC

Context Methodology SC

Develops a methodology and tools for applying

context.

CDSCContext Drivers SC

Works on improvement and further development

of the context drivers.

TTSCTools and Techniques SCEvaluates and recommends the tools and

techniques for development, maintenance

and revision

NDRSCNaming and Design Rules SC

Develops guidelines for normative-form schema design, instance design,

and markup naming,

LCSCLibrary Content SCDefines business

documents and a library of XML and ebXML CCTS based building blocks

CNLSCChinese Localization SC

CLSCLiaison SC

JPLSCJapanese Localization SC

Customization/Implementation of UBL in

the Japanese market

Customization/Implementation of UBL in

the Chinese market

Work with NDR/LC to finalize and institutionalize

UBL Code List solution

FPSCForms Presentation SC

Develops and documents formal technology-

agnostic Formatting Specifications

Implementation SCMonitor UBL-Dev and coordinate with other

technical SC’s for responseCollate issues discovered and convey them to the

appropriate SC for action

Page 55: Implementing UBL

UBL Administrative Subcommittees

MSCMarketing SC

LSCLiaison SC

ASCAdministration SCAdministrates and

coordinates the UBL efforts

Does marketing and promotion for the UBL

effort

Organizes liaisons with other organizations.

Page 56: Implementing UBL

APACSBoeingCommerce OneDanish Bankers AssociationFrance TelecomGeneral ElectricGovernment of Hong KongGovernment of KoreaHPIntuitKPMGLMI

Northrup GrummanOraclePricewaterhouseCoopersSAPSeeBeyondSterling CommerceSun MicrosystemsUCB Center for Document

EngineeringUK Cabinet OfficeUnited Parcel ServiceU.S. GSAU.S. NavyVisa International

Some UBL Participants

Page 57: Implementing UBL

• As a non-profit cross-industry effort, UBL depends on expert domain input to “get it right”

• We actively solicit industry and standards liaisons

• Organizations appoint representatives to the UBL Liaison Subcommittee– If the organization is not an OASIS member, an individual

representative joins at USD 250/year– Telcons are held frequently– Liaisons arrange for specification reviews

The Value of Joining Forces

Page 58: Implementing UBL

• ACORD (insurance)• ARTS (retail sales)• ebXML Asia Committee

(ebXML)• e.centre (EAN UK)• EIDX (electronics)• HL7 (healthcare)• Information Technology

Standards Committee of Singapore

• NACS (convenience stores)• Open Applications Group

• RosettaNet (information technology)

• SWIFT (banking)• UIG (utilities)• VCA (optical supplies)• XBRL (accounting)• ASC X12 COTG• UN/CEFACT TBG• UN/CEFACT ATG• OASIS eGov TC• OASIS CIQ TC

Formal Liaisons (so far)

Page 59: Implementing UBL

Overview

Making UBL Happen4

1 What and Why of UBL

The Design of UBL2

Summary6

5 UBL Phase 2

3

ebXML Core ComponentsNaming and Design RulesDocument EngineeringCustomizing UBL

The Content of UBL 1.0What is NormativeWhat is non-NormativeAvailability

Page 60: Implementing UBL

Basic UBL Documents

• Procurement– Purchase Order, P.O. Response, P.O. Change

• Materials management– Advance Ship Notice, Planning Schedule, Goods Receipt

• Payment– Commercial Invoice, Remittance Advice

• Transport/logistics– Consignment Status Request, Consignment Status Report,

Bill of Lading

• Catalogs– Price Catalog, Product Catalog

• Statistical reports– Accounting Report

Page 61: Implementing UBL

Expand The Library

• Fill in basic list• Add new work areas

– Tax– Customs– Government– Other

Page 62: Implementing UBL

Work the Customization Methodology

• Move forward with Context Methodology• Develop routines to automatically apply

context and auto-generate UBL conformant contextualized schemas

Page 63: Implementing UBL

Overview

Making UBL Happen4

1 What and Why of UBL

The Design of UBL2

Summary6

5 UBL Phase 2

3

ebXML Core ComponentsNaming and Design RulesDocument EngineeringCustomizing UBL

The Content of UBL 1.0What is NormativeWhat is non-NormativeAvailability

Page 64: Implementing UBL

UBL Offers Important and Interesting Solutions

• As a B2B standard:– It is user-driven, with deep experience and

partnership resources to call on– It is committed to truly global trade and

interoperability– Its process is open and transparent

• As a Web Service interface:– It can be layered on existing standards– It is providing the 'missing link'; content

• As an e-business vocabulary:– 80/20 plus customisation

Page 65: Implementing UBL

Where To Find More Information

• OASIS UBL TC– http://www.oasis-open.org– White papers, presentations, and specifications are

available– All mailing list archives are open to public view

• For ebXML: http://www.ebxml.org• For ebXML Core Components:

<chair: [email protected]><editor: [email protected]>

• For LMI’s work for US Government Agencies: http://www.lmi.org

• For LMI’s XML work: <[email protected]>

Page 66: Implementing UBL

Thanks! Questions?