Customization Discussion Revised 29 August 2007. Guidelines for Customization Introduction Design For conformance For compatibility Specification Using.

Slides:



Advertisements
Similar presentations
Advanced Data Modeling
Advertisements

Copyright © Open Applications Group, Inc. All rights reserved 11 David Connelly CEO, Open Applications Group,
SRDC Ltd. 1. Problem  Solutions  Various standardization efforts ◦ Document models addressing a broad range of requirements vs Industry Specific Document.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 6 Advanced Data Modeling.
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 5 Advanced Data Modeling.
Database Systems: Design, Implementation, and Management Tenth Edition
Chapter 6 Advanced Data Modelling
BIS Database Systems School of Management, Business Information Systems, Assumption University A.Thanop Somprasong Chapter # 6 Advanced Data Modeling.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3 The Basic (Flat) Relational Model.
Introduction to XLink Transparency No. 1 XML Information Set W3C Recommendation 24 October 2001 (1stEdition) 4 February 2004 (2ndEdition) Cheng-Chia Chen.
Lecture 14 XML Validation. a simple element containing text attribute; attributes provide additional information about an element and consist of a name.
Sunday, June 28, 2015 Abdelali ZAHI : FALL 2003 : XML Schemas XML Schemas Presented By : Abdelali ZAHI Instructor : Dr H.Haddouti.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
1 1 Roadmap to an IEPD What do developers need to do?
NIEM-UML Profile Justin Stekervetz, NIEM PMO
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.
Lecture 15 XML Validation. a simple element containing text attribute; attributes provide additional information about an element and consist of a name.
National Institute of Standards and Technology 1 Testing and Validating OAGi NDRs Puja Goyal Salifou Sidi Presented to OAGi April 30 th, 2008.
Using the Universal Business Language for Internet Paperless Trading by Tim McGrath APEC Symposium on ebXML Bangkok, Thailand, July
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3 The Relational Data Model and Relational Database Constraints.
Federal XML Naming and Design Rules and Guidelines Paul Macias.
Federal XML Naming and Design Rules and Guidelines Paul Macias.
Profiling Metadata Specifications David Massart, EUN Budapest, Hungary – Nov. 2, 2009.
1 © Netskills Quality Internet Training, University of Newcastle Introducing XML © Netskills, Quality Internet Training University.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
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.
NIEM Blue Team Presentation April 20, 2010 Phil Letowt, Mini Kanwal, Ken Sall, David Webber ICE OCIO / Task ASAS ICE Information Exchange Reuse with NIEM.
1 Quick Guide to CAM Dictionaries Building and using Canonical XML dictionaries for CAM (CAM – Content Assembly Mechanism Specification) Author: David.
Developing a common set of federal NDR’s Mark Crawford Draft April 28, 2005.
Processing of structured documents Spring 2002, Part 2 Helena Ahonen-Myka.
February 2006UNeDocs Overview Michael Dill / GEFEG mbHSlide 1 What is this specific TBG2 project about? What is CEFACT TBG2 ‚ Digital Paper? What is the.
SDMX Standards Relationships to ISO/IEC 11179/CMR Arofan Gregory Chris Nelson Joint UNECE/Eurostat/OECD workshop on statistical metadata (METIS): Geneva.
Conformance Mark Skall Lynne S. Rosenthal National Institute of Standards and Technology
ISURF -An Interoperability Service Utility for Collaborative Supply Chain Planning across Multiple Domains Prof. Dr. Asuman Dogac METU-SRDC Turkey METU.
Federal XML Naming and Design Rules and Guidelines Mark Crawford.
Development Process and Testing Tools for Content Standards OASIS Symposium: The Meaning of Interoperability May 9, 2006 Simon Frechette, NIST.
JCC BP and CC Getting Started! Joint Core Components Business Process and Core Components Getting Started!
Address Levels Business Use Alignment. Introduction Objective is to provide layers of address granularity tailored to business use Address use levels.
Chapter 8 Data Modeling Advanced Concepts Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition.
New Perspectives on XML, 2nd Edition
1 Relational Databases and SQL. Learning Objectives Understand techniques to model complex accounting phenomena in an E-R diagram Develop E-R diagrams.
An OO schema language for XML SOX W3C Note 30 July 1999.
Leveraging SET, OWL, CAM and Dictionary based tools to enabled automated cross-dictionary domain translations David Webber OASIS SET TC / CAM TC (with.
Conceptual Data Modelling for Digital Preservation Planets and PREMIS Angela Dappert.
© D. Wong Ch. 2 Entity-Relationship Data Model (continue)  Data models  Entity-Relationship diagrams  Design Principles  Modeling of constraints.
Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009.
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
EAN.UCC Implementation of ebXML Pere Rosell, AECOC - EAN Spain Melanie Kudela, UCC May 2002.
Technical Track Update Mavis Cournane, Chair Hong Kong Plenary 14 May 2004.
CSE314 Database Systems Lecture 3 The Relational Data Model and Relational Database Constraints Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson.
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.
CEN/ISSS eBIF GTIB Project Meeting, Brussels Mar , 2009 CEN/ISSS eBIF GTIB Project Meeting, Brussels 1 CEN/ISSS eBIF Global eBusiness Interoperability.
XML Validation. a simple element containing text attribute; attributes provide additional information about an element and consist of a name value pair;
Manufacturing Systems Integration Division Development Process and Testing Tools for Content Standards Simon Frechette National Institute of Standards.
July 11, 2008OASIS SET TC OASIS Semantic Support for Electronic Business Document Interoperability (SET) TC Overview.
Methodology - Logical Database Design. 2 Step 2 Build and Validate Local Logical Data Model To build a local logical data model from a local conceptual.
Logical Database Design and the Rational Model
Methodology Logical Database Design for the Relational Model
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
UML to XSD.
UML Class Diagrams: Basic Concepts
Information Systems Advisory Body GJXDM User Conference - June, 2005
Context Methodology SC
M2AP Methodology For Message Assembly Profile Improving traceability, reusability and instance interoperability in CIM XML message content schema design.
Presentation transcript:

Customization Discussion Revised 29 August 2007

Guidelines for Customization Introduction Design For conformance For compatibility Specification Using UBL 1.0 Context Methodology Using Schema Subset Schema Using UBLExtension Using XPath Validation Identifying customizations Validating documents conform to the required model.

Definitions: Customization Customization: To alter something in order to better fit actual requirements. UBL Customization: The description of XML instances, or XML- based applications acting on those instances, that are somehow based on or derived from the UBL 2.0 specification. The goal is to maximize interoperability so that all parties understand the meaning of information in the documents being exchanged.

When to Customize Decision is whether to use UBL as-is or modify to satisfy additional requirements. Historically, businesses have not been given a satisfactory off-the-shelf solution. Although, for many, UBL will suit that need, there will still be those who have additional requirements that are not met. The decision is driven by real world needs balanced against perceived economic benefits.

Definitions: Conformance Instances: An XML instance is considered UBL conformant if there are no constraint violations when validating the instance against a published UBL schema. Systems: Producer The system will produce an instance that will validate against any UBL schema whose minor version number (within the indicated major range) is equal to or greater than the version to which the system claims conformance. Consumer The system will accept instances that validate against any UBL schema whose minor version number (within the indicated major range) is equal to or less than the version to which the system claims conformance.

Definitions: Compatibility To be consistent or in keeping with the principles behind UBL's models and/or their development. While we cannot expect automatic conformance and interoperability of these customized documents we can expect some degree of familiarity through the re-use of common patterns.

DESIGN

Design for Conformance All schema-valid instances of a conformant customization are simultaneously schema-valid instances of UBL. But not the other way around. Conformance design only allows for restrictions: Subsets of the document model. Constraints on document content.

Subsets of the Document Model If all information entities within a UBL Order were instantiated in a single document, we would find approximately 800,000 elements. Applications may not wish to process this massive structure. Subsets remove from the document model any optional information entities that are not needed to satisfy business requirements. Subsets cannot reduce the permitted minimum number of occurrences or extend the permitted maximum number of occurrences can become 1..1, or 0..0 (not used) 0..n can become 0..1, 1..n, or 0..0 (not used) 1..n can become cannot be restricted

Constraints on Document Content Some requirements involve additional constraints on the value space of information entities. "The Total Value of an Order cannot exceed $100,000“ "The Currency Code should be expressed using ISO 4217 codes". There may also be rules about dependencies between values of components "The Shipping Address must be the same as the Billing Address“ "The Start Date must be earlier than the End Date“ Code lists or enumerated lists of possible values are a common form of value constraints.

Designing for Compatibility All schema-valid instances of a compatible customization are not schema-valid instances of UBL. But may be the other way around. Compatible design only allows for extensions (supersets) Adding to the model any information entities that are needed to satisfy business requirements.

Design Criteria for Compatibility Re-use UBL Patterns: Re-use Information Entities. Re-use Datatypes. Use UBL principles for new BIEs: Normalize aggregates. Base on component model. Re-use patterns. Use ebXML CCTS. Use UBL NDR for any schema.

Possible Extensions New BBIEs Original Data Types New Data Types New ASBIEs New ABIEs By inclusion of UBL By association with UBL New document types New assemblies

New Document type New ABIE New BBIE (or ASBIE) The Customization Ripple Effect New Data Type Drop a change into any point and it ripples out NB Wavelength equates to precision of context of use.

A customized ABIE means creating a new ABIE. Customizing a BBIE creates a new ABIE Customizing a Data Type creates a new BBIE Customizing an ASBIE creates a new ABIE Any new ABIE means a new document type. The Customization Ripple Effect

The Atomic Rule The ripple effect creates “the Atomic Rule”… All UBL ABIEs must be treated as if each is a single, indivisible entity, conveying its unique structure, assigned meanings and identity as described by its schema. This applies recursively down through each and every constituent ASBIE, BBIE, and Data Type used. Applications must know what to expect. e.g. A UBL “Address” is always the same structure.

Re-using ABIEs by Association If the required aggregation has the same structure as an existing ABIE. New Association (ASBIE) with the existing ABIE. Just different context of use. Use qualifying terms to describe the role. For example, Address Re-used in contexts such as Postal_ Address, Delivery_ Address, and Pickup_ Address. Postal_, Delivery_, and Pickup_ are qualifying terms. All the same structure for Address.

Qualification of Names The ebXML Core Component Technical Specification supports the idea of qualifying the Property Terms of Dictionary Entry Names as a means of indicating a context of use. The qualifying terms should describe the role of the BIE.

Extending ABIEs by Inclusion If the required aggregation is an extension of an existing ABIE: New Aggregate (ABIE) New ABIE has a new name not a qualified name. The new ABIE includes the extended ABIE as a child (by association). For example: Buyer Party is a new ABIE has a different structure to Party. The Party structure is re-used by inclusion in Buyer Party ABIE. Buyer Party also has additional BIEs. The name Buyer Party is not a qualification of the name Party.

Customizing Data Types Another form of re-use by association. Known as qualifying Data Types. Qualifying Data Types can re-use Unqualified Data Types. As defined by CCTS. Currency_ Code. Type is a restriction on the Code Data Type. Qualifying Data Types can also re-use other Qualified Data Types. European Currency_ Code. Type is a restriction on the Currency_ Code Data Type. Always use genericode for defining values of Data Types.

Creating Customized Document Models Assemble new pathways from customized model. Principles for document assembly... Choose entry point ABIE. Noting cardinality constraints… Assemble required BBIEs. Assemble required associations to other ABIEs. Proceed recursively through other ABIEs.

SPECIFICATION

Using UBL 1.0 Context Methodology Using Schema Subset Schema Using UBLExtension Using XPath Specify UBL customizations

Specifying Customizations: Context of Use ebXML CCTS Context Based on the premise that by using formalized classification taxonomies (context drivers) will allow automatic identification of context. Context drivers have been provided for the current UBL BIEs. This is part of ongoing work, and as yet the necessary methodology to achieve this level of automation has not been developed.

UBL 1.0 Context Methodology Based on W3C Schema Derivation Ensures backwards compatibility Relatively straightforward Supports inheritance Maintains semantic lineage my:NewParty extends cac:Party my:NewParty is a cac:Party

Issues with Context Methodology Unable to declare derivatives of the extension point Unable to express different enumeration restrictions based on context Unable to express co-occurrence constraints Unable to elide optional elements through derivation Unable to maintain UBL conventions using XSD extension

Specifying Customizations: W3C XML Schema Generate new schemas. Edit a model representation and translate the model into a schema expression GEFEG.FX by GEFEG mbH UBLer by Invinet Systems UBLish (UBL inter-schema helper) by SoftML Adhere to UBL NDRs Create new schemas. Edit an existing UBL schema either by hand or by a program "Simplified UBL schema customization" (Crane Resources)

Specifying Customizations: UBLExtensions Provided as a means of specifying (at a schema level) extensions to the document model without affecting UBL conformance. A placeholder for extensions. Has no inherent constraints. Uses xsd:any UBLExtensions content model should aim for UBL compatibility.

Content of UBLExtensions ‘ExtensionContent’ should contain a collection of the extended BIES required for the context of use. Extensions should never be used for information that may properly be conveyed in standard UBL patterns elsewhere in the document. Injudicious use will have damaging consequences for interoperability of documents.

Limitations with UBLExtension If there are embedded optional extensions. The instance of the document may not use the extension every time… And the values in the UBLExtension need to identify which parent they belong to. Example: Item may be extended to have Carbon Emission Rating. Not all items will have a rating. If the document has several items which ones do the Carbon Emission Ratings refer to.

Specifying Customizations: XPath A set of XPaths can express all of the possible combinations of XML hierarchy for the information items described by a document model. They can be generated from: XSD schemas XML instances UBL spreadsheets (or any spreadsheets describing content nesting and definition)

VERIFICATION

Identifying Customizations Profiles enable 'families' of customizations. For example, “Stand Alone Invoicing” may be a profile for the “Northern European Subset” customization. Meaning the requirements for stand alone invoicing in the northern European context. The following BBIEs allow instances to identify their customization specification: 'UBLVersionID' the UBL version being customized. 'UBLCustomizationID' an identifier (such as a namespace) for a specified customization of UBL. 'UBLProfileID' an identifier (such as a namespace) for a specified profile of the customization being used.

Validating Customizations: Subset Schema The UBL 2.0 Small Business Subset is one example of how a conformant subset may be specified through the use of a subset schema All instances of UBL 2.0 SBS are instances of full UBL 2.0 The UBL 2.0 SBS schemas are pruned copies of the normative UBL 2.0 schemas Research is underway to demonstrate the pruned schemas are provably correct proper subsets of the full schemas

Validating Customizations: XPath XPaths can be utilized to check for the presence of a given information item. An exhaustive proof of conformance and compatibility can be implemented using XPath files. An XPath file can be rigorously tested as being a proper subset of UBL by programmatically checking: all of the XPath entries of the subset are found in UBL. none of the mandatory items in the UBL are missing from the subset. An XPath file can be rigorously tested as being a proper superset of UBL by programmatically checking: none of the mandatory items in the UBL are missing from the superset.

Multi-Stage Validation A UBL schema defines UBL conformance. Other processes apply additional validation. Customized Document Model validation. Document Content validation. Pre-conformance processes Separate extensions. Post-conformance processes Validate restrictions. e.g. UBL Code List Value Validation methodology. Experience suggests we will evolve toward this approach.