>Does anyone have great thoughts on interface versioning?

I'd love to hear the answer for this, or at least some more
discussion. It's a hard problem. I have some practical experience with
this, but no great answers.

I am engineer at Google; I work on our SOAP interface, the Google Web
APIs. When we published the API we named the endpoint URL
/search/beta2. The theory being we could publish a new interface as
/search/beta3 or /search/v1 or whatever and folks could use the old
interface or the new one. The old API could be supported via a
separate webapp or the same server code in a different mode.

We have not published a new endpoint. We have changed the protocol,
ignoring a couple of the parameters to one of our calls. That's
backward compatible: requests still pass the parameters and Google
just ignores them. The semantics of the request changed a bit, but not
in a way that seems to have negatively impacted anyone.

>Is it wise to think about keeping an interface generic so
>that it doesnt alter much between product versions?

Undoubtedly! But that may not always be possible.


PS - I hope it's not too tacky, but while I'm here I wanted to mention
to the fine Axis user community that Google is hiring. Job
descriptions are online at <http://www.google.com/jobs/index.html>.
Feel free to contact me with questions.

Reply via email to