My biggest frustration with the current Web Services debate (triggered innocently in a posting by Don Box, with followups by nearly everyone) is the lack of verifiable information. We need a big, independent study to answer two important questions about each part of the WS-* stack:
- Does it actually work as specified in each individual implementation?
- Does it actually work as specified across many different implementations?
Any WS-* feature that receives a ‘no’ answer to either of these questions is excluded from the debate — WS advocates cannot credibly claim that WS-* is more appropriate for complex, enterprise interfaces unless the complex enterprise features actually work, portably.
On the other hand, any WS-* feature that receives a ‘yes’ answer to both of these questions needs to be taken seriously by the REST advocates. They’ve gotten used to throwing mud at WS-*, assuming that everything is broken; where the WS people have managed to get something working robustly and portably, let’s at least start by giving them the benefit of a doubt that they might have solved a real business problem.
Strongly agree! FWIW I’m just as frustrated with the WS-* / SOA people going higher and higher up the abstraction stack when the question of qho is actually doing what that works how well comes up, as I am with the RESTifarians who say that all would be just fine if you used the Web as it was intended to be used, but nobody does because of [various nefarious reasons here]. Show us the WS-* success stories, show us the secure, reliable and truly RESTifarian success stories, and let the world judge from the evidence.
Hint hint — I’m sure I speak for David in suggesting that XML 2006 would be a very appropriate venue for such reports / analyses.
Mike – empirical evidence is wonderful to have of course, but it’s also extraordinarily costly to come by. It’s also unnecessary, since we’ve had at our disposal for years (since Perry & Wolf’s “Foundations” paper in the early 90s) a method of evaluating software architectural styles for their suitability for any particular task in any particular environment. Applying that method to SOA/WS tells us a number things, most importantly that it doesn’t scale across trust boundaries (which I’ve been saying for many years, and folks now seem to be acknowledging viz a viz WS use behind the firewall). That same method also tells us which other styles do (ones that adopt interface constraints, of which REST is just one example). This whole debate is not much more complicated than that.
I rarely see a WS-* implementation and they’re each fraught with problems. But I do see literally thousands of RESTful web services on the WWW.
WS-* is unfortunately a stillborn set of standards: it will find use only in limited environments (intranets, etc.). CORBA redux is what happens when committees try to design standards with which they have no experience and/or for which no practices exist.