Pregunta

Me gustaría crear una aplicación RESTful en Google App Engine. Me gustaría proporcionar servicios XML y JSON. He experimentado brevemente con Restlet, Resteasy y Jersey. No he tenido mucho éxito con ninguno de ellos, aparte de algunos ejemplos simples en Restlet.

¿Podría compartir sus experiencias al crear una aplicación web Restful en Google App Engine usando Java o proporcionar alguna información sobre los kits de herramientas mencionados anteriormente en GAE?

¡Gracias!

Editar (2009-07-25):

He decidido usar Restlet por el momento. Parece funcionar sin problemas hasta ahora. Por favor, publique cualquier otra idea / opinión que pueda tener. ¿Qué problemas has encontrado? ¿Ha utilizado con éxito Jersey / Restlet / Resteasy en GAE / J? Si es así, ¡queremos saberlo!

¿Fue útil?

Solución

Me complace informar que Restlet M3 funciona sin problemas en AppEngine 1.2.2. He seguido los "Primeros pasos". y "Primer recurso" tutoriales encontrados http://restlet.com/technical-resources/restlet-framework/guide.

Entonces, me parece que Restlet es la respuesta para sus aplicaciones GAE / J Restful.

Otros consejos

Estoy usando Jersey en GAE. Aquí está el enlace para aquellos que estén interesados ??en configurarlo: (Estoy usando GAE SDK v1.4.0):

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

Voy a comenzar a explorar esto también, pero aún no he comenzado. Encontré este marco, que dice que debería funcionar, pero como dije no lo he probado todavía.

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

Si lo hace funcionar, o logra que una de las sugerencias anteriores funcione, actualice a todos, ya que estoy seguro de que hay interés en esto.

Estoy usando Restlet junto con Guice en Google AppEngine. En mi humilde opinión, encajan muy bien. Consulte mi publicación de blog reciente para obtener más detalles: http: //haraldpehl.blogspot .com / 2009/11 / google-appengine-restlet.html

Dado que estas valiosas soluciones antiguas se unieron, Google aparentemente ha suministrado un complemento Eclipse para crear un proyecto inicial que produce una aplicación App Engine, un APK de Android y una aplicación web, todos hablando entre sí a través de una interfaz definida por un solo conjunto de declaraciones de objetos anotados.

No lo he probado todavía, pero eche un vistazo antes de probar cualquiera de los ejemplos más heterogéneos descritos en los mensajes anteriores:

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

Este video de Google también es bastante informativo:

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

Para lo que vale, se ha debatido bastante sobre listas de usuarios de Jersey wrt cómo hacer que Jersey funcione en GAE. Es un trabajo un poco tedioso debido a las restricciones de GAE (faltan clases de las listas blancas, es de esperar que se resuelva con el tiempo), pero aparentemente se puede hacer que funcione. Entonces, aunque no es trivialmente fácil, esa podría ser su mejor opción; especialmente dado que muchos de los problemas enfrentados son los mismos para todos los marcos (impuestos por GAE).

Bueno, le recomiendo que eche un vistazo a marco de juego

Echa un vistazo al video en la página de inicio

Tiene un módulo gae

Con siena como una orm para manejar el almacén de datos de gae

De todos los frameworks java que he visto hasta ahora, creo que tiene la curva de aprendizaje más fácil,

  • excelente documentación ,

  • un tutorial para desarrollar una aplicación completa

  • comunidad muy activa y servicial,

  • gratis como en cerveza y también como en discurso

  • altamente escalable debido a su diseño original sin estado

  • sea amigable

  • altamente personalizable a través de sus módulos y enfoque de complemento

más allá, teniendo en cuenta que es para un curso universitario, es realmente fácil piratear el código, podría manejar un par de tickets y nuevas funciones sin ninguna experiencia con Java, solo un par de años desarrollando aplicaciones web con php

otros beneficios

  • es realmente fácil de comenzar, no requiere una configuración complicada, solo descargue y descomprima el archivo y estará listo

  • gran experiencia de desarrollo, solo arregle el código y presione actualizar, reproduzca los cambios de autocompilación sobre la marcha cuando se ejecuta en modo de desarrollo

  • rápido y ligero

  • fullstack, no tiene que integrar marcos engorrosos para que funcione

  • informe de grandes errores, no más seguimiento de pila de errores sin fin, solo muestra la línea con error

  • sin configuración xml en cualquier lugar

  • excelente soporte para tdd con prueba integrada de selenio

Creo que la principal ventaja como herramienta de aprendizaje es que es posible echar un vistazo al código fuente sin sentirse perdido y el apoyo de la comunidad ... La documentación es muy clara y puedes aprender mucho con solo echar un vistazo en el código fuente ...

Recientemente reuní una plantilla de proyecto con Jersey, Guice y AppEngine en GitHub. Se ha desarrollado con SimpleDS, pero se puede modificar para que funcione con Objectify / JDO fácilmente. El proyecto está en vivo aquí .

Debería ser un buen punto de partida para nuevos proyectos.

Aquí hay un muy buen tutorial Restlet / Android / GAE / Objectify con un ejemplo de una aplicación simple. Lo siento, está en francés, pero puede copiar / pegar el código, o usar la traducción de Google.

Lo seguí y tuve un servidor Android / GAE funcionando comunicándose juntos en 2 horas. Es una buena base para comenzar o probar Restlet.

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

Buena suerte

Las 2 acciones de API de REST GAE más engorrosas para hacer el trabajo, ya sea Java o .py, son gráficos y cómo mostrar información privada. Mi pequeño gae rest feed bifurcado otro proyecto . Estoy seguro de que Java tiene éxito donde Python se atascó debido a que toma Java y ofrece más formas (ventajas), así como un tiempo más largo (más lento) para tener éxito (desventaja), mientras que los proyectos de Python abren menos formas de tener éxito (desventajoso) y menos tiempo de desarrollo ( desarrollo rápido ventajoso) para tener éxito lo mismo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top