dilluns, 14 de juny de 2010 00:00 - recursostic.educacion.es

11
AppEngine Escrit per Carlos Artiles Fontales dilluns, 14 de juny de 2010 00:00 There are no translations available. Google App Engine es una plataforma de desarrollo de aplicaciones Web que nace en Abril de 2008 y que en sus orígenes corría únicamente sobre Python. En el siguiente enlace se puede ver un artículo que habla sobre las características de este servicio, cómo darse de alta y desarrollar una aplicación Hola Mundo en Python que corra en local y en el cloud Google. http://observatorio.cnice.mec.es/index.php?option=com_content&view=article&id=73 5&catid=28%3Arecursos-online&Itemid=38&lang=es  Aproximadamente un año después de ver la luz, Google añade otro lenguaje de desarrollo, se trata de Java. Este artículo explicará como realizar la configuración necesaria para poder trabajar en local y en remoto con nuestras aplicaciones Java. Además, este servicio puede desarrollarse con cualquier otro lenguaje que sea compatible con la Java Virtual Machine, como Ruby o JavaScript. De momento PHP no está soportado, aunque se espera que sea el próximo paso en App Engine. Aún así podemos hacerlo correr a través de la implementación libre de PHP llamada Quercus. Existe más información disponible sobre este Open Source en http://www.caucho.co m/products/quercus/ Se va a realizar este manual sobre una distribución Ubuntu, en concreto, sobre Max 5.0, de la Comunidad de Madrid con el kernel actualizado a 2.6.31-17-generic. App Engine utiliza el standar Java Servlet para aplicaciones web. Los Servlet son objetos diseñados para correr en contenedores y son usuales en aplicaciones web dinámicas que hacen peticiones y demandan respuestas de los servidores a través de navegador. 1 / 11

Transcript of dilluns, 14 de juny de 2010 00:00 - recursostic.educacion.es

Page 1: dilluns, 14 de juny de 2010 00:00 - recursostic.educacion.es

AppEngine

Escrit per Carlos Artiles Fontalesdilluns, 14 de juny de 2010 00:00

There are no translations available.Google App Engine es una plataforma de desarrollo de aplicaciones Web que nace en Abril de2008 y que en sus orígenes corría únicamente sobre Python.

En el siguiente enlace se puede ver un artículo que habla sobre las características de esteservicio, cómo darse de alta y desarrollar una aplicación Hola Mundo en Python que corra enlocal y en el cloud Google.

http://observatorio.cnice.mec.es/index.php?option=com_content&view=article&id=735&catid=28%3Arecursos-online&Itemid=38&lang=es

 

Aproximadamente un año después de ver la luz, Google añade otro lenguaje de desarrollo, setrata de Java. Este artículo explicará como realizar la configuración necesaria para podertrabajar en local y en remoto con nuestras aplicaciones Java.

Además, este servicio puede desarrollarse con cualquier otro lenguaje que sea compatible conla Java Virtual Machine, como Ruby o JavaScript.

De momento PHP no está soportado, aunque se espera que sea el próximo paso en AppEngine. Aún así podemos hacerlo correr a través de la implementación libre de PHP llamadaQuercus. Existe más información disponible sobre este Open Source en http://www.caucho.com/products/quercus/

Se va a realizar este manual sobre una distribución Ubuntu, en concreto, sobre Max 5.0, de laComunidad de Madrid con el kernel actualizado a 2.6.31-17-generic.

App Engine utiliza el standar Java Servlet para aplicaciones web. Los Servlet son objetosdiseñados para correr en contenedores y son usuales en aplicaciones web dinámicas quehacen peticiones y demandan respuestas de los servidores a través de navegador.

1 / 11

Page 2: dilluns, 14 de juny de 2010 00:00 - recursostic.educacion.es

AppEngine

Escrit per Carlos Artiles Fontalesdilluns, 14 de juny de 2010 00:00

App Engine ejecuta las clases de servlet de tu aplicación para procesar solicitudes y prepararrespuestas en el entorno seguro que es la JVM (Java Virtual Machine).

El servlet, que no es otra cosa que un contenedor de clases java, se ejecuta en el servidor, adiferencia del conocido applet que lo hace en el navegador del usuario.

App Engine ejecuta el servlet con un objeto de solicitud y un objeto de respuesta y, acontinuación, espera a que el servlet rellene el objeto de respuesta para enviarlo al usuario.

El ciclo de vida de un Servlet se divide en los siguientes puntos:

1.

El cliente solicita una petición a un servidor vía URL.

2.

El servidor recibe la petición.

