A lot of people find the current state and ongoing evolution of the WS-* specifications confusing. I don't worry about that too much; I'm confident that it will all shake out in time. What concerns me more is the confusion over what constitutes a Web service. A friend IM'd me the other day to ask about that, and the conversation was painful. Today, I see three camps:
- It's all about SOAP messages and Infosets
- It's all about WSDL
- It's all about XML/HTTP
Microsoft is definitely in the first camp, focusing on doing things with SOAP whether or not they are ultimately represented as XML or a binary data rep. IBM and Iona are in the second camp, focusing on describing in WSDL, whether or not they are ultimately represented as SOAP or a binary protocol. Lots of developers and some big companies like Amazon are in the XML/HTTP camp, focusing on getting data from one place to another in a way they can consume it.
I resolve these three world views by saying it's fine to describe legacy services in WSDL even though they use non-SOAP protocols like CORBA, as long as the main focus for new work is on the interoperable SOAP binding. The focus on the SOAP binding fits nicely with the XML/HTTP world view too; we just need toolkits that embrace this approach so that people aren't forced to build their own ad hoc solution.
There are two reasons I want to get this clear in my own head. One is that there are people out there doing all three, and if you're in the Web services business you have to be able to speak to all three and understand how they relate to one another. The other is that these different world views have an impact on the evolution of the protocol stack.
Consider attachments. Microsoft backs MTOM because it folds attachments into the infoset carried in a SOAP envelope, which fits with it's world view. SOAP with Attachments is outside the infoset carried in a SOAP envelope, and relies on an alternate multi-part MIME binding in WSDL. That fits with the WSDL-centric view of the world, where the SOAP binding is just one of many. So what will happen now that WS-I has embraced SwA and W3C has embraced MTOM? More important, are there other places in the stack where this difference in perspective will hurt us?
Posted
Oct 18 2004, 10:00 AM
by
tim-ewald