Flutterby™! : SOAP as in XML and RPC is one of

Next unread comment / Catchup all unread comments User Account Info | Logout | XML/Pilot/etc versions | Long version (with comments) | Weblog archives | Site Map | | Browse Topics

SOAP as in XML and RPC is one of

2012-02-09 18:56:18.068013+01 by Dan Lyke 4 comments

SOAP (as in XML and RPC) is one of those things that straddles the boundary between satire and stupidity.

[ related topics: Web development Content Management ]

comments in ascending chronological order (reverse):

#Comment Re: made: 2012-02-09 20:33:23.61733+01 by: Jack William Bell

SOAP is what happened when a bunch of big companies took over an existing standard (XML-RPC) and 'extended' it by making it impossible for anyone to do by hand; thus creating a market for specialist tools created by those big companies.

And, yes, SOAP is incredibly bad. One of the most over-designed protocols I've ever seen. Looked at from the bright side, we can thank SOAP for JSON and JSONP; the true inheritors of the XML-RPC mantle.

#Comment Re: made: 2012-02-09 20:45:13.37797+01 by: Dan Lyke

I think it's also what happens when the Java software engineering mindset gets ahold of a problem: Everything gets its own stupid type, you get inheritance hierarchies that introduce levels of abstraction that make it impossible to figure out what the hell a given piece of code is doing because context is so heavy, and in the end the cognitive load necessary to call something that should be a stupid REST API is... well...

And under all this there's cookies. Grrr.

#Comment Re: made: 2012-02-09 21:12:25.76409+01 by: Jack William Bell [edit history]

I wouldn't blame it all on Java programmers; Microsoft was one of those big companies I was talking about and they wrote their original SOAP tools to be used with C++. (This was before DotNet.)

But, yeah, the Java mindset. I've been steeped in it and I still think it is crazy to create such hugely complicated ziggurats of code to do what should be simple things. For example, I want to like JDA or JPA, I really do. But why are there two standards for object persistance? And why do they depend on code injection at run time? (Based on either or both annotations *or* configuration files, no less.) Yeesh! There are so many things wrong with that picture...

SOAP is still an example of worst case though: anytime you create a 'standard' so complicated you need code generators to use it there is something wrong with the standard.

#Comment Re: made: 2012-02-09 22:07:38.295993+01 by: ebwolf

Microsoft adopted the Java mindset when the jumped head-first in C++. When I interviewed in the DirectShow team in 1998, they were shocked that I was still writing straight C code. They hadn't thought that anyone would need to call their APIs from anything other than C++. My answer: the code base needs to cross-compile on a Mac.

The last time I got up to my eyeballs in SOAP, I ended up just rolling my own RPC. The overhead of dealing with SOAP became more complex than my entire application.

Comment policy

We will not edit your comments. However, we may delete your comments, or cause them to be hidden behind another link, if we feel they detract from the conversation. Commercial plugs are fine, if they are relevant to the conversation, and if you don't try to pretend to be a consumer. Annoying endorsements will be deleted if you're lucky, if you're not a whole bunch of people smarter and more articulate than you will ridicule you, and we will leave such ridicule in place.


Flutterby™ is a trademark claimed by

Dan Lyke
for the web publications at www.flutterby.com and www.flutterby.net.