REST Q & A – enough already


Tim Bray at Sun has some questions and comments on REST.


First, let me say that the religious wars over WS-* and REST seem to be generated by a very small number of people who have a very large amount of spare time. Don’t these people have things to do


Can it possibly be enlightening or helpful for anyone at this time to read Mr Tim Bray’s opinion, once again, that XSD and WSDL are “lousy and malformed”?  Really?  Wait, let’s read four other “Thinkers” who chime in with their own artfully crafted prose stating their position on how much they dislike XSD.


This is all utter baloney.  While one class of people will debate endlessly about the number of angels that can fit on the head of a pin, there are other people who have real jobs.  They need to get stuff done, they need to connect systems together in their own enterprise, or connect with partners.  Or they need to build frameworks and tools to help other people connect systems together.  Yes, XSD isn’t as simple as we’d like.  Yes, it’s hard to implement the spec.  Yes, there are strange corners in the spec.  Ok, already.  We got it.  We’ve heard it all.  And governments are wasteful and the tax system is unfair, too.  We mortals who have stuff to do – We have already accepted the imperfect nature of our circumstances.  We get that it isn’t all as it should be, if we had designed everything with the foreknowledge that comes from experience.  That’s the paradox, isn’t it?  You only go around once, but you learn as you go.  …. Ok then, being practical we-have-stuff-to-do people, we don’t sit around and dwell on what might have been, but we accept the reality and move on.  Ferpeetesake!   GET ON WITH IT, Bray. 


Bray also repeated the complaint that WS-* was produced by “A Microsoft/IBM-driven process that was cripplingly product-linked and political.”  Such a naive opinion to be repeating.  The way Bray wrote it, he could easily duck and say “it wasn’t ME who said it, I was only repeating what someone else said. . .”  Uh-huh. 


Let me say this about that: While it is true that the representatives of large software vendors will inevitably represent the interest of the vendors in any spec standardization and rationalization process, to conclude that the vendors are unimportant or somehow harmful to the process is naive beyond belief.  Suppose that the vendors did not participate in the WS-* process.  Then what?  Then WS-* is unsupported and you have no tools to use.  Then the vendors go and build something else and you have fragmentation in the marketspace and no agreement on what to use, and interop is still a pipe dream.  Sure the vendors change the process, but isn’t that what the horse-trading process is about?   Without the vendors, what would you have gotten?


And don’t even tell me REST.  REST is only possible having followed the WS-* effort.  REST benefits from all the foundation work on XML (whether you like XSD or not).


Ok, so large vendors were hard to work with.   How about some cheese with that whine?   Once again, isn’t this just the way the world works?  It’s like buying a house and later complaining that the seller wouldn’t give you the price you wanted.  It’s a negotiation, Bray.  You can’t get everything you want.


But that’s the strange part. Recently, Bray himself cited a book about donkeys, and how they find tranquility in a chaotic world.  Donkey sense.  But this is exactly what Bray is NOT doing. 


—–


Bray mentioned a dearth of tools around REST.  He cited Restlet and Jersey as exceptions.  I don’t know Jersey, but I do know Restlet, a lightweight REST framework for Java.  If he mentions Restlet, why would Bray not also mention Windows Communication Foundation (WCF), I wonder?  is it lack of knowledge?   just jingoism?  (edit: I suspect the latter, having read Bray’s smug self-satisfied tone in his previous comments on the REST support in WCF.  It’s obvious he himself knows about WCF; I conclude he just doesn’t want anyone else to know.)  What I tried to post to Bray’s comment section on his post of today (didn’t work for some reason, the “pre-parse anlayzer could not be found” or some such drivel) is this:  WCF since v3.5 provides a nice framework for building servers and clients that use message-based communication models, whether SOAP and WS-* based or REST based.


People can object and say that “it’s not purely REST” but the beauty of WCF is that it is MESSAGE BASED, which Mr Bray apparently loves – and you the developer can defer your protocol choice (though not your arch model) until deployment.


