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!
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.
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
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.
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
É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:
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).
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.
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
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...
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