World Wide Webber


My Books
REST in Practice: Hypermedia and Systems Architecture
Amazon:
US, UK
Developing Enterprise Web Services by Sandeep Chatterjee and Jim Webber
Amazon:
US, UK,
Now available: Korean Edition

My Bookshelf
Programming Clojure by Stuart Halloway

RESTful Web Services by Leonard Richardson and Sam Ruby
WSDL Absolutely Isn't Yet Another IDL
Posted: 06 April 2004 @ 02:28 UT from Sydney, Australia
Last updated: 16 April 2004 @ 12:20 UT

A while ago Savas and I wrote an article on why WSDL isn't really like an IDL in the classical sense, which has just been published in this month's Web Services Journal. We've been getting grief from some people in the community about this view, and some folks in our own department have given us a hard time too.

But there is something fundamentally different about Web Services and Distributed Objects, so isn't it likely that WSDL and IDLs are different too? I think so.

In something like CORBA IDL an IDL interface maps onto a Java interface (assuming a Java binding). Eventually (at some point down the inheritance hierarchy) this interface is implemented by a class. Therefore the operations advertised in IDL are implemented by the operations of a single class.

In a Web Services environment, WSDL doesn't describe operations in the same sense, it describes them in a Web Services sense. An operation in WSDL terms tells us about the specifics of a particular message exchange. That operation might map onto a similarly named procedure call in the back end, but it might not.

The killer differentiator is that for a given WSDL portType (or soon "interface" in WSDL 2.0) there is no implication that the portType is "implemented" by a specific class at the back-end. It might make sense for you to do that in certain situations, but at other times it might make sense for one operation in a portType to be handled by one computing system and another operation from the same portType to be processed by a completely different system .

The only truth that WSDL gives you is messages - the contract that the service adheres to. If you try to infer more than that, not only are you on shaky ground but you are actively going out of your way to become tightly coupled.

Web Services is not CORBA with angle brackets people, we have to leave the comfort zone if we're going to get the best out of this new glue.

Today's Web Services super-hero:Stuart Wheater
(for helping me to remember all that CORBA we used to work on)

Author Name:
Email:
Author URL:
Comment:
Antispam:
Please type the following string (note that if the strings don't match, your comment will be lost... sorry!): 'FDKCL'.
 
Recent entries

Recent comments

Feeds:
RSS 2.0 Atom