Web Services, Interoperability and Portability
The discussion about the difference between interoperability and portability isn't new by any means, and neither is it a Microsoft versus everyone else argument: J2EE and CORBA both suffer too.
I've been meaning to write this entry for a couple of weeks, but just haven't had the time. The original impetus for this came about because of a recent client engagement that reminded me of previous similar interactions. At the heart of the problem lies the difference between interoperability and portability , a discussion that isn't new by any means , and neither is it a Microsoft versus everyone else argument: J2EE and CORBA both suffer too.
Where the recent confusion arises is around the hype associated with Web Services: too often people will say things like (and I'm paraphrasing) " Web Services are meant to be interoperable, allowing you to talk to other vendor implementations and hence removing vendor lockin ." Now everyone working in this sector of the industry knows (I hope) what this actually means: product A from vendor 1 can interact with product B from vendor 2 because the on-the-wire representation is defined within some set of standards with which both products comply. Unfortunately what the customer/end-user tends to hear is subtly different: "blah blah blah the same application can run on different vendor deployments blah blah blah." and when you come to educate them on the difference (e.g., Web Service standards don't talk about implementation language bindings , there's still scope for proprietary extensions within standards and there's still no agreed Web Services architecture ), they either look at you as though you'd just arrived from Mars or that you've taken their favourite toy away!
In no cases I've been involved with has the customer decided to ditch the move to Web Services (though some have seen
Microsoft
as a better route to achieving
portability and interoperability
, simply because the landscape isn't so fragmented - but there are other downsides to consider!), but they've asked the question "why?". Unfortunately that's not the right question either: it should be "how?". There are a number of steps that would need to be taken, one of which could be to go down the
OMG route
of a single organisation defining all language bindings and everyone agreeing to use them (
Java
almost
has it
). But I don't think that's going to happen (and in some respects I think it shouldn't): there's simply never going to be enough technical or political reasons to do so.
Ultimately I think this is an education problem. We need to make sure we clearly define what we mean by interoperability and portability (straighforward to do, you would think) and try not to gloss over the differences. Interoperability is extremely important as far as Web Services are concerned (at the moment I'd say it is the single most important aspect) and correctly discussed, customers will agree.
Trackback URL for this post: http://www.webservices.org/trackback/id/74260
Comments
binnur
bur-kapl-31@hotmail.com
Sunday 02 March 2008






binnur
bur-kapl-31@hotmail.com
Sunday 02 March 2008