Lists Home |
Date Index |
Imagine the following. You have an XML Schema or WSDL A, and an
implementation of it (i.e. full service including relevant wrapper logic,
business logic and calls to other Web Services with WSDL a, b and c).
Wouldn't it be nice if, given a new XML Schema A', a', b' or c', your IDE
would show you at compile time which statements in your implementation are
not compatible with the new XML Schema B ?
With modern, visual tools and languages that use XML Schema as their native
type system, this is possible.
So, my answer to you is that enterprises will either have to:
- restrict their use of some XML Schema features to those that their
existing tools/languages handle well (Ex. using abstract types instead of
xsd:choice, using optional fields instead of required fields, dropping most
of the facet constraints, etc.), so they can apply their tools/languages
static type checking feature to manager changes. Quite a problem, especially
in a world where your constraints come more and more from the outside
(customers, partners) than the inside.
- adopt a brute force approach, where hundreds/thousands of tests are
semi-automatically generated to test existing implementations according to
new schema versions. Not very scalable.
- or upgrade to new implementation tools that natively support XML Schema
features (i.e. with a type system based on XML Schema).
Hope this helps,
----- Original Message -----
From: "Andrew Wheeler" <firstname.lastname@example.org>
Sent: Tuesday, October 26, 2004 11:12 AM
Subject: [xml-dev] Schema Evolution
> Hello All,
> I have an open-ended question which I don't expect a definitive answer to,
> nor solutions, but your experiences or pointers to useful information
> be invaluable.
> How do enterprise architectures expect to cope with "Schema evolution"? I
> know this is a very generic question and doesn't just apply to XML
> (nor enterprise architectures) . I've read a number of papers that have
> referenced here on XML-Dev (, , , , ) but would like more
> information in order for me to understand potential solutions. Having read
> the papers I feel they discuss extensibility as oppose to versioning (I
> might be wrong as it's just a feeling). One can think about extensibility
> a bilateral agreement between a single producer and a single consumer
> as versioning has enterprise wide implications, you've no idea who might
> consuming. (I have no real experience on this scale of coping with such an
> issue, nor do most people by the sounds of it).
> Just to amplify the problem ... Each change cycle we release a version of
> language** with new capabilities, rectifying earlier errors, etc. We do
> nor believe we can, guarantee backwards compatibility between versions.
> Therefore our enterprise contains mixed, non-backwards compatible
> We have versioning and extensibility issues, controlled evolution through
> versioning, uncontrolled user defined evolution through extensibility. For
> the moment, due to particular circumstances, we are able to cope with
> but the future will be somewhat different (as take up of the language
> within the maturing enterprise).
> Sorry for the waffle and sorry if this has been asked a thousand times
> before. Many thanks in advance.
> It's like trying to arrange deckchairs on the Titanic.
>  XML Schema Libraries and versioning: The UBL case.
>  Versioning XML Vocabularies.
>  Providing Compatible Schema Evolution.
>  Designing Extensible, Versionable XML Formats.
>  Reach Interoperability Guidelines (RIGs).
> ** The model we have is actually defined in UML (pure UML - not a marked
> XML version) for which we automatically generate an XSD. We have fine
> granularity of configuration control in the logical UML model, but as yet
> not take advantage of this in the physical XML model. We have looked at
> using namespaces (or hard coded attributes) within the physical XML schema
> to indicate version granularity but are looking for experience to guide
> To give you an idea of scale the auto generation creates 1100 complex
> and 250 simple types, which knit together 2100 distinct elements and 60
> distinct attributes We know the scale won't necessarily dictate the
> we choose.
> Express yourself with cool new emoticons
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> The list archives are at http://lists.xml.org/archives/xml-dev/
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>