My buddy Joshua Allen has a blog post entitled Was WS-* a Failure? where he writes

Dare excerpts Yaron Goland, explaining how MSN uses POX instead of WS-* in many cases. It is very good to see MSFT employees no longer afraid to say that WS-* is sometimes not the right choice.

On the other hand, it's reasonable to say that WS-* met most of its objectives; and IMO has been a great success. Read this post from Miguel. Miguel makes the point that Java is still vendor-proprietary, in contrast to the way that .NET is ISO. IMO, one of the most important goals of WS-* was to break the stranglehold that J2EE had on the middleware/appserver market. Today, reading about Scott McNealy stepping down amid Sun financial troubles, it is hard to remember how dominant Sun used to be. But Sun is still very powerful in the enterprise, and I imagine it would be game over by now (with Sun/Oracle alliance being the clear winners) if Microsoft had not pushed WS-*. WS-* leveled the playing field, and gave both Microsoft and IBM ability to go head-to-head with Sun in app servers. Today, an Oracle/Microsoft alliance seems more realistic than Oracle/Sun.

So perhaps WS-* was the critical factor that liberated the Internet from a dark future of Sun/Java control, and enabled the new era of POX/HTTP to flourish.

That's an interesting perspective which I think is worth sharing. I also want to correct what seems like a misconception about Yaron's post. I'm not aware of many teams at MSN Windows Live that have eschewed using the WS-* family of technologies (SOAP/WSDL/XSD/etc) for Plain Old XML over HTTP (POX).  On my team, the distributed computing protocols we use are either SOAP or WebDAV. Most of the Windows Live teams whose back ends I'm familiar with also tend to use SOAP. The only upcoming change I can see for our team we have been flirting with the idea of using binary infosets instead of textual XML but still sticking with SOAP. I'm not sure whether we'll do it or not but that would be a compelling reason for taking the Windows Communications Foundation (aka Indigo) out for a spin. I see more dinners with Doug and Mike in my future.

On the other hand, the front end teams that actually build the web sites [as opposed to platform teams like mine] who use AJAX techniques seem to lean towards using JSON as opposed to XML. I guess that would make those services POJ not POX. :)

When I think about POX or RESTful Web services in the context of my day job, it is usually focused on the work we are doing for the Windows Live developer platform. I ask myself questions like "If we were to expose something equivalent to the Flickr API for MSN Spaces, what would be the best choice for developers?". For such questions, RESTful APIs seem like a no-brainer.


Friday, May 12, 2006 6:56:35 PM (GMT Daylight Time, UTC+01:00)
We still desperately need some help on what the better ways to implement POX/REST/Whatever-you-want-to-call-it.

For example, should the method/function be in the URI or in the query/post-string?

Is HTTP authentication adviseable or do we need to roll our own?

Is post/get sufficient or do we really have to use put?

Would it be nice to standardize on error handling?

Comments are closed.