Google App Engine Java上的RESTful应用程序?

我想在Google App Engine上创build一个RESTful应用程序。 我想提供XML和JSON服务。 我简单地尝试了Restlet,Resteasy和Jersey。 除了Restlet中的一些简单例子之外,我还没有取得太多成功。

您可以分享您在Google App Engine上使用Java创buildRestful Web应用程序的经验吗?还是提供有关GAE上述工具包的任何见解?

谢谢!

编辑(2009-07-25):

我决定暂时使用Restlet。 它似乎到目前为止工作完美无瑕。 请张贴您可能有的任何其他见解/意见。 你遇到了什么问题? 你在GAE / J上成功使用过Jersey / Restlet / Resteasy吗? 如果是这样,我们希望听到它!

我很高兴地报告说,Restlet M3在AppEngine 1.2.2上无所不能。 我遵循http://restlet.com/technical-resources/restlet-framework/guide的“第一步”和“第一资源”教程。;

所以,在我看来,Restlet是您的GAE / J Restful应用程序的答案。

我在GAE上使用Jersey。 以下是有兴趣设置的链接:(我正在使用GAE SDK v1.4.0):

http://tugdualgrall.blogspot.com/2010/02/create-and-deploy-jax-rs-rest-service.html

我也将开始探索这个,但还没有开始。 我确实find了这个框架,说它应该工作,但像我说的还没有尝试过。

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

如果你得到它的工作,或设法得到上述build议之一工作,更新每个人,我相信这是有兴趣的。

我在Google AppEngine上与Guice一起使用了Restlet。 恕我直言,他们很好地融合在一起。 有关更多详细信息,请参阅我最近的博客文章: http : //haraldpehl.blogspot.com/2009/11/google-appengine-restlet.html

那么,我会高度build议你看一下播放框架

看看主页上的video

它有一个gae模块

用siena作为orm来处理gae数据存储

从迄今为止我所见过的所有的Java框架,我认为它有更容易的学习曲线,

  • 很棒的文档 ,

  • 开发一个完整的应用程序的教程

  • 非常积极和有益的社区,

  • 像啤酒一样自由,也像讲话一样自由

  • 高度可扩展,因为它是无框的devise

  • rest友好

  • 通过它的模块和插件方法高度可定制

更重要的是,考虑到这是一个大学课程,这是很容易入侵的代码,我可以处理一些门票和新function没有任何经验与Java,只是几年开发Web应用程序与PHP

其他福利

  • 开始真的很容易,不需要复杂的设置,只需下载并解压缩文件即可

  • 良好的开发经验,只需修复代码并刷新,在开发模式下运行时即时播放autocompiles更改

  • 快速和轻量级

  • 整个堆栈,你不必整合繁琐的框架来使其工作

  • 伟大的错误报告,没有更多的无尽的错误堆栈跟踪,只是显示你的错误行

  • 周围没有任何xmlconfiguration

  • 用selenium综合testing大力支持tdd

我认为作为一个学习工具的主要优点是可以在不感觉到丢失的情况下观察源代码以及社区的支持……文档非常清晰,您可以通过查看源代码来了解更多码…

由于这些勇敢的旧版解决scheme被拼凑在一起,谷歌显然已经提供了一个Eclipse插件来创build一个初始项目,生成一个App Engine应用程序,一个Android APK和一个Web应用程序,的注释对象声明。

我自己还没有尝试过,但在尝试使用上述早期消息中描述的任何异类示例之前,请先仔细阅读一下:

https://developers.google.com/eclipse/docs/appengine_connected_android

这个Googlevideo也很丰富:

http://www.youtube.com/watch?v=NU_wNR_UUn4

对于值得的是, 泽西岛的用户名单上有很多关于如何让泽西岛在GAE上工作的讨论。 由于GAE限制(白名单中缺less的class级 – 希望随着时间的推移可以解决),这是一件很乏味的工作,但显然可以使之工作。 所以虽然不是很简单,但这可能是你最好的select; ESP。 因为所有框架面临的许多问题都是相同的(由GAE施加的)。

我最近在GitHub上与Jersey,Guice和AppEngine组合了一个项目模板。 它已经被SimpleDS开发出来了,但是它可以被修改成与Objectify / JDO一起工作。 这个项目住在这里 。

这应该是新项目的一个很好的起点。

下面是一个非常好的教程Restlet / Android / GAE / Objectify与一个简单的应用程序的例子。 对不起,这是法文,但你可以复制/粘贴代码,或使用谷歌traduction。

我跟着它,并有一个工作的Android / GAE服务器在2小时内一起通信。 这是启动或testingRestlet的好基础。

http://www.tutos-android.com/webservice-rest-android-appengine-restlet-objectify

祝你好运

无论是Java还是.py,最繁琐的GAE REST API操作都是graphics以及如何不显示私人信息。 我的小家伙rest喂叉另一个项目。 我敢肯定,Java成功的地方,由于Java的Java所需要的,并提供更多的方式(优点),以及更长的时间(较慢)成功(劣势),而python项目开放较less的方式成功(不利),较less的开发时间有利的快速发展)取得成功。