Stephen Edgecombe Revolution Software Services 1 st June 2006 Schema Version Control Why, How, What, When & Who.

Slides:



Advertisements
Similar presentations
June 1, Current Status Technical Details Current Releases Issues Potential Use Cases Position Reporting Portfolio Reconciliation Cash Flow Matching.
Advertisements

OLAC Metadata Steven Bird University of Melbourne / University of Pennsylvania OLAC Workshop 10 December 2002.
Introduction to Web Services Protocols. Talk titledate2 Communication and standards Efficient (or indeed any) communication is dependent on a shared vocabulary.
Bizz-E Simulation Simulation part One: - First Time Log-on - Preferences - Product Master Data Simulation part Two: - First Message Received - Transaction.
Official; Crown Copyright 2014; Released under OGL XML Schema Maintenance Debbie Wilson, Peter Parslow Geographic Information Architects May 2014.
Update Vehicle Inventory Project Barossa AutoDESA 10 th September, 2003 Andrew Lewis.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
SOAP.
CIS 375—Web App Dev II SOAP.
SOAP SOAP is a protocol for accessing a Web Service. SOAP stands for Simple Object Access Protocol * SOAP is a communication protocol * SOAP is for communication.
Topics Acronyms in Action SOAP 6 November 2008 CIS 340.
 Fundamentals of Web Design.  Describe the history and theory of XHTML  Understand the rules for creating valid XHTML documents  Apply a DTD to an.
Created by the Community for the Community Electronic Data Interchange THE OLD DOG PLAYS NEW TRICKS IN 2009.
Achieving Distributed Extensibility and Versioning in XML Dave Orchard W3C Lead BEA Systems.
XML Schemas Microsoft XML Schemas W3C XML Schemas.
Introduction to XML This material is based heavily on the tutorial by the same name at
RSS RSS is a method that uses XML to distribute web content on one web site, to many other web sites. RSS allows fast browsing for news and updates.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
 ACORD ACORD’s Experiences using W3C Schemas Dan Vint Senior Architect
2005 W3C XML Schema Workshop Path Forward Soumitra Sengupta Microsoft.
Copyright © 2003 Pearson Education, Inc. Slide 2-1 Created by Cheryl M. Hughes, Harvard University Extension School — Cambridge, MA The Web Wizard’s Guide.
Chapter 12 Creating and Using XML Documents HTML5 AND CSS Seventh Edition.
Overview of Mini-Edit and other Tools Access DB Oracle DB You Need to Send Entries From Your Std To the Registry You Need to Get Back Updated Entries From.
Standardised validation of ACORD messages Rob Campbell July 2007.
Chapter 9 Web Services Architecture and XML. Objectives By study in the chapter, you will be able to: Describe what is the goal of the Web services architecture.
Why XML ? Problems with HTML HTML design - HTML is intended for presentation of information as Web pages. - HTML contains a fixed set of markup tags. This.
CREATED BY ChanoknanChinnanon PanissaraUsanachote
CS134 Web Design & Development Creating a Basic Web Page Mehmud Abliz.
1 XHTML محمد احمدی نیا 2 Of 19 HTML vs XHTML  XHTML is a stricter and cleaner version of HTML.  by combining the strengths of HTML.
Web Services (SOAP, WSDL, and UDDI)
© 2007 by Prentice Hall 1 Introduction to databases.
FIMS v1.1 Version numbers in schema Richard Cartwright Quantel July 2013.
WEB APPLICATION DEVELOPMENT For More visit:
Implementing the XDS Infrastructure Bill Majurski IT Infrastructure National Institute of Standards and Technology.
PapiNet from Top to Bottom An introduction to papiNet.
What it is and how it works
Tutorial 13 Validating Documents with Schemas
Presented to: By: Date: Federal Aviation Administration Basic Information About the XASDI Feed A Telcon with Vendors ASDI Vendors and Users FAA 18 May.
Standards for Technology in Automotive Retail STAR Update Michelle Vidanes STAR XML Data Architect April 30 th, 2008.
MISMO Trimester Meeting June 4 - 7, 2012 Santa Ana, CA Extensions in 3.2 Greg Alvord RealEC June 4, 2012.
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.
David Orchard W3C Lead BEA Systems Web service and XML Extensibility and Versioning.
XML Schema Definition (XSD). Definition of a Schema It is a model for describing the structure and content of data The XML Schema was developed as a content.
Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions.
AMI -ENT Service Definition Team Step-by-Step Modeling and Artifacts Generation Process.
Technical Steering Committee La Jolla, January 2003 Paul Kiel, HR-XML.
XML blocks XML STRUCTURE The most basic building blocks of an XML file are elements, attributes and comments. Compiled based on Tutorial PhUSE 2008 XML.
AutoDESA Presentation Project Documentation October 2005.
ISA 95 Working Group Process Centric Exchanges Gavan W Hood July 23, 2015 GWH 2.1.
Tutorial 9 Working with XHTML. New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition 2 Objectives Describe the history and theory of XHTML.
Pål Rylandsholm 16 June 2009 DRAFT DDR Phase 2 Status EPIM RUF meeting June 16th 2009.
GJXDM Tool Overview Schema Subset Generation Tool Demo.
SEMI-STRUCTURED DATA (XML) 1. SEMI-STRUCTURED DATA ER, Relational, ODL data models are all based on schema Structure of data is rigid and known is advance.
1 Overview of the Hub Concept & Prototype for Secure Method of Information Exchange (SMIE) April 2013 Prepared by NZ & USA.
XML Extensible Markup Language
Connecting to External Data. Financial data can be obtained from a number of different data sources.
Supports the development & implementation of a IPPC Global ePhyto Hub to: Utilize modern Cloud technology. Ensure there is a secure folder for each countries’
Beginning 자바 웹 서비스 SOAP 강미란 Cyber-Infrastructure Research Lab Konkuk University.
SOAP, Web Service, WSDL Week 14 Web site:
XML BASICS and more…. What is XML? In common:  XML is a standard, simple, self-describing way of encoding both text and data so that content can be processed.
Training for developers of X-Road interfaces
A Web Services Journey on the .NET Bus
Network Services Interface
PPS/OPTRS Departmental Roles Structure System
Detailed Release Note Change Re-baseline UMIG XSDs
Common Origination and Disbursement (COD) System Update
Daily Drilling Report Phase 2
ESS.VIP VALIDATION An ESS.VIP project for mutual benefits
Detailed Release Note Change Re-baseline UMIG XSDs
Presentation transcript:

