« Python preinstalled on ThinkPad | Main | Proliferate »


[Update: Mark Baker also points out that the technical debate was had. Mark doesn't think there is a middle ground: "IMO, there is none. 'Support both', which is how I'd characterize Dave's many well intentioned efforts to bridge the divide, is not a middle ground, since supporting both requires rejecting the interface constraint. "]

David Orchard seems like he's had enough of WS v REST:

"Every few months or so, another 100K or so of uninformed and sloppy writing is generated comparing Web services to REST. I've now found the analogy. It's the "war in Iraq."

If some of that uniformed and sloppy writing has been mine, I hope it will be pointed out to me!

My opinion on all that is this: I speculate REST advocates are smarting from the feeling of being brushed aside a few years ago. My impression is they might think WS folks weren't listening too much around the turn of the century, in much the same way Java and C# folks weren't listening about typing a few years ago. Toy stuff, not for real work. Safely ignored. I've seen comments made about the Web and the REST approach that have plain stung me as a practicing architect and developer, because I had built and encouraged others to build on the basis that these were sound. I have often imagined some people coming from the enterprise doubted the Web actually had an architecture - it was all HTML forms and Perl CGIs and MySQL (when MySQL was closer to journaled/indexed filesystem than a database) - not anything you could build real systems on. I still run into the odd person who's working off a 20thC WS playbook and thinks RPC and long-lived transactions are viable (whereas leading thinkers in WS have a different set of thoughts entirely).

Now, it seems that either on the merits, or on sheer popularity, the REST approach cannot be ignored. Where the small scale and consumer grade software technologies lead, the high-end invariably follows - any technology strategist knows that - the hard part is determining the time lines and executing transition. This is good because REST has lots of value for building cost-effective systems - but REST is not architecturally perfect either.

David again:

"In the Web services vs REST debate, the sad part is that the communities are not coming closer together. There are things that could be done for Web services to integrate with REST but few people from either camp are jumping up and down. And there certainly is no progress in getting to agreement on any kind of principled approach towards the discourse, like having an actual framework or architecture for evaluating the various arguments."

This is espousing a technical merits discussion, which is good. But it's not unfair to point out that Paul Prescod, Mark Baker, Rohit Khare, Jeff Bone and others had that debate years ago and got little thanks for it. Probably some people will not be bothered to do so this time around (you can justifiably decide that's bunk, but what the hey, this is an opinion piece after all). Plus the REST proponents will no doubt point out they already have an architecture for evaluating the arguments.

But if we were to have the debate as David is suggesting, there are some key areas and assumptions that could be re-examined on both sides.

With WS:

  • Protocol neutrality (why is this a good idea?)
  • XML Schema (more specifically the value of typed XML)
  • Identity (how many naming schemes do you need to go through?)
  • Objects to Documents (more specifically, WSDL backed tools)
  • Registries (why do UDDI et al still matter?)
  • Attachments (just what is the WS answer to MIME?)
  • Specification as strategy (interoperation not the place to relive the API wars)

With REST:

  • Security (Basic auth is just not good enough)
  • Gatewaying between HTTP and anything else (what should happen? Is CGI the best we can do?)
  • POST semantics (generic is not the same as meaningful)
  • Events (must we poll for everything?)
  • Reliable transfer (sometimes things have to get there)
  • Toolkits and frameworks (there's one, maybe two)

It does no harm to ask why the communities are not coming together - perhaps it is bad blood from years gone by, and possibly a lack of mutual respect. Still, it's not all bad. Some anti-WS folks may be banging the drums right now, but the conversation Jim Webber, Savas Parastatidis and Mark Baker have been having over the last year, has in my opinion been an extremely positive departure. We seem to be getting down to manageable number of WS rm specs, WSDL is being scrutinized. WS-Transfer is extremely positive. In my own corner of the world, I've had extremely thoughtful feedback on HTTPLR from folks on both sides of the fence.

There is the sense that people on both sides have gotten past the AI hokum aspects of the Semantic Web and are are looking at RDF/OWL as a practical basis for descriptive content formats. While transformation to my mind remains the default means to share data, I've always thought that RDF has potential as an interlingua.

March 31, 2005 12:03 AM


Post a comment

(you may use HTML tags for style)

Remember Me?

Trackback Pings

TrackBack URL for this entry:

Listed below are links to weblogs that reference Synthesis:

» Synthesis - WS vs REST from Mchel Foghl's Weblog
Bill de hra tries to draw together some threads in the various debates on REST and WS-* over the past few years and proposes a list of challenges for each camp in the hope that some form of mutual constructive debate can lead to synthesis: Bill de hr... [Read More]

Tracked on March 31, 2005 11:20 AM

» Latest IC column: WS references from Middleware Matters
I finally put my latest Internet Computing column (March/April) up on my home page. Written a couple months ago, this one is called "Web Services References," and it analyzes some of the issues with the endpoint reference as it was defined in the origi... [Read More]

Tracked on April 2, 2005 07:48 PM