views:

4707

answers:

5

I would like to create a RESTful app on Google App Engine. I would like to provide XML and JSON services. I have briefly experimented with Restlet, Resteasy, and Jersey. I haven't had much success with any of them, other than some simple examples in Restlet.

Could you share your experiences creating a Restful web application on Google App Engine using Java or provide any insight on the aforementioned toolkits on GAE?

Thanks!

Edit (2009-07-25):

I have decided to use Restlet for the time being. It seems to work flawlessly so far. Please post any other insights/opinions you may have. What problems have you encountered? Have you successfully used Jersey/Restlet/Resteasy on GAE/J? If so, we want to hear about it!

+1  A: 

The 2 most cumbersome GAE REST API actions to make work, whether Java or .py, are graphics and how to undisplay private information. My little gae rest feed forked another project. I'm sure Java succeeds where python stuck due to the Java takes and gives more ways (advantages) as well as longer (slower) time to succeed (disadvantage) while python projects opens less ways to succeed (disadvantageous) and less development time (advantageous rapid development) to succeed the same.

LarsOn
+2  A: 

For what it's worth, there has been quite a bit of discussion on Jersey user lists wrt how to make Jersey work on GAE. It is bit tedious work due to GAE restrictions (missing classes from white lists -- hopefully resolved over time), but apparently can be made to work. So while not trivially easy, that might be your best bet; esp. since many of the problems faced are the same for all frameworks (imposed by GAE).

StaxMan
+4  A: 

I am going to begin exploring this as well, but haven't started yet. I did find this framework, that says it should work, but like I said haven't tried it yet.

http://wiki.restlet.org/docs_1.2/13-restlet/275-restlet/252-restlet.html

If you get it working, or manage to get one of the above suggestions working, update everyone as I am sure there is interest in this.

broschb
I'm pretty sure Restlet will work. It's just a bit nastier to use than the others. I particularly like the annotations that Jersey introduces. I plan on using Restlet within the next couple of weeks. I'll be sure to post an update.
JP
I spent the weekend playing around with this as well, And Restlet works great on GAE. I was able to put something together following the example given on the Restlet site at the url I left previously that is now down. But it was trivial to set everything up.
broschb
I wrote a small post on my blog to answer another question on stackoverflow. It goes through a very basic example of getting restlet going on GAE. http://broschb.blogspot.com/2009/08/restful-service-on-google-app-engine.html
broschb
Restlet now has a JAX-RS implementation. They've also begun distributing builds specifically for use on AppEngine. You'll want to use the latest 2.0 milestone (currently 2.0m4). I've just set this up as a proof of concept for a new app that's being built now. I would not recommend using Restlet's own API as it's radically generic, overly abstracted, and just generally confusing.http://www.restlet.org/downloads/2.0/restlet-gae-2.0m4.zip
Mark Renouf
http://stackoverflow.com/questions/2157857/rest-on-gae-what-implementation-to-userestlet-jersey-other
Jasper
+8  A: 

I'm happy to report that Restlet M3 works FLAWLESSLY on AppEngine 1.2.2. I have followed the "First steps" and "First resource" tutorials found http://www.restlet.org/documentation/2.0/.

So, it seems to me that Restlet is the answer for your GAE/J Restful applications.

JP
+2  A: 

I'm using Restlet together with Guice on Google AppEngine. IMHO they fit together very well. See my recent blog post for further details: http://haraldpehl.blogspot.com/2009/11/google-appengine-restlet.html

Harald