14 April 2009

Introducción a Google App Engine

Recientemente Google a ampliado su App Engine para dar soporte a aplicaciones Java además de Python, esto quiere decir que que nosotros como desarrolladores podemos crear a partir de ahora nuestras propias aplicaciones web con Java, y hospedarlas en los servidores de Google de forma gratuita con acceso los servicios proporcionados por este por defecto; con determinadas limitaciones claro.

El siguiente es un mini tutorial de como crear dichas aplicaciones, depurarlas y publicarlas en los servidores de google; abarca desde la creación/registro en el entorno de google, utilización de eclipse como IDE, hasta la publicación final de esta.

Crear una cuenta de aplicación Google App Engine
Hay que entrar en http://appengine.google.com/ con una cuenta de Google, una vez dentro debemos presionar el botón de "Crear una aplicacion" y asignamos un nombre y un título a nuestra nueva aplicación, a continuación presionamos el botón "Save".


emmerson-test será el nombre de mi aplicación en el entorno de google, más adelante este nombre se reutiliza para hacer el despliegue de la aplicación que se creará a continuación con Eclipse.


Eclipse como IDE

En nuestro Eclipse Ganymede debemos registrar el update site de Google Plugin for Eclipse (http://dl.google.com/eclipse/plugin/3.4) , a continuación marcamos todas las opciones y proseguimos con la instalación; una vez finalizada tendriamos que reiniciar eclipse.

Una vez reiniciado eclipse debemos crear un workspace para nuestros proyectos Google App Engine (C:\desarrollo\proyectos\GoogleAppEngine) , acto seguido habría que crear un proyecto web (File -> New -> Web Application Project) .


Para este caso el nombre de mi aplicación de test es TestGAE (Test Google App Engine) (como se puede apreciar el nombre puede ser distinto al registrado en el entorno de Google)


Cuando se crea un nuevo proyecto con esta opción, se añade por defecto una estructura con un conjunto de clases y páginas a manera de introducción o ejemplo, por defecto en el idioma inglés (Como se podrá apreciar en la estructura hay un fichero para log4j, el cual guarda en base de datos los registros ya que dentro del sandbox de ejecución de nuestras aplicaciones no se pueden crear ficheros desde código).

Vamos a elegir el servlet por defecto que da respuesta a nuestra peticiones (edu.emmerson.gae.Test.server.GreetingServiceImpl.java) y a continuación cambiaremos los textos que estan en inglés al castellano o el idioma preferido por cada uno.

return "Felicitaciones, " + input + "! Entorno de ejecución : " + serverInfo

+ ". Información de navegador: " + userAgent;

Ahora ejecutaremos la aplicación en modo debug



Se nos abrirán dos ventanas nuevas, una con el servidor que nos proporciona google con el sandbox correspondiente de java y otra ventana con nuestra aplicación, en la cual introduciremos un nombre y a continuación el botón "Send", acto seguido nos saldrá la respuesta con los textos que hemos modificado en nuestro servlet.



Ahora bien, ya tenemos lista nuestra primera aplicación web java en la cual se pueden apreciar los textos que hemos cambiado.



Publicación de la aplicación en el entorno de Google


Para finalizar nuestro desarrollo únicamente nos hace falta publicar nuestra aplicación en el entorno que nos proporciona Google App Engine, para ello activaremos el botón derecho del ratón sobre nuestro proyecto e iremos a la opción Google -> Deploy to App Engine .

Una vez introducidos nuestros datos de login en Google deberiamos configurar la aplicación sobre la cual desplegar nuestro proyecto, para ello debemos presionar la opción App Engine proyect settings e introducimos el nombre de la aplicación creada en los primeros pasos.


Una vez presionado el boton Ok, presionaremos el boton "Deploy" de la pantalla anterior
Finalmente, cuando termine el despliegue podremos ver el resultado en http://emmerson-test.appspot.com/ (NOTA : emmerson-test es el nombre de la aplicación creada en los primeros pasos y es una web operativa que se puede visualizar).

Intentaré divertirme con este juguete, haber si puedo forjar un mashup con lo que necesito utilizando los servicios de Google y Yahoo ;-)

Enlaces relacionados :


Debugging AppEngine application on NetBeans

- FIN -

2 comments:

darvin said...

Emmerson, Esta de lujo tu post, publica el codigo amigo.

darvin

Mario Renato Saldaña Gomez said...

Muchas Gracias por simplificarme la vida.
Me sirvio para dar el arranque.
Renato