gae-aws-sdk-logoComo pudisteis leer en la anterior entrada, recientemente hemos presentado un interesante proyecto al concurso Innova Apps+. Si ya la leísteis, sabréis que nuestro proyecto BBVA Dining+ está realizado con diferentes tecnologías de las que queremos realizar un pequeño análisis y dar nuestra opinión en cuanto a su uso en un proyecto real. En esta entrada hablaremos de GAE (Google App Engine) y de la creación de nuestra API con Google Cloud EndPoints.

GAE es una solución (PaaS: plataforma como servicio) desarrollada por Google que nos permite utilizar sus servidores y publicar nuestras aplicaciones web en ellos. Soporta los lenguajes de programación Phyton, Java, Go, PHP y cualquier lenguaje que utilice la máquina virtual de java.

Ofrece, sin ninguna acción por nuestra parte, una serie de características, como el auto escalado, el balanceo a través de distintas instancias o la seguridad.

De manera gratuita, el servicio ofrece 500 MB de almacenamiento permanente y ancho de banda y CPU para cinco millones de visitas mensuales. En caso de que se quede corto siempre es posible aumentar los servicios mediante el pago del servicio.

Tras informarnos de sus amplias posibilidades nos decantamos por utilizarlo en nuestro proyecto porque nos aportaba todo lo que necesitábamos y era una solución factible y completa. Aun así, hay que decir que se echa de menos una documentación más amplia para sacar todo el partido a esta herramienta de Google.

Para la creación de nuestra API, que interacciona tanto con la App móvil como con la Web de gestión, también nos decidimos por una solución creada por Google. Esta solución es Google Cloud Endpoint.

Los Google Cloud EndPoints son un conjunto de herramientas que nos permiten, de forma muy sencilla, generar las APIs para poder comunicar nuestras aplicaciones clientes (webs y móviles) con una web backend.

Para generar esta API simplemente hay que instalar en el Eclipse el plugin de Google, montar la estructura de nuestras clases y generar la API. Eso sí, para poder utilizar este plugin y que Google nos cree toda la estructura, anotaciones API REST y operaciones de gestión de la base de datos,  hay que utilizar JDO o JPA para la persistencia de clases. Esto puede ser un problema a la hora de utilizar los EndPoints ya que estas estructuras tienen una curva de aprendizaje elevada, pero una vez conseguido, la facilidad con que se genera la API merece el esfuerzo.

Este proceso automático nos genera los métodos HTTP: GET (devolución de información), POST (inserciones), PUT (actualizaciones) y DELETE (borrados). Todos estos métodos se pueden personalizar y de esta forma es posible añadir nuevas funcionalidades a nuestra API.

Resumiendo, nuestra experiencia con estas dos soluciones que hemos probado ha sido bastante satisfactoria. Hemos podido desarrollar un proyecto funcional y eficiente, además de aprender algunas cosas nuevas, lo que siempre es interesante.

Para los que queráis más información sobre GAE y los Google Cloud EndPoints podéis encontrar toda la información aquí.

Nuestro sitio web utiliza cookies y, por lo tanto, recopila información sobre su visita para mejorar nuestro sitio web (mediante el análisis), mostrarle contenido de redes sociales y anuncios relevantes. Consulte nuestra página cookies para obtener más detalles o acepte haciendo clic en el botón "Aceptar".

Configuración de cookies

A continuación, puede elegir qué tipo de cookies permite en este sitio web. Haga clic en el botón "Guardar configuración de cookies" para aplicar su elección.

FuncionalidadNuestro sitio web utiliza cookies funcionales. Estas cookies son necesarias para que nuestro sitio web funcione.

AnálisisNuestro sitio web utiliza cookies analíticas para que sea posible analizar nuestro sitio web y optimizarlo con el fin de a.o. la usabilidad.

Redes socialesNuestro sitio web coloca cookies de redes sociales para mostrarle contenido de terceros como YouTube y FaceBook. Estas cookies pueden rastrear sus datos personales.

PublicidadNuestro sitio web coloca cookies publicitarias para mostrarle anuncios de terceros basados en sus intereses. Estas cookies pueden rastrear sus datos personales.

OtrosNuestro sitio web coloca cookies de terceros de otros servicios de terceros que no son analíticos, redes sociales o publicidad.