Search the web
Sign In
New User? Sign Up
rest-discuss · REST Discussion Mailing List
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Hear how Yahoo! Groups has changed the lives of others. Take me there.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
GoogleAPI is Rest?   Message List  
Reply | Forward Message #1152 of 14031 |
Sam says:
> I've been doing some reading on REST. I'm not convinced that REST
> dictates GET. Here are three quotes from Roy Fielding, the
> "inventor" of REST:
>
> REST is an architectural style -- it does not dictate protocol syntax.
> There's no basis for "everything must use GET" in Web architecture.
> there is a trade-off between GET and POST that usually involves the
> size of the parameter content.
>
> I'm now convinced that one can architect a system in accordance
> to the principles of REST and then implement that system using
> RPC style, HTTP transport, POST binding, SOAP.
http://radio.weblogs.com/0101679/2002/04/28.html#a414

I think that most REST fans would agree this far. You *could* architect
a system according to these principles. After all, SOAP is just a
syntax. But if the relevant specifications do not encourage or require
this, then you will have no interoperability with someone else who
happens also to have read Roy's thesis but, for instance, to have called
his "GET" method "fetch" and his "PUT" method "chuck." And furthermore,
the WAY you say "where to get from" and "where to put to" will be
non-standard: SOAP does not encourage nor require you to use URIs as
resource identifiers.

HTTP is a *standard* way of doing REST over the Internet. Now of course
we could reinvent REST-on-the-Internet in SOAP syntax two layers above
HTTP but it seems a little bit ridiculous to me. A better strategy is to
use SOAP as an extension to HTTP that adds the features HTTP lacks.

> ... In fact, I'll go
> further and state that the GoogleSearch is an instance of this.

I disagree. Here are the four principle ideas of REST:

1. identification of resources;

Google does not identify resources explicitly. I had to infer that every
method/parameter combination was a resource. Then I built a layer that
identified each of those URIs through the Web's addressing mode: URIs.

2. manipulation of resources through representations;

SOAP has no concept of either resources or representations and the
Google API certainly did not add them!

3. self-descriptive messages;

Okay, I'll concede this: SOAP may be ugly but its not quite binary!
Still on a scale of 1 to 10, the HTTP version wins! But more important,
the HTTP version is self-descriptive to *any HTTP intermediary*
including a cache or proxy. The SOAP version is self-descriptive only to
intermediaries trained to expect the particular method names.

4. and, hypermedia as the engine of application state

In order to shorten the article, I left out a couple of paragraphs with
examples of ways that Google *could* have used hypertext as the engine
of application state.

"For instance, imagine if the search API returned a URI to the cached
page, just as it does in the HTML version of Google. I could declare in
WRDL (as opposed to WSDL) that the cachedPage element of searchResult
resources points to a document of type text/html. I could also define a
resource type for Google "directory catalogs", then I could declare
strong types (XML namespaces or schemas) for the links from search
results to the directory catalogs and back. WRDL is designed (okay,
being designed) to mirror the structure of the Web, rather than impose a
component-oriented view on top of it."

It would be great to have bidirectional links from the Google XML
repository to the Open Directory XML repository! It would take much more
effort to do the thing with SOAP and it would not scale as well to
several directory services (with potentially varying APIs) and several
search engines (with potentially varying APIs).

I've documented the technical weaknesses of the Google solution. In
particular, nothing is addressable and that makes it incompatible with
any tool that can only work with addressable information. The ones I
happened to mention will probably elicit a yawn from the SOAP crowd
(XSLT -- so 1999) but the more important point is that any other web
service that wants to interoperate with Google will have to explicitly
hard-code those three methods instead of "just knowing" that a URI is
sufficient to get information out.

I didn't mention REST in the article because I think that we make more
progress when we approach from a concrete technical point of view. Plus,
I suspect Roy is getting sick of the REST hype.

Paul Prescod



Tue Apr 30, 2002 11:36 pm

paul@...
Send Email Send Email

Forward
Message #1152 of 14031 |
Expand Messages Author Sort by Date

... http://radio.weblogs.com/0101679/2002/04/28.html#a414 I think that most REST fans would agree this far. You *could* architect a system according to these...
Paul Prescod
paul@...
Send Email
Apr 30, 2002
11:36 pm

If you found that weblog entry interesting, I'm sure that you will enjoy this one: http://www.oreillynet.com/cs/weblog/view/wlg/1351 - Sam Ruby...
Sam Ruby
rubys@...
Send Email
May 1, 2002
12:10 am

... Sam, I am sincerely disappointed in this misleading characterization of REST. If it stems from just not knowing about the issues, then I hope that you'll...
Aaron Swartz
me@...
Send Email
May 1, 2002
1:04 am

