On Nov 25, 2007 8:28 AM, Sanjiva Weerawarana <[EMAIL PROTECTED]> wrote: > Nick Gall wrote: > > > > Interfaces based on the REST style are much further along the uniformity
> > curve than the typical styles associated with use of WSDL. In my > > opinion, attempts to spin RESTful interfaces as being just as custom as > > the typical WSDL-based interface are disingenuous. > > Come on Nick .. I wasn't trying to "spin" anything- merely pointing out > that the interface of a RESTful service is most certainly != HTTP's 4 > operations. That's a commonly held misconception. > > That's *why* RESTful services need something like WADL- someone has to > tell you how to format those URIs. Even Roy agreed with that. You come on Sanjiva... <grin> First, saying REST/HTTP isn't a general purpose application protocol just because it is used across different URLs that do different things is like saying that TCP/IP isn't a general purpose network protocol just because it is used across different port numbers that do different things. Second, just because we need a way to describe the syntax of something, be it an operation or an identifier, doesn't IN ITSELF imply we need a FORMAL language for such a description. You only really need a formal description language when you want software to generate implementation code for the description, eg "tooling". RESTful interfaces have gotten pretty far so far with a minimum of formal description languages. I'm generally against premature formalization/standardization. I think my "spin" characterization was a response to your choice of strongly loaded words to make your presentation more entertaining; words like "LIE" and "MYTH". I don't think its a "Lie" to say that "RESTful services have a uniform interface". It may be "oversimplifying" or "not completely accurate", but its hardly a lie. Calling the uniformity of RESTful interfaces a "lie" (in comparison to the typically much more specialized WS-* interface) is disingenuous. I was trying to be moderate in my language, by using "disingenuous" instead of words like "lie". Sorry if I offended. Finally, whether the current generation of RESTful services are more uniform or not, I hope we are in agreement on this far more important issue: ONLY REST -- the architectural style -- emphasizes the importance of making interfaces as general/uniform as possible as one of its most fundamental design principles/constraints. Accordingly, when comparing interface styles, the one that is the most uniform/general is the most RESTful (all other things being equal). And uniformity applies to all aspects of an interface -- its identifiers, formats, and protocols. How about one of the following as a compromise assertion for your next presentation -- "Lie: RESTful services require ONLY uniform operations" or "Lie: REST's uniform operations are all you need for uniform interfaces." Then you could talk about how Google discovered that this wasn't true, and embraced and extended AtomPP into GData to try to impose even more uniformity across its diverse services. I use this example all the time in my presentations. -- Nick
