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

Reply via email to