web-dev-qa-db-fra.com

Application RESTful sur Google App Engine Java?

Je souhaite créer une application RESTful sur Google App Engine. Je souhaite fournir des services XML et JSON. J'ai brièvement expérimenté avec Restlet, Resteasy et Jersey. Je n'ai eu beaucoup de succès avec aucun d'entre eux, à part quelques exemples simples dans Restlet.

Pourriez-vous partager vos expériences de création d'une application Web Restful sur Google App Engine en utilisant Java ou fournir des informations sur les boîtes à outils susmentionnées sur GAE?

Merci!

Modifier (25/07/2009):

J'ai décidé d'utiliser Restlet pour le moment. Cela semble fonctionner parfaitement jusqu'à présent. Veuillez publier toutes les autres idées/opinions que vous pourriez avoir. Quels problèmes avez-vous rencontrés? Avez-vous utilisé avec succès Jersey/Restlet/Resteasy sur GAE/J? Si tel est le cas, nous voulons en entendre parler!

82
JP Richardson

Je suis heureux d'annoncer que Restlet M3 fonctionne parfaitement sur AppEngine 1.2.2. J'ai suivi les didacticiels "Premières étapes" et "Première ressource" trouvés http://restlet.com/technical-resources/restlet-framework/guide .

Donc, il me semble que Restlet est la réponse pour vos applications GAE/J Restful.

44
JP Richardson

J'utilise Jersey sur GAE. Voici le lien pour ceux qui sont intéressés par sa configuration: (J'utilise GAE SDK v1.4.0):

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

17
Viren

Je vais également commencer à l'explorer, mais je n'ai pas encore commencé. J'ai trouvé ce cadre, qui dit qu'il devrait fonctionner, mais comme je l'ai dit, je ne l'ai pas encore essayé.

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

Si vous le faites fonctionner, ou si vous parvenez à faire fonctionner l'une des suggestions ci-dessus, mettez à jour tout le monde car je suis sûr que cela intéresse.

6
broschb

J'utilise Restlet avec Guice sur Google AppEngine. À mon humble avis, ils vont très bien ensemble. Voir mon récent article de blog pour plus de détails: http://haraldpehl.blogspot.com/2009/11/google-appengine-restlet.html

5
Harald

Étant donné que ces vaillantes anciennes solutions ont été corrigées, Google a apparemment fourni un plugin Eclipse pour créer un projet de démarrage qui produit une application App Engine, un Android APK et une application Web, le tout en parlant à un seul). un autre sur une interface définie par un seul ensemble de déclarations d'objets annotées.

Je n'ai pas encore essayé moi-même, mais jetez un coup d'œil avant d'essayer l'un des exemples les plus hétérogènes décrits dans les messages précédents ci-dessus:

https://developers.google.com/Eclipse/docs/appengine_connected_Android

Cette vidéo Google est également assez informative:

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

3
Carl

Pour ce que ça vaut, il y a eu pas mal de discussions sur listes d'utilisateurs de Jersey wrt comment faire fonctionner Jersey sur GAE. C'est un travail peu fastidieux en raison des restrictions GAE (classes manquantes dans les listes blanches - espérons-le résolu avec le temps), mais apparemment, cela peut fonctionner. Donc, même si ce n'est pas facile, cela pourrait être votre meilleur pari; esp. car bon nombre des problèmes rencontrés sont les mêmes pour tous les cadres (imposés par GAE).

2
StaxMan

J'ai récemment mis en place un modèle de projet avec Jersey, Guice et AppEngine sur GitHub. Il a été développé avec SimpleDS, mais il peut être modifié pour fonctionner facilement avec Objectify/JDO. Le projet est en direct ici .

Cela devrait être un bon point de départ pour de nouveaux projets.

2
Nacho Coloma

Eh bien, je vous conseillerais fortement de jeter un œil à play framework

Jetez un œil à la vidéo sur la page d'accueil

Il a un module gae

Avec siena comme orm pour gérer le magasin de données gae

De tous les cadres Java Java que j'ai vus jusqu'à présent, je pense qu'il a la courbe d'apprentissage la plus facile,

  • grand documentation ,

  • un tutoriel pour développer une application complète

  • communauté très active et serviable,

  • libre comme dans la bière et aussi dans le discours

  • très évolutif en raison de sa conception apatride prête à l'emploi

  • reste sympa

  • hautement personnalisable via ses modules et son approche plugin

de plus, en tenant compte du fait que c'est pour un cours universitaire, il est vraiment facile de pirater le code, je pourrais gérer quelques tickets et nouvelles fonctionnalités sans aucune expérience avec Java, juste quelques années à développer des applications web avec php

autres bénéfices

  • il est vraiment facile à démarrer, aucune configuration compliquée n'est impliquée, il suffit de télécharger et de décompresser le fichier et vous êtes prêt

  • grande expérience de développement, il suffit de corriger le code et d'actualiser, de lire les modifications de la compilation automatique à la volée lors de l'exécution en mode développement

  • rapide et léger

  • fullstack, vous n'avez pas besoin d'intégrer des cadres encombrants pour le faire fonctionner

  • grand rapport d'erreurs, plus de trace de pile d'erreurs sans fin, vous montre simplement la ligne d'erreur

  • aucune configuration xml partout

  • excellent support pour tdd avec test intégré au sélénium

Je pense que le principal avantage en tant qu'outil d'apprentissage, c'est qu'il est possible de jeter un coup d'œil dans le code source sans se sentir perdu et le soutien de la communauté ... La documentation est très claire, et vous pouvez apprendre beaucoup en jetant simplement un œil à la source code...

2
opensas

Voici un très très bon tutoriel Restlet/Android/GAE/Objectify avec un exemple d'application simple. Désolé, c'est en français, mais vous pouvez simplement copier/coller le code, ou utiliser google traduction.

Je l'ai suivi et j'avais un serveur Android/GAE communiquant ensemble en 2 heures. C'est une bonne base pour démarrer ou tester Restlet.

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

Bonne chance

1
Tyvain