James Governor's Monkchips

A POX on my house: One SOAP doesn’t fit all

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

I like to think i am more of a disloyal opposionist.. πŸ˜‰

some keys to consider in my earlier post on SOAP and REST – those are
a. niche – my intention was never to say SOAP is dead, merely that is not a necessary condition for web service development. There is a class of applications outside the traditional requirements of high end transactional enterprise development and workflow that just don’t require the reinvention of Corba-class integration.
b. the comment there isnt any demand for SOAP refers to comments from the Creative Commons.

In other words i am talking about classes of applications. Scale matters in some situations. And for the world of guaranteed transactional application development WS-I obviously has a big role to play. But i also think MQSeries isn’t dead. It is niche though, in the sense there are other kind of apps out there that just dont need to be so heavyweight. But niches are OK in the world of software. This is Long Tail world – as i try and explain here Heck i even think TPF has a context, whatever the FUD. It has a new development toolkit refresh and new customers so who is to say what is dead. Its not dead but it is niche. SOAP has a future of course it does with the full might of Microsoft and IBM developer community push behind it. WS-I will be around for many years to come, just like Corba is still driving behaviours in the telecoms industry as any BEA Tuxedo shop will tell you. But its not the be all and end all. Indigo promises to be a solid platform for conversational web services, and will benefit in my opinion from being decoupled from Longhorn.

This week i read a story EBay is planning to move to more SOAP-based Web Services access, according to searchwebservices.com –

EBay itself initially used XML over HTTP for Web services communication, but is now moving toward a purely SOAP implementation, according to Adam Trachtenberg, manager of technical evangelism at eBay.

SOAP is well-supported by the Java and .NET platforms and is tightly integrated into many integration development environments and tools. It also defines standard locations in which to pass information such as the SOAP and tags.

But SOAP also has its drawbacks. It is not fully implemented in all languages, including the open source PHP, Perl and Python, Trachtenberg said. Nevertheless, SOAP still allows for more complex Web services interactions than Representational State Transfer (REST) or XML-RPC.

“XML-RPC handles 80% of what SOAP does and it’s only 20% as complex, but SOAP has better buzzword compliance,” Trachtenberg said. “[However], you should probably skip using XML-RPC, as it only makes sense when you control both ends of the wire.”

REST is the most minimal of formats; it is baked right into the HTTP protocol. Using REST, the client makes Universal Recourse Identifier (URI) requests using existing HTTP methods such as GET, POST, PUT and DELETE.

“REST doesn’t have the overhead of XML-RPC or SOAP. People really use it because it’s so easy,” Trachtenberg said. “You can map REST and SOAP to the same engine. Ebay is looking to have a more centralized engine for business logic fronted by different interfaces.”

That stuff needs parsing and i plan to speak to eBay about its API strategy soon. seems like there is agreement simplicity is contagious, but also a desire for more access from Java and .NET developers.

As Danny Ayers points out responses have been measured, rather than backlash-oriented so far. Thanks folks. Although i haven’t heard from IBM which i find interesting.

Mike Champion explains

flickr and Amazon are definitely “semantically rich” platforms, but they don’t have the pain for which WS-* offers an analgesic. Plain ol’ XML over HTTP works just fine, and WS-* is overkill, in situations where:

* information is public and encryption/authentication are unnecessary;
* all communication visible to the service consumer is done over one protocol, HTTP;
* nothing terribly bad happens if a message is lost or duplicated;
* and there are few demands for multi-part transaction management beyond what can be implemented with HTTP sessions or cookies.

. Lots of agreement then. its all about niches or not. It is not surprising MS would get it – how many really sophisticated COM+ developers are out there in comparison with the great mass of Access and VB developers? Its all about fitness for purpose.

Champion really is champion. There is so much clarity in his thinking its worth citing some more, even if you feel the scale argument may be laid on a bit thick.

It is true that IBM and MS have bet heavily on web services technologies, but at least after the initial flourish of web services hype in about 2001, they have not touted them as the balm for all web developers’ pain. Instead, they are driven by the requirements of enterprise developers who need to both preserve their investments in complex legacy systems that actually work while moving to integrate them with cheap, powerful, and ubiquitous desktop and internet systems. RESTful success stories such as flickr and Amazon tend to have build built from the ground up for the Web, whereas the target audience for WS-* generally does not have that luxury.

