advertisement

Weblog:   Web Services and the Eight Fallacies
Subject:   Coordination and Interface Versioning
Date:   2002-11-02 08:05:05
From:   jthelin
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" (http://www.ietf.org/rfc/rfc2145.txt)



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!



- Jorgen Thelin
Chief Architect, CapeConnect
Cape Clear Software Inc.
http://www.capeclear.com/

Main Topics Oldest First

Showing messages 1 through 1 of 1.

  • Coordination and Interface Versioning
    2002-11-04 10:26:59  Mark Baker | [Reply | View]

    For sure, using immutable interfaces ala COM is one way to approach this. But interface versioning and deployment is just one example of the general coordination problem.

    I'm sure there are some "in the know" who are trying to tackle this (and other) problems of distributed computing, but the fact that Web services requires every developer to be a distributed computing guru is a problem I don't believe will ever be overcome.

    IMO, what's needed is an general application framework that already addresses many of the known hard problems, making it easier for the average developer to produce applications which will work well over the Internet. And I think we've already got one; the Web.

Showing messages 1 through 1 of 1.