November 02, 2002

A reply to "Web Services and the Eight Fallacies" by Mark Baker

I posted a reply Coordination and Interface Versioning (reproduced below) to the article Web Services and the Eight Fallacies by Mark Baker.

The alternate way to look at this is that it is a problem of interface versioning.

One of the usual way of handling the coordination of client and server during interface changes is to tightly synchronize version upgrades of both sides at the same time, but of course this is only possible where there truly is a "single administrator" to coordinate the change, which as is pointed out may be the normal situation for an application deployed "behind the firewall" but is certainly not the case on the Internet.

However, the other well proven way of handling this is coordination of upgrades is to simply maintain both the old and new versions of the interface until all parties have upgraded, or possibly forever.
This is the principle of "immutable interfaces".

None of this applies to Web Services technology on its own of course, and is really just a general problem for *all* distributed computing technology. Even HTTP suffers/ed from this exact same problem, as indicated by the need for RFC-2145 "Use and Interpretation of HTTP Version Numbers" (

The fact that most of the publicly visible "toy" examples of Web Services on xmethods don't tackle this problem does not mean that this isn't a topic being considered seriously and being successfully dealt with by enterprise software architects in major vendors and corporations using Web Services technology and XML Schema versioning.

Distributed computing is just plain hard to do right some times!

Entry categories: Web Services
Posted by Jorgen Thelin at November 2, 2002 05:00 PM - [PermaLink]
Follow on comments from Mark Baker to my reply has been posted here: Posted by: Jorgen Thelin on November 5, 2002 12:45 AM