Finally, REST advocates like to paint an appealing picture of a Web governed by open standards that mesh well with one another and over which XML documents conforming to industry-standard schemas with well-documented semantics are transferred. Few who actually work down in the trenches suffer from this delusion for long. Even a dirt-simple idea such as the XML format RSS becomes an interoperability mess in practice. Our former team member Dare Obasanjo often writes about the challenges of implementing his RSSBandit aggregator in the real world web, and Mark Pilgrim http://www.xml.com/pub/a/2004/07/21/dive.html and Sam Ruby offer an even bleaker picture of the realities. Once again, it appears that REST is a fine idea for simple scenarios where bad stuff can happen with impunity and corner cases can be disposed of arbitrarily. Building secure and reliable applications for situations in which serious money or human lives are at stake is another matter.

Bad stuff is always an interesting space. I bet a hundred bucks some of the most fun you have had in your life has been “in a place where bad stuff can happen with impunity”. Freedom is indeed a dangerous place.

On the where human lives matter question i will push back very hard. The Tsunami was an awful event; it tore us all up. But what about the people on the ground. Forget the stock exchange; it couldnt do shit. Forget transactions for a minute. RSS was instrumental in aid efforts, as much as traditional reporting. Blogs have been instruments of freedom in places like Iran and Iraq. Human lives are most definitely at stake, and no amount of hardcore transactional web services is going to mean a hill of beans to getting things done in tough scary environments like these. Would i recommend WS-I for Boeing’s controi system? I don’t know, you tell me. Human lives carries a lot of weight in rhetoric. Millions of dollars i am all yours. You make some great points , and i really appreciate you taking the time.

When it comes to httprequest we’re definitely on it. Stephen is the only analyst i know nailing it. Just because the function has been available a while doesn’t make it old news. On the contrary what matters is when developers like those Amazon make exciting it. Then it becomes buzz.

Dare Obesanjo from Microsoft makes the case that MS is not a one SOAP fits all evangelist. Seems like an opportunity for MS so “fair dos”.

Dare has a tendency to keep it simple thinking. He points to differerent types of development stacks.

“Context is everything. Replacing a world of distributed applications written with DCOM, CORBA, Java RMI, etc with one where they are written using the WS-* protocols is a step in the right direction. I completely agree that it leads to better interoperability across technologies produced by the big vendors who are using incompatible technologies today. But when your plan is to reach as many parties as possible one should favor simpler Web services technologies like plain old SOAP or just plain old XML (aka POX)”

I may be misreading him here, but i am intrigued with the notion of “replacing a world” of apps.

Rafe Colburn is one practitioner who evidently thinks SOAP is a little heavy; SOAP is not for everyone is all.

Danny Ayers is right to point to the Semantic Web. After all, the design center for Ws-I is transaction management not semantics. But what about Semantic Transactions?

Anyone that has been involved in an RSS workflow needs you dont always need heavyweight coding for workflow. check out basecamp as an example of RSS as project management engine. Semantic Web and triple thinking aligns quite nicely with simple URI-based approaches. So i think there are still some market desisions to be made. I even think that ebXML has some semantics worked out which may he harder to pin down than expected from those that don’t believe it has a role to play. But that is another story.

Will there be coexistence? Certainly. Mark Baker has strong views too and i always get a kick out of people that describe applications as gorgeous. He isn’t kidding – that is one link you shoudl follow. And wait–look, he is way better at this than i am. He says: “My intent here is just to throw cold water on the general concept of “SOAP = interoperability”.

Finally i have to say I am also interested that while Microsoft picked up the meme, IBM didnt, at least no comments on my last screed anyway. Perhaps they are rising above it all (not “it is” notice, but “they are” – as a total context shift i wonder whether the blog revolution means we should finally changes style and stop referring to companies as singular; any good journal, magzine, or paper or whatever calls companies “it” not they…. RedMonk does formally, but forgets before we edit formal reports and turn conversation into something more formal and saleable. maybe we as organisations have changed now because we have all become legion. there is no single corporate voice, just as there can not possibly be a single corporate development standard. i wonder how many blos cite companies as singular entitties?).

IBM could ask Sam Ruby to establish a RESTful service integration strategy. WebSphere is an increasingly powerful platform, but it isn’t always necessary. On that slightly inflammatory note i am about to head out of the office and go on holiday for a week in Portgual. Who knows, with any luck i may get the chance of a bottle of wine with Jaime Cardoso.

What is my final note? What is my final note? Oh yeah – its to read Stephen’s blog because as usual he is nailing it. Did i remember to say keep it simple stupid. Oh yeah Cote is too, when he asks just who is the new application developer? Who is this person and what makes them tick (nailing it, not stupid)? What the hell are they doing? That is what SOAP bigots should ask themselves. Oh yeah – – the title of the blog was POX. What? that’s right – “plain old XML”. Apparently that is what super people say. heh.