Unlike Restlet, WCF is mainstream, in wide use.  It is well supported by mainstream development tools, and there is plenty of good information on the web in the form of tutorials, sample apps, and so on.  WCF is well tested and performance-tuned.  It is of course very interoperable: regardless whether you use WCF on the client-side or on the server-side, you’re gonna be able to connect with arbitrary REST endpoints, regardless of the language or platform those other endpoints use.   


I would say more, but I gotta go; I have stuff to do.


 

Comments (9)

  1. Tim says:

    >Bray also repeated the complaint that WS-* was produced

    >by "A Microsoft/IBM-driven process that was cripplingly

    >product-linked and political."  Such a naive opinion to

    >be repeating.  The way Bray wrote it, he could easily

    >duck and say "it wasn’t ME who said it, I was only

    >repeating what someone else said. . ."

    Nope. That was me saying that.  I’d say that my belief is well-supported by the evidence.

    >And don’t even tell me REST.  REST is only possible

    >having followed the WS-* effort.  REST benefits from

    >all the foundation work on XML (whether you like

    >XSD or not).

    [Trying not to snicker.]  Really, check some dates and facts.  This is technical illiteracy at the level where tragedy and comedy merge.

    Delighted to hear about WCF.  Yes, I’m a little out of touch.  I assume it’s straightforward to build AtomPub, both client and server, on WCF.latest?  I’d link to that with a cheer.

    – Cheers, Tim

  2. Could you elaborate on what part of REST is based on XML or XSD? I can’t find such references.

  3. DotNetInterop says:

    You Restafarians just want to fight, don’t you?  Tilkov, read what I wrote.  I did not say REST is built on XSD.  But just in the same way that WS-* learned from (but did not built upon) Corba, REST learned from prior art as well.  

    And Bray, you ALREADY mentioned WCF as a framework for REST, over a year ago (See my post).  It’s just that you’ve decided to forget that you knew it.

    Love to stand around and kibbitz with you both.  But I have work to do.

  4. DotNetInterop says:

    Bray, here’s the doc on WCF that describes the class model for producing and consuming AtomPub . http://msdn.microsoft.com/en-us/library/system.servicemodel.syndication.aspx  

  5. jonflanders says:

    Dino –  you did say "REST is only possible having followed the WS-* effort"  which is pretty much backward.  WS-* was only possible after REST, since REST was first introduced in 2000 as a concept, but it was based on the way the web worked (it can be IMO thought of a codification of the architecture of the web).

    SOAP – which came out around the same time as Felding’s disseration would’t have come about except for the web having been there.

    I assume that’s what Tim was referring to in terms of technical inaccuracies.

    REST was created before XSD, so XSD wasn’t a prior art that REST "learned" from.  Which may be what Stephen was referring to.

    Regardless of how much the WS-* specs where influenced by vendors or not (or how much that affects their usefulness), what is true is that REST is a codification of something that was already a huge sucess.  WS-* is a set of specification about how a number of vendors *think* services should work, they are just made up (certainly they are based on a number of prior technologies that do work, but they are all new and untested).

    Not trying to add to any religous arguments here, but just help get the facts straight on the MS side of the fence :)

  6. Ryan Haney says:

    I’d love to post a comment regarding this large post about how people that argue about REST vs. WS-* have too much time on their hands – but I have too much to do. :-)

  7. Brandon says:

    >And don’t even tell me REST.  REST is only possible

    >having followed the WS-* effort.

    Help me understand this, can you be more specific? I’m not interested in a religious debate, I just want to know more.

  8. DotNetInterop says:

    I mean to say, it is not reasonable to assume that the world could have arrived at "today’s REST" without the vendors, and without the vendors having gone through the extensive collaborative work necessary to pull off WS-*.   I am not talking about when REST was born.  I am talking about, today’s state of the world.  It is not logical to assume the current state of REST would be reached, had the world (including the vendors) not gone through WS-*.  

  9. Nick Gall says:

    "It is not logical to assume the current state of REST would be reached, had the world (including the vendors) not gone through WS-*." I completely agree with this statement, assuming what you meant was that the world couldn’t have fully appreciated the strengths of REST without first experiencing the weaknesses of WS-*.

    We do not so much "stand on the shoulders of giants" as we build out of the ruins of fallen giants.

    http://ironick.typepad.com/ironick/2008/07/out-of-the-ruins.html