1. Si es la primera, se utiliza el motor de Servlets para cargarlo y se llama al método init(). 2. Si ya está iniciado, cualquier petición se convierte en un nuevo hilo. Un Servlet puedemanejar múltiples peticiones de clientes. 3. Se llama al método service() para procesar la petición devolviendo el resultado al cliente. 4. Cuando se apaga el motor de un Servlet se llama al método destroy(), que lo destruye ylibera los recursos abiertos.

Por otro lado, cuando más adelante se esté ante el servlet picando código en modo consola enEclipse se verá que aparece un fichero XML. App Engine necesita de este archivo deconfiguración adicional para poder desarrollar y ejecutar la aplicación. Este archivo sedenomina appengine-web.xml y se ubica en WEB-INF/ junto a web.xml. Incluye la ID registrada

2 / 11

Page 3: dilluns, 14 de juny de 2010 00:00 - recursostic.educacion.es

AppEngine

Escrit per Carlos Artiles Fontalesdilluns, 14 de juny de 2010 00:00

de la aplicación (Eclipse la crea a partir de una ID vacía que rellena el usuario), el número deversión de la aplicación y listas de archivos que se deben tratar como archivos estáticos (porejemplo, imágenes y CSS) y archivos de recursos (por ejemplo, JSP y otros datos deaplicación).

Empezando con Java.

Existen dos opciones para desarrollar aplicaciones Java en AppEngine:

a) Descargar e instalar el SDK que nos ofrece Google, parecido al ya utilizado para Python enel artículo anterior de esta serie de AppEngine que ya hemos citado antes.

b) Descargar e instalar un plugin del SDK que nos proporciona Google para Eclipse, el popularIDE (Integrated Development Environment) que utiliza gran parte de la comunidad dedesarrolladores de Java.

El presente tutorial se centra en la segunda opción.

Para ello, deberemos comprobar que tenemos instalado el JDK (Java Development Kit) y JRE(Java Runtime Environment) ambos de Java.

Los que ya usen Eclipse para programar con otros lenguajes y no hayan especificado locontrario en las opciones de instalación, ya tienen estos componentes.

 

3 / 11

Page 4: dilluns, 14 de juny de 2010 00:00 - recursostic.educacion.es

AppEngine

Escrit per Carlos Artiles Fontalesdilluns, 14 de juny de 2010 00:00

Si no se tuvieran, se puede acudir a la web del proyecto libre OpenJDK http://openjdk.java.net/por lo que se escribe en un terminal $ sudo apt-get install openjdk-6-jre openjdk-6-jdk También se puede recurrir a otra opción propietaria como la que desarrolla Sun Microsystems, http://java.sun.com/javase/downloads/index.jsp, Donde se elegirá la plataforma, en este caso Linux. Google App Engine es compatible con Java 5 y 6. Cuando la aplicación Java se ejecuta en App Engine, lo hace a través de la máquina virtual(JVM) y de las bibliotecas estándar. Lo conveniente es utilizar Java 6 para compilar y probar la aplicación, y asegurarse así de queel servidor local se comporta de forma similar a App Engine. El plugin que necesitamos para trabajar con Java debe ser compatible con Eclipse en susversiones 3.3 y superiores.

Instalamos la última versión de Eclipse, llamada “Galileo”, es la 3.5. Para ello vamos a Inicio,Añadir y quitar aplicaciones.

  Y se introduce en la caja de búsqueda Eclipse, apareciendo como opción instalable. Aceptar einstalar.

4 / 11

Page 5: dilluns, 14 de juny de 2010 00:00 - recursostic.educacion.es

AppEngine

Escrit per Carlos Artiles Fontalesdilluns, 14 de juny de 2010 00:00

También se puede utilizar el gestor de paquetes Synaptic, a través de Inicio, Sistema,Administración y Gestor de Paquetes Synaptic, en la caja de búsquedas ponemos eclipse yseleccionamos los paquetes que nos interesen para instalar y aplicamos los cambiosprocediendo con la instalación de Eclipse. A continuación se abre Eclipse en Inicio, Programación, Eclipse. Se procede después con la instalación del plugin de Google para Eclipse, para ello se acude ala opción del menú Help, Install New Software e introducimos la URL de descarga que nosofrece Google, que es http://code.google.com/intl/es/appengine/downloads.html , apareciendo la siguiente pantalla

5 / 11

Page 6: dilluns, 14 de juny de 2010 00:00 - recursostic.educacion.es

AppEngine

Escrit per Carlos Artiles Fontalesdilluns, 14 de juny de 2010 00:00

Se accede a descargar el complemento de Google para Eclipse, haciendo clic sobre “Haz clicaquí para obtener información sobre...” y llegando a la URL source code que da Google que es http://dl.google.com/eclipse/plugin/3.5