... Sam, really, you need more than "a few days" to grok REST, especially when you're likely used to seeing the world through RPC tained eyes. It took me...
Mark Baker
distobj@...
Send Email
May 1, 2002
1:06 am

[mailed and posted: http://www.oreillynet.com/cs/user/view/cs_msg/7147] I'm not convinced that it is productive to do a point-by-point argument against the...
Paul Prescod
paul@...
Send Email
May 1, 2002
1:58 am

[mailed and posted: http://www.oreillynet.com/cs/weblog/view/cs_msg/7148] ... Perhaps we could have a F2F discussion at the ETCON? Want to schedule a BOF? I...
Sam Ruby
sa3ruby
Online Now Send Email
May 1, 2002
2:35 am

Huh? Their genius was in recoginizing that "content is king" and they've got the content - and the poor schmucks trolling for something interesting to do with...
Asynch Messaging
asynch_messaging@...
Send Email
May 1, 2002
4:57 am

... There are a bunch of missing pieces. WSDL for HTTP resources needs to happen. Work on event models needs to get finished. Maybe store and forward (the...
Lucas Gonze
lucas_gonze
Offline Send Email
May 1, 2002
1:34 pm

... Perhaps, but with nowhere near the urgency, and nowhere near the complexity of WSDL. WSDL exists, and is a necessary part of Web Services, because you...
Mark Baker
distobj@...
Send Email
May 1, 2002
2:55 pm

... WSDL for HTTP is -- as far as I can tell -- exactly as functional as WSDL for SOAP. That doesn't mean that WSDL is REST-ful, but it does mean ... How does...
Paul Prescod
paul@...
Send Email
May 1, 2002
4:44 pm

... Point taken. ... By allowing SOAP-RPC to be transported over event protocols such as JMS, and by having a more fleshed out model for intermediaries....
Lucas Gonze
lucas_gonze
Offline Send Email
May 1, 2002
5:19 pm

... Are you saying the processing style depends on the underlying protocol SOAP is carried over/through? I thought SOAP was supposed to be a protocol. Bill de...
Bill de hÓra
bdehora
Offline Send Email
May 1, 2002
9:29 pm

I'm not Lucas. 8-) ... Those two things aren't inconsistent. WebDAV is both a protocol and an HTTP extension. SOAP can be used in the same way. Indeed, this...
Mark Baker
distobj@...
Send Email
May 1, 2002
9:36 pm

... ? ... Maybe they're not exclusive, I'm not sure. A (network) protocol is interesting insofar as it's a useful abstraction (of the network). Having to think...
Bill de hÓra
bdehora
Offline Send Email
May 1, 2002
9:59 pm

... But that's the rub. The Web *is* your application. Or more precisely, to use the Web, you have to form your application in the shape of the Web;...
Mark Baker
distobj@...
Send Email
May 2, 2002
1:05 am

... Absolutely! ... Key word: "was". Seriously, SOAP may meet some technical definition for "protocol" but I'd say it is really some kind of meta-protocol or...
Paul Prescod
paul@...
Send Email
May 1, 2002
10:29 pm

Is there anything to accomplish via a BOF at ETCON? IE, a convincing agenda?...
Lucas Gonze
lucas_gonze
Offline Send Email
May 1, 2002
10:34 pm

I submitted a description for an ETCON BOF called "Alternative Web Services Architectures". I don't think that in one or two hours we can make huge progress...
Paul Prescod
paul@...
Send Email
May 2, 2002
12:37 am

... Care to run a BOF on any of the below? Not sure which one "Alternative Web Services Architectures" is... * "Standardization of Web Services" *...
Lucas Gonze
lucas_gonze
Offline Send Email
May 2, 2002
1:59 pm

... I posted a few suggestions at http://www.oreillynet.com/cs/weblog/view/wlg/1360...
sa3ruby
Online Now Send Email
May 2, 2002
1:01 pm

... FYI (not to imply that you are suggesting otherwise, but I have seen others comment on this) http://www.w3.org/TR/SOAP/#_Toc478383529 - Sam Ruby...
Sam Ruby
sa3ruby
Online Now Send Email
May 2, 2002
3:06 pm

[mailed and posted: http://www.oreillynet.com/cs/weblog/view/cs_msg/7174] I think talking about whether REST applies to long lived conversations would be a...
S. Mike Dierken
mdierken
Offline Send Email
May 3, 2002
12:31 am

... But WebDAV is only designed to run over HTTP or perhaps over protocols with very HTTP-like characteristics. If you use a WebDAV library you know what to...
Paul Prescod
paul@...
Send Email
May 1, 2002
10:48 pm

... Well put. What are the missing pieces? - discovery (wsdl-style declarative formats, intellisense-tool friendly stuff, etc.) - clients (do we need to write...
S. Mike Dierken
mdierken
Offline Send Email
May 2, 2002
12:50 am
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help