Compatible evolution of schemas

From my blog entry, [0]:

I've finally published the opus on what can and could be done to provide
compatible evolution of Schemas [1] . It lists all the ways people can do
extensibility and versioning now, such as wildcards (##other, ##any,
##targetnamespace), Extension Elements, and Type Extension. And then it goes
into a number of things, including potential changes to Schema, that could
be done to better meet the requirements for loosely coupled Web components.
I argue in Web Services = or != Distributed Objects [2] that Schema authors
tend to make tightly coupled Web services because they can't fully version
or evolve them. I proposed one simple schema design with related rules in
Versioning XML Languages [3], but I didn't have time to do justice to all
the current and possible techniques. That deficiency I consider rectified.

I've also made a collection of links to mine and others (notably David Bau)
writings on extensibility and compatibility in my compatibility index page
[4]. You can see the relationship amongst the writings on the importance of
loose coupling, how extensibility and versioning enable it, what you can and
can't do with XML schema today.

I hope this material helps in discussions about compatible evolution of web
service descriptions.  I would also be glad to do a tutorial or overview at
the WSDL WG F2F next week.

Dave Orchard


Received on Thursday, 22 January 2004 12:40:02 UTC