Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Stephen Edgecombe Revolution Software Services 1 st June 2006 Schema Version Control Why, How, What, When & Who."— Presentation transcript:

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

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

3 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) 1800+ 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

4 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.

5 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)

6 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 ….)

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

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

9 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!

10 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

11 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

12 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.

13 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

14 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

15 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.

16 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="http://www.starstandards.org/STAR"xmlns="http://www.starstandards.org/STAR" 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

17 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) ?

18 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

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

20 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

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

22 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 $$$$


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

Similar presentations


Ads by Google