It has always seemed to me that the weakest link in the SOA chain is how to version services and ensure that you don’t break clients/consumers when updating the WSDL interface. Up to now, I have been keeping the old service up, and creating a new copy of the service, running on the new interface (I know, I know, this break the DRY – don’t repeat yourself -principle).
So I came across an article from Adam Trenaman at IONA technologies, the company behind Apache ServiceMix, that suggests a methodology for evolving services using the same WSDL, schemas, and versioning them according to XSD best practices.
Check out his article and the paper linked there, and help me get the following: Most of us use generated WSDL’s, not hand-crafted ones. So how would that be applied to real-life services, and how can you use WSDL to do it with a language that does not support WSDL-to-service generation?