Se añade esta URL del servidor de Google en la caja de texto Work with: Pulsando Add ydejando en blanco y sin tocar nada más el cuadro de diálogo siguiente, clic sobre OK yaparecerá un el display de antes con los componentes dispuestos a ser servidos, en este casoel Plugin y el SDK. Se seleccionan y clic en “Next”. Llegados a este punto pueden aparecer algunos problemas que se concretan en que Eclipseno puede acceder a los paquetes en el servidor remoto. Google AppEngine ha establecido una página FAQ ( http://code.google.com/intl/es/eclipse/docs/faq.html )

6 / 11

Page 7: dilluns, 14 de juny de 2010 00:00 - recursostic.educacion.es

AppEngine

Escrit per Carlos Artiles Fontalesdilluns, 14 de juny de 2010 00:00

donde se resuelven estas incidencias, en concreto, para nuestro ejemplo, solicita que antes deinstalar plugins externos, se tenga en el repositorio la url de updates de Eclipse, que es http://download.eclipse.org/releases/galileo, por lo que habrá que añadirla a los 'Available Software Sites'

y una vez resuelto el incidente, se continúa igual, haciendo clic sobre “Add” con la Locationanterior http://dl.google.com/eclipse/plugin/3.5 dando acceso a el plugin de Google sin darproblemas. Seleccionamos las casillas de plugin y sdk. Hacemos clic sobre “Next”. Aceptamos los términos de la licencia y damos a Finish.

7 / 11

Page 8: dilluns, 14 de juny de 2010 00:00 - recursostic.educacion.es

AppEngine

Escrit per Carlos Artiles Fontalesdilluns, 14 de juny de 2010 00:00

Ahora podemos reiniciar Eclipse y en File, New, Project... en la carpeta Google, WebApplication Project.

8 / 11

Page 9: dilluns, 14 de juny de 2010 00:00 - recursostic.educacion.es

AppEngine

Escrit per Carlos Artiles Fontalesdilluns, 14 de juny de 2010 00:00

Rellenamos, en Project name: ajalospajarosjava Package: ajalospajaros Se procede con la desactivación de la opción Google SDKs Use Google Web Toolkit puestoque en este caso no se va a utilizar. Clic sobre Finish y aparece lo siguiente

9 / 11

Page 10: dilluns, 14 de juny de 2010 00:00 - recursostic.educacion.es

AppEngine

Escrit per Carlos Artiles Fontalesdilluns, 14 de juny de 2010 00:00

Abriendo el archivo java se tiene:

Se procede a cambiar “Hello, world” por “Hola amigos de Java y AppEngine”, se guarda y sepuede correr en local haciendo clic sobre Run del menú superior de Eclipse, Run As... WebApplication. O directamente en la flecha que aparece en un círculo en el menú superior. En la consola de Eclipse aparece que está corriendo en local, “The server is running at http://localhost:8888/”, abriendo el navegador contra esa dirección aparecerá la aplicación. Si se quiere subir la aplicación a la Cloud AppEngine hay que abrir una cuenta en AppEngine ycrear una nueva aplicación (los detalles de estas operaciones están en el artículo delObservatorio Tecnológico, http://observatorio.cnice.mec.es/index.php?option=com_content&view=article&id=735&catid=28%3Arecursos-online&Itemid=38&lang=es ), en este caso se denominará igual que el proyectoajalospajarosjava y así asigna el dominio http://ajalospajarosjava.appspot.com queademás no está cogida previamente. Después, en Eclipse, pulsando sobre el icono de AppEngine en el menú superior de laaplicación, se despliega la ventana “Deploy Project to Google App Engine”, se escribe elnombre del proyecto y se accede al enlace App Engine project settings... abriéndose la ventanade la derecha donde se escribirá la ID de la aplicación, en este caso “ajalospajarosjava”.

10 / 11

Page 11: dilluns, 14 de juny de 2010 00:00 - recursostic.educacion.es

AppEngine

Escrit per Carlos Artiles Fontalesdilluns, 14 de juny de 2010 00:00

Ya se puede subir la aplicación.

Si todo ha ido bien, aparecerá en la consola el mensaje “Deployment completed successfully”. Ya se puede acudir a http://ajalospajarosjava.appspot.com/ajalospajarosjava

Existe una gran cantidad de ejemplos de aplicaciones y otros recursos de código en la web deApp Engine, como http://code.google.com/p/google-app-engine-samples/ Además, el Observatorio Tecnológico cuenta con un monográfico de Java para todos aquellosque quieran profundizar en este lenguaje. Se encuentra en el siguiente artículo

11 / 11