Windows Azure, Java y Eclipse

Como ya he comentado en más de una ocasión Windows Azure es una plataforma abierta para trabajar con diferentes tecnologías y sistemas operativos, disponiendo de diferentes herramientas y SDKs para cada ocasión.

En este post quiero enseñaros una de las opciones que hay de interoperabilidad, que no es otra que el plugin de Eclipse para trabajar con Java y poder desplegar este tipo de aplicaciones en un Cloud Service, en la parte de plataforma como servicio de Windows Azure.

Para poder instalar este plugin en Eclipse es necesario tener instalado el Sdk de Windows Azure (1.8 o superior), el JDK 1.6 o superior y la versión de Eclipse para Java EE Developers.

Una vez que se tienen instalados estos prerequisitos la instalación del plugin resulta bastante sencillo, desde la opción de instalación de nuevo software, tal y como se ve en la primera imagen.

1-Eclipse

Para poder encontrar el plugin a instalar es necesario indicar el respositorio de software; http://dl.msopentech.com/eclipse

2-Eclipse

Una vez realizado este sencillos pasos ya podemos crear nuestras aplicaciones Java o abrir alguna de las que ya tengamos y empezar a desplegarlas en Windows Azure! Que como veréis, es un proceso bastante sencillo.

Para los que conozcáis Visual Studio y hayáis trabajo con él y Windows Azure, veréis que la experiencia de usuario es prácticamente igual.

Para esta demo lo primero que haremos es crear una proyecto web, un dynamic web project, dónde tendremos un JSP, nuestro “Hello World” en Java.

3-Eclipse

y creamos también un JSP para esta demo.

4-Eclipse

Con los pasos que hemos realizado hasta el momento tendríamos una aplicación Java normal y corriente, pero ahora hay que hacer los pasos necesarios para empaquetar esta aplicación en un formato que Windows Azure pueda entender.

Independientemente del lenguaje de programación en el que se trabaje, para poder desplegar una aplicación en un Cloud Services, es necesario empaquetar la aplicación en un formato que éste pueda entender.

El plugin de Eclipse, al igual que hace Visual Studio, nos permite de forma visual realizar todo este proceso…empaquetar la aplicación e indicar la configuración de despliegue; número de instancias, puertos, protocolos etc…Todo aquello que necesitemos.

Empaquetar la aplicación Java en el formato que necesita Windows Azure es bastante sencillo, empleando el plugin que hemos instalando anteriormente, el cuál veremos que nos ha añadido una barra con diferentes opciones y alguna que otra opción en los menús contextuales.

5-Eclipse

Por ejemplo, seleccionado el proyecto Java, desde el menú contextual tendremos la opción de empaquetar el proyecto para ser desplegado en Windows Azure, acción que creará un nuevo proyecto especial, propio de Windows Azure, el cuál es el encargado de empaquetar la solución y establecer la configuración que queramos.

15-Eclipse

La acción empaquetar también nos pedirá la versión del JSDK que queremos que se despliegue junto con mi aplicación, así como qué servidor queremos usar, en el ejemplo Tomcat. Esto es así, porque las máquinas de Windows Azure por defecto no tienen estos dos componentes y por tanto, es necesario que estos se incluyan e instalen junto con nuestra aplicación.

6-Eclipse

Como he comentado, esta acción generará un proyecto de Windows Azure con un contenido similar a este. En en este proyecto dónde se configurar el WAR que queremos desplegar, el JDK, el Servidor etc…lo que hace el plugin de Eclipse es que no tengamos que hacer nada o casi nada a mano, todo de forma visual desde asistentes y menús de propiedades.

7-Eclipse

Si seleccionamos las propiedades del rol podremos ver la configuración del mismo; ficheros que se deben incluir en el empaquetado, puertos, protocolos….

Por ejemplo, en esta pantalla podéis ver que los ficheros que incluirán…el JSDK, el servidor, el WAR de la aplicación y un bat que se encarga de la instalación del JSDK y servidor Tomcat.

8-Eclipse

Otra cosa que podemos llegar a configurar en el acceso remoto, cosa que considero importante siempre configurar, para que podamos conectarnos por RDP a las máquinas que desplegamos en Windows Azure. Esta configuración la podemos establecer desde las propiedades del proyecto de Windows Azure.

10-Eclipse

Una vez que tenemos esto, podemos usar la barra que nos ha instalado el plugin para primero, probar la aplicación en nuestro entorno local, y luego desplegar la aplicación en Windows Azure.

Desde el propio Eclipse podemos lanzar la aplicación y usar el entorno de emulación que tiene el SDK de Windows Azure para poder probar la aplicación en nuestro entorno local como si éste estuviera desplegado en Windows Azure.

Una vez que ya lo tenemos funcional en el entorno local, tendremos que desplegar la aplicación, ya sea de forma manual o directamente desde Eclipse.

Si queremos hacer un despliegue manual, podremos usar la opción de crear el empaquetado. Esta acción empaquetará los ficheros que hemos indicado con la configuración que hayamos establecido y nos dará dos ficheros; el fichero de definición del servicio y el fichero de configuración del servicio, los dos ficheros que necesito para tener la aplicación funcionando en Windows Azure.

12-Eclipse

Una vez los tengo generado, tendré que ir a la página de administración de mi subscripción Windows Azure ( http://windows.azure.com/), crear un Cloud Service y usar estos dos ficheros oara crear un despliegue.

16-Eclipse

17-Eclipse

y por último, otra opción que tenemos disponible es la opción de configurar en Eclipse las credenciales de la subscripción, desde las propiedades del proyecto.

9-Eclipse

Si configuro las credenciales, desde el menú contextual podré desplegar directamente la solución en la subscripción que tenga configurada, indicando en ese proceso el Cloud Service dónde desea hacer el despliegue.

11-Eclipse

Y con esto es todo, como veis, con la el plugin de Eclipse el despliegue de aplicaciones Java resulta bastante sencillo…

Eso sí…

¿Qué pasa si uso Eclipse en Linux o en MAC? ¿Puedo usar este plugin? NO, veremos alternativas…

¿Qué pasa si no uso Eclipse ni Visual Studio? ¿Puedo desplegar otro tipo de aplicaciones (PHP, Node…) en Cloud Services? SI, lo veremos…

¿Qué se despliegue con la aplicación el JDK y el Tomcat no hará que el tamaño del empaquetado sea muy grande? SI, pero también hay soluciones que veremos…

y si te interesa saber más sobre interoperabilidad, te animo a que vengas al Cloud Tour http://www.plainconcepts.com/cloudtour/ :-)

3 Responses to Windows Azure, Java y Eclipse

  1.  
  2.  

    Hola, ¿podría montar http://www.elasticsearch.org que es una aplicación JAVA de esta manera?

  3.