Stephen Edgecombe Revolution Software Services 1 st June 2006 Schema Version Control Why, How, What, When & Who

Stephen Edgecombe Revolution Software Services 1 st June 2006 Schema Version Control Why Why is Version Control important?is Version Control important? How How are Versions managed?are Versions managed? What What is a Schema?is a Schema? When When do Versions change?do Versions change? Who Who is using which Version?is using which Version?

Stephen Edgecombe Revolution Software Services 1 st June 2006 Why: Version Control? Data requirements change Data requirements change Diverse Sources Diverse Sources 15+ OEMs (members)15+ OEMs (members) Example: Vehicle InventoryExample: Vehicle Inventory Diverse Destinations Diverse Destinations 20 DMS Apps (7 DMS members)20 DMS Apps (7 DMS members) Dealer sites1800+ Dealer sites Multi-franchiseMulti-franchise Impossible to: Impossible to: keep everyone at the same versionkeep everyone at the same version Cut over to a new version as a single stepCut over to a new version as a single step

Stephen Edgecombe Revolution Software Services 1 st June 2006 Version Control: Guide Implement a new version Implement a new version Message Sender (OEM)Message Sender (OEM) Must be able to select the version to send to each destination (Dealer). Must be able to select the version to send to each destination (Dealer). Message Receiver (DMS)Message Receiver (DMS) Must be able to support each version that all Data Senders (OEM) are capable of sending. Must be able to support each version that all Data Senders (OEM) are capable of sending.

Stephen Edgecombe Revolution Software Services 1 st June 2006 Version Control: How: Part 1 Version Management Version Management The transaction must carry information about which Version it is.The transaction must carry information about which Version it is. The receiver (program) must verify that it is processing the correct Version.The receiver (program) must verify that it is processing the correct Version. Transactions Transactions XML – The AutoDESA StandardXML – The AutoDESA Standard XML Messages XML Messages Described by an XML Schema Definition (XSD)Described by an XML Schema Definition (XSD)

Stephen Edgecombe Revolution Software Services 1 st June 2006 What is a Schema? Definitions Definitions XML Schema is a language for describing the structure and constraining the contents of XML documentsXML Schema is a language for describing the structure and constraining the contents of XML documents Defines a data structure. A schema guarantees that the XML elements are linked to it follow the defined structure.Defines a data structure. A schema guarantees that the XML elements are linked to it follow the defined structure. What does a schema do? What does a schema do? Names of Elements (fields and sub-structures)Names of Elements (fields and sub-structures) Arrangement (structure) of elementsArrangement (structure) of elements Mandatory and Optional elementsMandatory and Optional elements Data TypeData Type Limit Values (length, value range, enumeration ….)Limit Values (length, value range, enumeration ….)

