App Engine, Java

Introducción al Google App Engine

Con la tecnología de Google App Engine
Google App Engine es un servicio de alojamiento gratuito (1 GB de almacenamiento) de aplicaciones web escritas en Java, Phyton o el propio lenguaje de google llamado “Go”. Mediante Google App Engine, google proporciona a los desarrolladores una infraestructura para instalar aplicaciones web en los lenguajes antes descritos.
En el caso de una aplicación web desarrollada en Java, es posible mediante el App Engine desplegarla en la infraestructura que google proporciona y acceder a ella mediante un dominio gratuito del tipo http://name.appspot.com

Google App Engine proporciona un soporte para el desarrollo de aplicaciones Java en sus versiones 5 o 6 y de API’s y Frameworks tales como:

  • JavaServlet API 2.4
  • Java Server Pages
  • Java Server Faces 1.1-2.0
  • JPA y JDO
  • JavaMail
  • Groovy
  • BlazeDS
  • Spring MVC
  • Spring ORM
  • Struts 1.0 – 2.0
  • Tapestry
  • WebORB
  • etc…… más información

Para comenzar a utilizar App Engine, debemos crear una cuenta gratuita entrando al siguiente link , se nos pedira un número de celular a donde se nos enviara un código de confirmación, mismo que deberemos introducir. En el caso de México, el número de celular debe ser de la compañía Movistar (telcel, iusacell, etc., no funcionan), antes del número debemos introducir el código del país, por ejemplo, si fueras de México debes introducir algo como:

+52 xxxxxxxxxx

donde +52 es el código del país México.

Una vez creada la cuenta, mediante el Plugin de Google para Eclipse, podemos crear aplicaciones Java utilizando el SDK de App Engine, además de poder desarrollar aplicaciones utilizando el conocido GWT. Al instalar el plugin para eclipse, podemos también instalar el SDK de App Engine, por lo que no será necesario descargar el SDK y el Plugin por separado.

Ya instalado el plugin, podemos inmediatamente crear una aplicación utilizando App Engine y publicarla muy fácilmente. Para crear un proyecto, basta con seleccionar la opción indicada en la imagen.

En la Guia de Introducción a App Engine que ofrece Google en español, se desarrolla en primera instancia parte del siguiente código en un Servlet.

Al crear el servlet con eclipse y escribir el código anterior, es muy fácil probar la aplicación localmente. El SDK de App Engine, incluye un servidor local que simula todos los servicios que ofrece la infraestructura de App Engine, por lo cual podremos simular nuestra aplicación web localmente antes de instalarla en el servidor de Google.

Para ejecutar la aplicación anterior, basta con ir al menú Run > Debug As > Web Application , y entonces en el navegador teclear:

http://localhost:8080 ó http://localhost:8888

dependiendo del puerto que se inicialice.

Como página principal se muestran los Servlets disponibles, al dar click sobre “Guestbook” se ejecutará el código anterior, el cual presentará una pantalla que pedirá un correo como cuenta de Google para poder autenticar, dado que estamos en el ambiente local, se mostrará una pantalla como la siguiente, pero en caso de que la aplicación ya este publicada en nuestro dominio de App Engine, entonces se mostrará la pantalla de Google donde se pide nuestra cuenta:

Pantalla en servidor Local
Pantalla al instalar la aplicación en dominio de App Engine

Una vez que nos hemos autenticado, entonces se mostrará el mensaje que pusimos en el Servlet, que en este caso será algo como:

Hello, molder.itp
Para publicar la aplicación, primero debemos dirigirnos al archivo appengine-web.xml y en las etiquetas  escribir el id de la aplicación que es el mismo que escribimos al crear nuestra cuenta de App Engine, en mi caso fue "mundo-byte" tal como lo podemos ver en nuestra cuenta,

También debemos indicar el número de versión. Finalmente el archivo de configuración quedará similar al siguiente:

Hecho lo anterior, ya podemos publicar nuestra pequeña aplicación desde Eclipse dando click al ícono mostrado en la siguiente imagen:
Y listo!! el resultado lo podremos visualizar con la url de nuestro dominio, que en mi caso es la siguiente:


http://mundo-byte.appspot.com/guestbook
Hemos visto lo fácil que resulta publicar una aplicación web Java utilizando el AppEngine, sin duda una buena opción para varios desarrollos! Espero más adelante compartir más cosas acerca del App Engine de Google.


Saludos!!