The more service-oriented computing becomes mainstream, the more versioning of service contracts becomes an issue in a community of service providers and consumers. In an article published on Martin Fowler's web site
, Ian Robinson describes a new strategy for evolving service contract versions. Ian starts by describing different strategies for creating backwards- and forwards-compatible schemas and discusses the usage of Schematron
to reduce a consumer's dependency on a specific schema version. Buildling on this, the notion of contracts driven by consumers' needs (instead of providers' capabilities) is introduced.