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...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

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
Atom, 'process-this'-POST and rockets   Message List  
Reply | Forward Message #7120 of 14020 |
Hi,

HTTP defines the semantics of POST (roughly speaking) as 'add to collection' and
'process
this', the latter being the case where the POSTed data is only processed and no
resource is
created.

I have just come to think that the Atom Publishing Protocol[1] not only uses
HTTP but also
constrains it further by excluding the 'process this' semantic of POST (at least
when
interacting with an APP collection). Resource creation upon POST is mandatory
for an APP
collection.

When designing a system using HTTP *and* APP (meaning: assuming them both to be
pervasive) this has an (IMO) interesting effect on the options you have when
designing how
to 'get stuff done'. If I want to launch a rocket for example, I can only do
this through
manipulation of resource state and not through having a
rocket-launcher-processor
process some rocket-launch-control data. I either need to set the state of a
given rocket-
resource to 'launch' or I need to ceate a rocket-resource, maybe with some
appropriate
control data (which is IMHO equivalent to intended-resource-state-after-creation
- see
app:draft[2][).

Actually, I wonder if actions that are performed through 'process this'-POST
(and not
through manipulation of resuorce state) aren't in fact hidden RPC anyhow and
thus are
against REST's architectural principles. In which case APP would rather be
setting matters
straight as opposed to adding an additional constraint.

Practically, I think that having less design options for how to get an action
done in a
system helps people understand how to approch systems design with REST.

Now, if that does make any sense at all, I'd be very interested in comments on
this.

Jan



[1] http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-11.html
[2] http://bitworking.org/projects/atom/draft-ietf-atompub-
protocol-11.html#rfc.section.12.1.1





Thu Nov 30, 2006 12:44 pm

algermissen1971
Offline Offline
Send Email Send Email

Forward
Message #7120 of 14020 |
Expand Messages Author Sort by Date

Hi, HTTP defines the semantics of POST (roughly speaking) as 'add to collection' and 'process this', the latter being the case where the POSTed data is only...
algermissen1971
Offline Send Email
Nov 30, 2006
12:51 pm

... From: "algermissen1971" <algermissen1971@...> ... this'-POST (and not ... and thus are ... I don't think so. 'process this'-POST can be thought of as...
Walden Mathews
waldenmathews
Offline Send Email
Nov 30, 2006
1:16 pm

+1...
Mark Baker
gonga_thrash
Offline Send Email
Nov 30, 2006
3:14 pm

Hi all, I've recently been wondering about this as well. What exactly is the "RESTful" way to handle side-effects? Is the goal to define resources for...
Dr. Ernie Prabhakar
sandhyaprabh...
Offline Send Email
Nov 30, 2006
5:52 pm

... There can easily be side effects in a REST system (though I'd certainly try to minimize them, just as I would in an OOP system). The key is to make sure...
Elliotte Harold
elharo@...
Send Email
Nov 30, 2006
6:25 pm

Hi Elliote, Is there any guideline on "what" side effects are allowable? For example, should it only impact resources that are either i) named by the request...
Dr. Ernie Prabhakar
sandhyaprabh...
Offline Send Email
Nov 30, 2006
6:31 pm

... If in handling a POST, the server cannot affect resources other than the one named, how would orders cause deliveries and charges to credit card accounts?...
Bob Haugen
bob.haugen@...
Send Email
Nov 30, 2006
6:49 pm

Hi Bob, A fair question. My assumption is that to do this, the POST should -- at some level -- *include* the resources it is affecting, such as "address" and...
Dr. Ernie Prabhakar
sandhyaprabh...
Offline Send Email
Nov 30, 2006
7:09 pm

... Practically speaking, how would the ordering agent know the URI for e.g. Amazon's credit card processor? All the ordering agent knows is their credit card...
Bob Haugen
bob.haugen@...
Send Email
Nov 30, 2006
7:40 pm

... Any side effects are allowable with POST. GET is what shouldn't have side effects, aside from the trivial (e.g. updating a hit counter), Now in general...
Elliotte Harold
elharo@...
Send Email
Nov 30, 2006
8:34 pm

The side effects are not part of what the client intends. For example, PUTting to resource X may cause resource Y to cease to have a representation, but this...
Walden Mathews
waldenmathews
Offline Send Email
Nov 30, 2006
7:26 pm

... See my point elsewhere about APP. It introduces these kinds of side-effects, but in a predictable fashion. You can't always work with a collection/iterator...
Bill de hOra
bdehora
Offline Send Email
Dec 1, 2006
1:00 pm

Yeah, POST is the protocol equivalent pointing at something and grunting at someone. Who knows what will happen in that language game [1]. What you do know is...
Bill de hOra
bdehora
Offline Send Email
Dec 1, 2006
12:55 pm

... Except for the grunting part, yes. The entity in a POST can be a lot more elaborate and formal (and therefore more expressive) than a grunt, though....
Walden Mathews
waldenmathews
Offline Send Email
Dec 1, 2006
1:56 pm

... It's still grunting. Elaborate here would means two fingers. ... Apply Grice's maxims. Don't grunt when you have a better way of saying things. ... What...
Bill de hOra
bdehora
Offline Send Email
Dec 1, 2006
2:22 pm

Bill, I once had an unaltered tomcat as a pet who hunted quite well and on more than one occasion POSTed a dead rabbit on my back doorstep. He didn't use...
Walden Mathews
waldenmathews
Offline Send Email
Dec 1, 2006
9:04 pm

Nice try. The rabbit's not a communication act, it's an indexical - you infer in passing the tomcat left the rabbit - it's not as though the tomcat told you it...
Bill de hOra
bdehora
Offline Send Email
Dec 2, 2006
1:50 am

Of course not, the rabbit is the entity. But I can see this is going nowhere. Did you have a point to make about POST being degenerate (whatever you mean by...
Walden Mathews
waldenmathews
Offline Send Email
Dec 2, 2006
2:11 am

... I think it is. HTTP without POST is an interesting gedanken experiment. It's like having English without "just do it". POST is uniformly devoid of meaning;...
Bill de hOra
bdehora
Offline Send Email
Dec 2, 2006
3:18 pm

... IMO, POST adds to the game the ability to request a resource creation from a specific server. When I only have PUT, I can find out whether a PUT succeeds,...
Jan Algermissen
algermissen1971
Offline Send Email
Dec 2, 2006
4:03 pm

... Sure, but are storage (to store) and creation (to create) always the motivating reasons? And aren't they different methods? It often seems to me that POST...
Bill de hOra
bdehora
Offline Send Email
Dec 2, 2006
4:36 pm

... I guess so, yes. My view is that POST, by totally generalizing operation semantics, moves all the emphasis on abstract resource behaviour or capability. It...
Jan Algermissen
algermissen1971
Offline Send Email
Dec 2, 2006
6:53 pm

... Aye. As much as people like to talk about the 4 Holy Operations, it pretty clear that only 2 are in practical use, and I don't think that is because HTML...
Josh Sled
joshsled
Offline Send Email
Dec 3, 2006
4:32 pm

... +1. If you itemized all the possible state-changing things that one might want to do via a form, I bet the vast majority would be non-idempotent. Most...
Mark Baker
gonga_thrash
Offline Send Email
Dec 4, 2006
5:15 am

... Even only one op ("thing"?) was state changing, the point here is that forms are where people are deriving their notion of uniformity from. So, sorry to...
Bill de hOra
bdehora
Offline Send Email
Dec 4, 2006
2:12 pm

... I was assuming the utility in GET was apparent; that of all the things one might want to do over the Internet, the bulk are requests for data (and the bulk...
Mark Baker
gonga_thrash
Offline Send Email
Dec 4, 2006
8:52 pm

... By definition, this isn't a design approach based on uniformity unless html is the definition of what uniformity is. Which is my point - it has been. ... ...
Bill de hOra
bdehora
Offline Send Email
Dec 6, 2006
5:45 pm

... There are people who think the important distinction is safe vs. unsafe, and the rest of it is nitpicking. Sometimes I'm one of them. -- Robert Sayre "I...
Robert Sayre
robertsayre2000
Offline Send Email
Dec 4, 2006
3:30 am

... I just did an interview with Bill Venners on exactly this: http://www.artima.com/lejava/articles/why_put_and_delete.html -- Elliotte Rusty Harold...
Elliotte Harold
elharo@...
Send Email
Dec 31, 2006
11:07 am
First  | < Prev  |  Last 
Advanced

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