Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


RE: [xml-dev] RE: Caution using XML Schema backward- or forward-compatibility as a versioning strategy for data exchange

From: "Costello, Roger L." <costello@-----.--->
To: <xml-dev@-----.---.--->
Date: 12/28/2007 2:03:00 PM
Hi Folks,

The discussion has been truly excellent.  It has clarified many
concepts for me.  Thank you!

Below is a summary of my understanding of the key concepts that have
emerged from our discussion.  Do you agree with them?  If not, which
ones do you not agree with?  /Roger


RELATIONSHIP BETWEEN DATA PROCESSING, DATA VERSIONING, AND DATA
VALIDATION

1. Validating data is different from processing data.

2. Just because an application can validate some data doesn't mean it
can process the data.

2.1 Just because an application can process some data that it validated
doesn't mean that *any* data it validates can be processed.

3. A backward-compatible XML Schema means that a new version of the XML
Schema can validate instance documents conforming to an old version of
the XML Schema.  Consider an application that is designed to process
the old instance documents, and suppose that it has obtained the new,
backward-compatible XML Schema.  Now it can validate both old instance
documents as well as new instance documents.  However, just because it
can validate the new instance documents doesn't mean it can process
them.

4. A forward-compatible XML Schema means that an old version of the XML
Schema can validate instance documents conforming to a new version of
the XML Schema.  Consider an application that is designed to process
the old instance documents.  It can validate both old instance
documents as well as new instance documents.  However, just because it
can validate the new instance documents doesn't mean it can process
them.

The following items are targeted at this scenario: a web service has
unknown clients (anyone can use the service); the data it makes
available to clients is described by an XML Schema (identified in a
WSDL document) and some English prose (in a web page); periodically the
data is changed (i.e. new version).  See the Amazon web service for an
example.

5. Versioning the data made available by the web service based on
backward- or forward-compatible XML Schemas imposes severe restrictions
on the types of changes permitted; these restrictions may not be
consistent with the needs of the business (the "business" is all the
technical, political, and managerial stuff that went into funding,
creating, deploying, and maintaining the web service).

6. Don't base your web service data versioning strategy on a data
validation strategy.  Decouple your data versioning strategy from your
data validation strategy.

7. Base your web service data versioning strategy on business needs.


NOTES

The assertions identify XML Schemas as the validation language, but the
assertions apply to any validation language, such as RELAX NG, DTD, or
Schematron.


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent