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 17:56:18.068013+00 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 19:33:23.61733+00 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 19:45:13.37797+00 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 20:12:25.76409+00 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 21:07:38.295993+00 by: ebradway

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.