My confusion with REST (this really doesn't relate to whether or not a stripes extension should support it) is that from the reading I've been doing it is more about RESTful URLs than the protocol itself. I see more RESTful proponents that mention the HTTP protocol in passing rather than up front. Its all about:
http://..../user/1234 Where do the verbs come in to play here? / I think the VERBs most commonly used in REST (PUT, GET, DELETE, POST) are all pretty self explanitory, or at the very least, easy enough to describe./ But they overlap. POST - Create, Update, Delete GET - Read PUT - Create, Overwrite/Replace DELETE - Delete So its not at clear cut as the REST folks want you to think. Sure, your RESTful framework can put constraints on the protocol by say, requiring a DELETE to actually delete rather than a POST. But the protocol itself seems flawed to not inherently specify that. Just my 2 cents. Gregg Nick Stuart wrote: > > See Remi this is where I get confused. You say REST makes everything > more complicated and that POST is enough. The thing is though, that > besides the implementation by whatever framework for REST (which only > really needs to be understood/coded by a few folk) it's no more > complicated from the users of that particular framework perspective. I > think the VERBs most commonly used in REST (PUT, GET, DELETE, POST) > are all pretty self explanitory, or at the very least, easy enough to > describe. I just don't see where you get all these complications from. > As Will pointed out REST can be thought of as a 'lightweight' SOAP for > a lot of things. If you want to make it really dumbed down just think > as REST as kind of a automatic Action mapper for incoming requests. > > Also, I do want to say that I know REST doesn't fit everywhere and > wouldn't make sense to use everywhere. Heck, most of our app here > doesn't and wont use it, but there are some parts where it would fit > nicely. I am not saying REST is a magic bullet, and I do agree that > people that think that way are going a little to far, but I can a > place in the great expanse of intertubes for it. > > -Nick > > > On 7/10/08, *VANKEISBELCK Remi* <[EMAIL PROTECTED] <mailto:[EMAIL > PROTECTED]>> > wrote: > > Hey Will, folks, > > Yeah it's hectic here, but I'm still alive :) > > Drifting off-topic again, but hey, it's been a while... Nervous REST > fans, please skip, unless you have an answer to the magic question. > Then I'll shut my big mouth up forever with this REST thing :-P > > I fully understand your concerns Will, really. I'm amongst those who > also think the browser is turning into a Virtual Machine unfortunately > : I tend to prefer a JVM for that purpose ! > But still, I believe there are much simpler ways to achieve RPC from > the browser ('cause that's where it all boils down to eventually). > Ways that don't require a deep understanding of a crappy protocol > originally designed for serving static documents, and that some crazy > guys pathetically try to turn into an ORB... > > I know, it's harshe. But to me, the REST mood really looks like a > bunch of people turning something simple and effective for some given > use cases (post a request, get JSON back. period.) into something > complex and verbose that doesn't have any added value over the > "simple" version... Really, feels like I've already seen that movie. > Several times. > > I really think POST + request parameters + interoperable data > interchange format is enough for the web. I don't understand the added > value of REST, knowing that it's not as simple as sending a request to > an URL, passing parameters, and getting a result back. Typing system > apart, this is... a function call ! There has never been any headers > or verbs in procedural languages... so back to my original question : > what's the point ? What use case is better implemented using pure REST > than a more simple and pragmatic approach ? I can't think about a > single example... > > Anyway, I probably missed something, all those folks can't be wrong... > (even if they have proven they could by the past) > So I guess REST folks have reasons to use this type of "middleware", > even if I can't understand those (erf, nobody actually ever gave me > one). > > But I agree on a given point : Stripes is probably a perfect > foundation for building a REST fwk... As I use to say, Stripes is what > the servlet API should be, so any piece of software that responds to > an HTTP request is probably easier to buid on top of our favorite web > fwk ;-P > > Cheers > > > Remi > > > On Wed, Jul 9, 2008 at 5:50 PM, Will Hartung > <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote: > > > > On Jul 9, 2008, at 7:43 AM, VANKEISBELCK Remi wrote: > >> > >> You're kidding ? I've posted a full email about this ! And > you'll note > >> that nobody yet answered the magic question : what's the purpose ? > > > > Hi Remi! Welcome back, you've been missed, or you owe somebody > money -- > > anyway, there's always that "Where's Remi" floating around. > > > > It's the crack of dawn over here in the Wild Wild West, we like > our Sun a > > little later than y'all. > > > > Here's the deal, I'm not going to "sell you" on REST and its > merits, as I > > may as well be trying to sell you on why Pagan Rituals suit some > better than > > others for their spiritual needs, by email...across language and > cultural > > barriers. No. Not going to happen. > > > > Simply accept that the REST architecture and advocates represent a > > philisophical approach to application design. > > > > A core tenet to supporting REST, however, is full support and > exposure of > > the HTTP protocol, with all its headers, codes, and verbs/methods. > > > > Right now, Stripes handles much of the Hard Work of working with > HTTP > > requests. Specifically binding. Upon that it adds event dispatch > which makes > > writing logic for a classic web UI application easier. Finally, > we get nice > > benefits through its validations and such. > > > > That means that if someone wanted to create an application in > the REST > > style, they, too, could leverage all of those benefits that Stripes > > provides, as they're necessary even for a REST application. It > is just HTTP, > > after all. > > > > However, because Stripes is focused on a Web UI applications, > which relies > > on the browser being the client, Stripes has a limited view of > the HTTP > > protocol, limited to effectively just that small part of the > protocol > > supported by the classic web browser. > > > > Now, of course, being that it's built on top of the Servlet spec, a > > developer always has access to the raw HTTP request, and can do > anything he > > wants. So, really what work is to be done? > > > > But you could argue the same thing about Stripes. Servlets give > us the raw > > parameters for us, we don't have to parse HTTP requests or > anything, so what > > value does Stripes have? Obviously quite a bit, it's a stupid > question. > > > > There are 2 major forces in the Web Service arena today. SOAP > and everyone > > else. "Everyone else" includes ad hoc web service, screen > scraping, XML-RPC, > > and REST. > > > > SOAP is the 800 pound guerilla, which is its blessing and curse. > I think the > > standard documents alone weigh 800 lbs. > > > > I'm not here to advocate or condemn SOAP. But I mention it > because many see > > the REST architectural style as a different, "lightweight" path > of doing web > > services as compared to SOAP. Yet, REST is a bit more formal > than Ad Hoc web > > services. > > > > I also feel that, long term, the browser as an application > platform is going > > to get "thicker and thicker". I believe that more and more > applications will > > be simply running within the browser, and use some kind of web > service to > > talk to the back end systems. > > > > When you can use software tools to help make those web service > calls, SOAP > > has a leg up. Huge application framework reduce that 800lbs of > documentation > > in to a simple annotation. > > > > However, when you have to hand code those web services, folks > fall back to > > something simpler. There are few folks that like crafting SOAP > envelopes and > > messages by hand. And REST as an application idiom and style > happens to fit > > that role of a "simpler web service" quite well. You get a > simple web > > service, yet you get some overall structure and, ideally, implied > > compatibility with other REST style web services. > > > > So, I can see how many folks will be writing fatter browser > applications, > > and want to talk to a REST style back end application. > > > > I see no reason why Stripes can not fill that role as a back end > framework > > quite well. > > > > As I said, I haven't seen an Action framework that handles both > REST and the > > classic action problems we have as web UI application > developers. And I > > think there is value in having a single framework that can do both. > > > > For example, Nick mentioned they're using Jersey. I assume > they're bundling > > it with Stripes. So, now he has to learn and juggle both > frameworks in order > > to provide services to his application. For example, if he has a > web form, > > he may front that with Stripes, whereas his REST version is > fronted with > > Jersey. Ideally, the code is refactored out and facaded by each > framework. > > Wouldn't it be nice to not have to do that. > > > > As I outlined, I think that making Stripes a better REST citizen > is a minor > > uplift to what it already does, that's what makes this an even > better idea. > > If all we have to do is add an annotation, play a bit with > dispatch and add > > some utility classes, and we get a REST friendly framework with > all of the > > current Stripes functionality "for free"? Seems like a powerful > combination > > to me. > > > > Also, it's a testament to the appeal of a REST style > architecture that > > something like Stripes could be readily enhanced to better > support it. It > > uses what "we already know", and just adds a few rules and style > points. > > > > If I proposed supporting SOAP to Stripes, there'd be a mob > outside my door > > with torches and pitchforks! And if I were crazy enough to > propose adding > > SOAP to Stripes, I would have opened that door because I'd > deserve whatever > > the mob dealt upon me. What an insane idea. > > > > Finally, as I also mentioned, the hope is that this can all be > done in > > Stripes Stuff without have to tweak Stripes core at all. I'm > 100% in to keep > > Stripes simple, and not adding extra cruft in to it. But I do > think that > > since Stripes lingua franca is HTTP, that it could benefit by > speaking it a > > little bit better than it does now. > > > > I solicited feedback here to try and iron out thoughts and > details about how > > this might be pulled off, because, as everyone knows, I'm the > last person to > > talk to about how Stripes works. I'll advocate it from the roof > tops, but I > > use 1% of the framework and just live happily in my little > corner. So, > > Others know better about how perhaps this kind of upgrade can be > pulled off > > than me. > > > > Regards, > > > > Will Hartung > > > > > > ------------------------------------------------------------------------- > Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! > Studies have shown that voting for your favorite open source project, > along with a healthy diet, reduces your potential for chronic lameness > and boredom. Vote Now at http://www.sourceforge.net/community/cca08 > _______________________________________________ > Stripes-users mailing list > Stripes-users@lists.sourceforge.net > <mailto:Stripes-users@lists.sourceforge.net> > https://lists.sourceforge.net/lists/listinfo/stripes-users > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! > Studies have shown that voting for your favorite open source project, > along with a healthy diet, reduces your potential for chronic lameness > and boredom. Vote Now at http://www.sourceforge.net/community/cca08 > ------------------------------------------------------------------------ > > _______________________________________________ > Stripes-users mailing list > Stripes-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/stripes-users > ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ Stripes-users mailing list Stripes-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/stripes-users