The Doorknob to Hell

Don Box's Spoutlet

Syndication

This quote from DHH absolutely kills me:
 
So SOAP feels more like the doorknob to the gates of hell. In itself, a doorknob is hardly evil. But once you turn... :)
 
The point of the comment is that SOAP in and of itself is really just an extensibility/header model over XML.  The hell that David is referring to is of course what people (including me) have done to exploit that model. 
 
Even though I've had some pretty visceral reactions to what people have done with XML both inside and outside of MS, I never thought of XML itself as being Satan's doormat. 
 
On the topic of extensibility mechanisms and the hell they inherently allow, it's fun to imagine the world that might have been had Paul Leach and Henrik Frystyk Nielsen been successful in getting HTTP Extension Framework adopted by both the IETF community and the IBM/Microsoft coalition.
 
For those that don't know, HTTP EF was a precursor to the first published SOAP specs. Henrik and Co. wanted to put some discipline over the extensibility model of HTTP and you can see a lot of the current SOAP header design in that spec.
 
Now, had Henrik and Paul been successful in getting the world (or at least MS and IBM) to swallow the HTTP EF pill, we might see GET requests that look something like this:
 
M-GET / HTTP/1.1
Host: some.host
Opt: "http://www.xmlsoap.org/ws/reliablemessage"; ns=14
Man: "http://www.xmlsoap.org/ws/security"; ns=15
Man: "http://www.xmlsoap.org/ws/secconv"; ns=16
Man: "http://www.xmlsoap.org/ws/trust"; ns=17
Opt: "http://www.xmlsoap.org/ws/timestamp"; ns=18
14-SequenceId="uuid:12341234-1234-1234-2134-123412341234"
15-Token: "abc9ea…"
15-Signature: "hash=eaffab36ca…, referencedParts=...,"
16-Token: "aa84…"
18-Expires: "2006-12-01T08:00:00Z"
 
Had we arrived here instead, would we now be referring to HTTP as the Slip-n-slide to Hades?

Posted Mar 22 2006, 02:29 AM by don-box

Comments

Stefan Tilkov wrote re: The Doorknob to Hell
on 03-24-2006 1:42 PM
It seems to the difference between this solution and a RESTful SOAP-based one would simply be the header format. Is this a model anyone is even considering?
on 03-25-2006 8:31 PM

I think that this would have had a much better chance of actually being used by people that have complex integration problems to solve then the mess we now find ourselves in with WS-*.
<p>For one, there is no SOAP or XSD. Chance of success just went up 10x because of that alone. Second, all the header cruft would not be in the XML document. Developers wouldn't be impaling themselves with generated code, schema problems, parser problems, etc.
<p>Those headers would be *much* easier to parse (one would assume). Much less chance to cut ourselves on interop.
<p>
I would assume that some faction of REST/POX will eventually want to do something like this. In a previous post on <a href="http://fuzzypanic.blogspot.com/2006/03/http-xml-rest-and-100.html"> HTTP, XML, REST, and $100</a>, I mentioned event driven architecture (EDA). I don't see that happening without either this or the equivalent of what the WS-* world has (I saw on <a href="http://www.tbray.org/ongoing/When/200x/2006/03/24/WS-Evolving">Tim Bray's</a> blog EDA is being revisited in WS-* land). Including the headers in the XML document is what makes WS-* awful IMHO. With POX + HTTP Extensions (or something like it), the service developer would have the power of owning the XML contract outright (just has to be a well formed XML doc). You could add complexity as you went (via HTTP extensions), and the XML wouldn't change. Setting/Reading the headers could be set via configuration in relatively simple (compared to WS-*) frameworks. Seems like appropriate separation of concerns to me.
<p>
Obviously, web servers would have to evolve (plugins), but this path actually seems plausible - I just don't see WS-* resulting in a workable integration solution.
<p>
What's the catch?
Mike Herrick wrote re: The Doorknob to Hell
on 03-25-2006 8:33 PM
ooops, damn Mirror Pond
mnot’s Web log wrote Are Namespaces (and mU) Necessary?
on 04-07-2006 1:51 PM
It&#8217;s become axiomatic in some circles &#8212; especially in WS-* land, as well as in many other uses of XML &#8212; that the preferred (or only) means of offering...

Add a Comment

(required)  
(optional)
(required)  
Remember Me?