5 comments

  1. i can spell. i just have problems when i am trying to get home thinking of those lovely portuguese hills. will someone please make a decent WYSIWYG blogging client with link heuristics. thanks.

  2. “On the where human lives matter question i will push back very hard. The Tsunami was an awful event; it tore us all up. … Forget transactions for a minute. RSS was instrumental in aid efforts, as much as traditional reporting. Blogs have been instruments of freedom in places like Iran and Iraq. Human lives are most definitely at stake, and no amount of hardcore transactional web services is going to mean a hill of beans to getting things done in tough scary environments like these.”

    Fully agree, and sorry that I phrased my piece in such a way as to create any confusion about this. I was trying to make the point that in those situations “where lives are at stake” AND the reliability, transactionality, security, etc. of web services significantly affect the stakes, that might be a better niche for WS-* than for REST. Integrating public safety systems might (I don’t claim to know this domain!) be an example: Would you feel safer knowing that your local 911 system communicates with your local police, ambulance, fire, etc. agencies via SOAP+WS-ReliableMessaging+WS-SEcurity, or via a bunch of POX files that passed across legacy boundaries with GET and POST + a lot of application-level code to route and secure the messages? I’m sure Mark Baker can sketch out a “gorgeous” scenario for how all this MIGHT work RESTfully πŸ™‚ , but AFAIK the real world developers in that domain are betting on WS-*.

  3. Actually, I would disagree with this, as it points out to me one of the central tenets of HTTP in the first place – there are many times where assuming unreliability is a given provides for far greater robustness in the face of real world problems.

    The web communication that occurred after the Tsunami could make very few assumptions about the reliability of the network – even the assumption that there wouldn’t need to be at some point someone hand-copying a file on a piece of paper and taking it to some other computer because the information involved was critical but the physical infrastructure was no longer there.

    RESTful solutions work in situations like that because the computing world is heterogeneous, because often times the most important information being passed is that which says that a child has been found alive, or that survivors should gather at such and such a location, and you are dealing with ancient systems that don’t have the latest in MS-WS* but do have a workable web server stack.

    If I have a choice between acting as a node for sending an RSS feed (one that may not even be “safe” XML) knowing that it will likely get there or have the relevant messages get “stuck” in some server because they didn’t install the latest service pack upgrade, then yeah, I’d definitely take that RSS feed.

    I think that is a big problem with much of the thinking coming out of Redmond, though I also agree here that the recognition that SOAP is a niche technology (and that all programming is niche programming) is welcome. There tends to be this assumption that complexity adds to reliability, when in fact the more tightly focused a given piece of technology becomes, the less reliable it usually ends up being. This is a lesson as true of programming as it is with the argument of Ferrari’s vs. VW Beetles. A Ferrari is a performance driver’s dream, but it was so optimized for performance that they are in the shop as often as they are on the road. Nobody was likely to be doing high speed racing in a VW Bug, but they were easily the most easily maintainable car on the planet at the time – with this factor, as much as their affordability, being the reason for their general popularity.

    Most people don’t NEED the power and performance of SOAP enabled web services and the WS-* stack. More power to Microsoft to recognize that there IS a need there for those that do, and that they are likely to be the customers that Microsoft is most interested in pursuing because they are also the wealthiest, but don’t expect the rest of the world to greedily jump to SOAP because of the expectation that they are more “reliable”.

  4. All programming is niche programming– perfect – that is the Long Tail of software development

  5. For decades, we’ve believed in building relationships through face-to-face interaction, and adhering to a strategy of recommending quality ברמנים investments that have proven themselves over time. ברמנים is an advanced Website ברמנים service that ensures the reputation and uptime of your e-business. News stories about ברמנים bring credibility that advertising cannot give. Thank You For Your Interest In ברמנים We Have Been Serving Quality ברמנים Since 1996. ברמנים, specializes in database software and ברמנים applications. visit the largest source of great ברמנים and more. Updated every Friday! For decades, we’ve believed in building relationships through face-to-face interaction, and adhering to a strategy of recommending quality ברמנים investments that have proven themselves over time. We are the one-stop source for ברמנים, We encourage you to celebrate the spirit of the holiday season, and enjoy the rich content throughout our website ברמנים. Be part of the ברמנים experience. Share your opinion about the show on our ברמנים Forum. ברמנים is the largest http://international.barnet.ws/bar-man.html organization in Oregon and one of the largest writers’ organizations in the United States.

Leave a Reply to Kurt Cagle Cancel reply

Your email address will not be published. Required fields are marked *