Stephen Edgecombe Revolution Software Services 1 st June 2006 Schema: Example. Snippets from the VehicleInventoryMsg Schema

Stephen Edgecombe Revolution Software Services 1 st June 2006 Schema: Examples. Despatched Snippet from a VehicleInventoryMsg XML

Stephen Edgecombe Revolution Software Services 1 st June 2006 The Schema Adds Value Reference to Validate an XML Document Reference to Validate an XML Document Message SenderMessage Sender Validate before you send Validate before you send Lower maintenance costLower maintenance cost Better data qualityBetter data quality Message ReceiverMessage Receiver Validate before you process Validate before you process Rejected data costs less than corrupt dataRejected data costs less than corrupt data Lower maintenance costLower maintenance cost XML utilities provide validation XML utilities provide validation Saves program codeSaves program code Do you validate messages against the schema? Do you validate messages against the schema? It will cost if you don’t!It will cost if you don’t!

Stephen Edgecombe Revolution Software Services 1 st June 2006 Version Control: How: Part 2 The Schema defines attributes to describe the Version The Schema defines attributes to describe the Version The XML message must carry these attributes to pass validation against the Schema The XML message must carry these attributes to pass validation against the Schema AutoDESA have two different Schema standards: AutoDESA have two different Schema standards: Our own: Vehicle Inventory, Vehicle Invoice AdviceOur own: Vehicle Inventory, Vehicle Invoice Advice STAR BODSTAR BOD

Stephen Edgecombe Revolution Software Services 1 st June 2006 AutoDESA Schema Vehicle Inventory, Vehicle Invoice Advice Vehicle Inventory, Vehicle Invoice Advice Out of date Out of date Not to be used for any new transactionsNot to be used for any new transactions Web Services SOAP Standard Web Services SOAP Standard SOAP Header:SOAP Header: Sender and Receiver Information Sender and Receiver Information SOAP Body:SOAP Body: Transaction payload Transaction payload

Stephen Edgecombe Revolution Software Services 1 st June 2006 AutoDESA Schema: Version Control Attributes on the XML message root element: Attributes on the XML message root element: xmlns=[message namespace]xmlns=[message namespace] Part of the XML Schema standard Part of the XML Schema standard AutoDESA use xmlns to identify the major version of an XML message AutoDESA use xmlns to identify the major version of an XML message schemaVersion=‘VersionNumber’schemaVersion=‘VersionNumber’ AutoDESA standard AutoDESA standard Used to identify the minor version of a message, within a major version Used to identify the minor version of a message, within a major version Reset to ’1’ on new Major version. Reset to ’1’ on new Major version.

Stephen Edgecombe Revolution Software Services 1 st June 2006 AutoDESA Schema Version: When Major Version: Change the xmlns Major Version: Change the xmlns Schema validation rules changeSchema validation rules change Eg: Add a new minOccurs=‘1’ elementEg: Add a new minOccurs=‘1’ element Guide: If a message of the old version would FAIL validation against the new SchemaGuide: If a message of the old version would FAIL validation against the new Schema Minor Version: Change the schemaVersion Minor Version: Change the schemaVersion Minor Schema changeMinor Schema change Eg: Add a new Optional elementEg: Add a new Optional element Guide: If a message of the old version would PASS validation against the new SchemaGuide: If a message of the old version would PASS validation against the new Schema Application programs should check the schemaVersionApplication programs should check the schemaVersion

Stephen Edgecombe Revolution Software Services 1 st June 2006 AutoDESA Schema: Examples AutoDESAHeader AutoDESAHeader Mandatory elements and added. Mandatory elements and added. VehicleInventoryMsg VehicleInventoryMsg New optional element added New optional element added

Stephen Edgecombe Revolution Software Services 1 st June 2006 AutoDESA Schema: Version Control Sub Schemas Sub Schemas Location of Sub Schema allows for different versions of included Types. Location of Sub Schema allows for different versions of included Types.

Stephen Edgecombe Revolution Software Services 1 st June 2006 Version Control: STAR BOD Not as comprehensive as AutoDESA standard Not as comprehensive as AutoDESA standard xmlns=" The same namespace for all BODs, All BOD Versions The same namespace for all BODs, All BOD Versions revision attribute on element.revision attribute on element. Not part of Schema Vaildation Not part of Schema Vaildation Application Program should check Application Program should check Complex Included Types structure Complex Included Types structure No provision for different Schema versionsNo provision for different Schema versions Can use ‘Standalone’ BODCan use ‘Standalone’ BOD not used not used

Stephen Edgecombe Revolution Software Services 1 st June 2006 Version Control: STAR BOD No experience implementing a STAR BOD No experience implementing a STAR BOD STAR appear to: STAR appear to: Only deliver Major revisions (2.0, 3.0)Only deliver Major revisions (2.0, 3.0) Update all BODs at a common release point.Update all BODs at a common release point. Have no provision for changing versions between releases.Have no provision for changing versions between releases. AutoDESA: AutoDESA: How can we use the STAR BOD, be more adaptable and still have good Version Control?How can we use the STAR BOD, be more adaptable and still have good Version Control? Make the ‘revision’ attribute required on all messages. Make the ‘revision’ attribute required on all messages. Add ‘AU’ to the revision number for any local changes (until STAR adopt the change into the standard) Add ‘AU’ to the revision number for any local changes (until STAR adopt the change into the standard) ?

Stephen Edgecombe Revolution Software Services 1 st June 2006 STAR BOD: Impact on AutoDESA Smaller community Smaller community Need to implement faster Need to implement faster Hard to adapt STAR BOD Schemas Hard to adapt STAR BOD Schemas Get rid of SOAP Header: Get rid of SOAP Header: Development Development Harder to easily identify which version.Harder to easily identify which version. XML Message will fail Schema Validation if it doesn’t comply with SchemaXML Message will fail Schema Validation if it doesn’t comply with Schema Implementation Guidelines documentationImplementation Guidelines documentation

Stephen Edgecombe Revolution Software Services 1 st June 2006 AutoDESA Schema: Who AutoDESAHeaderMessageDeliverySources Vehicle Inventory xmlns=" sa.org/headers/2003/10/20/H eaders.xsd" schemaVersion='2' xmlns=" autodesa.org/vehicleinv entory/2003/10/20/Vehi cleInventory.xsd" schemaversion="3" Web Service: WSDL= esa.org/vehicleinventory/200 3/10/20/VehicleInventory.ws dl TMCA HTTP POSTNissan xmlns=" sa.org/headers/2004/06/21/H eaders.xsd" schemaVersion='1' xmlns:p768=" emas.autodesa.org/veh icleinventory/2003/10/2 0/VehicleInventory.xsd" schemaVersion="4" Web Service: WSDL= esa.org/vehicleinventory/200 5/10/07/VehicleInventory.ws dl TMCA, Toyota_WA HTTP POSTHonda UnknownMazda, Hyundai Vehicle Invoice Advice xmlns=" s.xsd" schemaVersion='1' xmlns=" as.autodesa.org/vehi cleinvoiceadvice/200 4/01/21/VehicleInvoi ceAdvice.xsd" Web Service: WSDL= esa.org/vehicleinvoiceadvice /2004/01/21/VehicleInvoiceA dvice.wsdl TMCA

Stephen Edgecombe Revolution Software Services 1 st June 2006 WIP Schemas: Who STAR BOD STAR BOD Parts OrdersParts Orders Ford Ford Mitsubishi?Mitsubishi? STAR BOD Model STAR BOD Model Vehicle Model PricingVehicle Model Pricing Nissan, Mazda, Honda Nissan, Mazda, Honda ShowVehicleSpecifications ? ShowVehicleSpecifications ? AutoDESA (old) Standard AutoDESA (old) Standard RDR - HondaRDR - Honda

Stephen Edgecombe Revolution Software Services 1 st June 2006 Version Control: Summary XML Message must carry Version XML Message must carry Version Data requirements changeData requirements change Complex trading partner mixComplex trading partner mix Schema plays a vital role Schema plays a vital role Validate XML Message against schemaValidate XML Message against schema STAR BOD Model STAR BOD Model How will we manage Version Change?How will we manage Version Change? How do we move forward?How do we move forward?

Stephen Edgecombe Revolution Software Services 1 st June 2006 Version Control A Final Message If we don’t do Version Control well Programs will break Programs will break Your customers will get bad data Your customers will get bad data Different code per OEM Different code per OEM Benefits of AutoDESA will be reduced Benefits of AutoDESA will be reduced It will cost you $$$$ It will cost you $$$$