Mostrando entradas con la etiqueta Tomcat. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tomcat. Mostrar todas las entradas

jueves, 18 de julio de 2013

Desplegar una aplicación Java en OpenShift

OpenShift
OpenShift es un servicio de Red Hat que nos ofrece una plataforma de fácil configuración en la nube, lo que se viene a llamar Platform as a Service o PaaS, en la que podremos desplegar nuestras aplicaciones o páginas web, blogs, servidores de pruebas, etc. Entre las opciones disponibles podemos montar servidores JBoss, Tomcat, PHP, Node.js, Ruby, usar bases de datos MySQL, MongoDB, o directamente configurar un blog Wordpress sin ningún esfuerzo.

Una vez registrados, nos ofrece la posibilidad de utilizar hasta 3 Gears gratuitamente. Con estos 3 Gears podremos montar hasta 3 pequeños servidores para poco tráfico, o usar los Gears en un sólo servidor para darle más capacidad de carga de trabajo. Si necesitamos montar servidores que requieran más carga de trabajo, podemos pagar por Gears adicionales.

La interfaz web nos permitirá crear, configurar y eliminar fácilmente los servidores con pocos clicks de ratón así como acceder a la documentación oficial de OpenShift. A parte de la interfaz web, tenemos una aplicación de línea de comandos llamada rhc con la que poder estas y otras operaciones.

Esta es una pequeña chuleta con las operaciones más útiles. Para utilizar los comandos abajo indicados tenemos que tener instaladas previamente las herramientas git y rhc en nuestro sistema.

  1. Creamos una aplicación Java con Tomcat 7:
    rhc app create -a nombreaplicacion -t jbossews-2.0
  2. Borramos el contenido por defecto de la aplicación:
    cd nombreaplicacion 
    git rm -rf src/ pom.xml 
    git commit -am 'removing default files'
  3. Añadimos el fichero WAR al directorio webapps y ejecutamos los siguientes comandos:
    git add . 
    git commit -am 'commit nombreaplicacion.war' 
    git push


Para reiniciar una aplicación tenemos varias opciones:
  1. Desde la interfaz web, vamos a la sección My Applications, seleccionamos la aplicación, y arriba a la derecha hay una opción que nos permite reiniciar la aplicación.
  2. Reiniciar la aplicación desde la consola de comandos:
    rhc app restart -a $your_app
  3. Si lo anterior no funciona, parar y arrancar la aplicación con:
    rhc app stop -a $your_app
    rhc app start -a $your_app
  4. Si la aplicación se ha quedado sin memoria y no funciona todo lo anterior, probar con:
    rhc app force-stop -a $your_app 

jueves, 21 de febrero de 2013

Entorno de desarrollo para JSF 2

Vamos a describir un posible conjunto herramientas de desarrollo para la creación de un proyecto web Java. Este artículo es simplemente una guía de ejemplo y estas no son las únicas ni mejores herramientas, simplemente utilizaremos esta base para los siguientes artículos sobre JSF (Java Server Faces).

Como entorno de desarrollo vamos a utilizar Eclipse con sus plugins para Maven, Git, y TestNG. Como servidor web vamos a utilizar Apache Tomcat y por supuesto el JDK de Java.

Seguiremos los siguientes pasos:

  1. Asegurarnos de tener instalada la última versión de Java en el equipo, este paso depende de en qué sistema operativo estemos, pero suele reducirse a descargar e instalar Java desde la web oficial si estamos en Windows o instalarlo mediante el sistema de paquetes de nuestra distibución Linux.
  2. Descargar el último JDK de Java de la página oficial de Oracle para nuestro sistema operativo. Una vez descargado lo descomprimimos en algún directorio a nuestra elección. Por ejemplo, voy a descargar de dicha página el fichero jdk-7u25-linux-x64.tar.gz y descomprimirlo en mi directorio ~/Programas/Java/jdk1.7.0_25/, puesto que estoy en una máquina Linux de 64 bits.
  3. Descargar la última versión de Eclipse para nuestro sistema y descomprimirlo en un dirección a nuestra elección. Voy a descargar eclipse-jee-kepler-R-linux-gtk-x86_64.tar.gz y descomprimirlo en ~/Pogramas/eclipse_kepler_web/.
  4. Descargar la última versión de Apache Maven y Apache Tomcat y descomprimirlos en un directorio a nuestra elección. Descargaré los ficheros apache-maven-3.0.5-bin.tar.gz y apache-tomcat-7.0.41.tar.gz respectivamente, y los descomprimiré en ~/Programas/Apache/apache-maven-3.0.5/ y en ~/Programas/Apache/apache-tomcat-7.0.41/.
Personalmente prefiero descargar las aplicaciones de sus páginas oficiales y tener un directorio de instalación para cada una de ellas, así podemos tener en un momento dado distintas versiones de una determinada herramienta. Por ejemplo un Eclipse para desarrollo web en Java y otro para desarrollo de aplicaciones en C++.

Ahora abriremos Eclipse, le instalaremos los plugins necesarios y lo configuraremos para empezar a trabajar:
  • Abrimos el directorio de Eclipse que creamos anteriormente y lanzamos el ejecutable que encontraremos allí. Aparecerá una pantalla donde nos pedirá que seleccionemos el workspace. Aquí dejamos la opción por defecto o indicamos un directorio a nuestro gusto, yo prefiero tener workspaces separados según los tipos de proyectos que tengo.
  • Los plugins EGit, Maven Integration for Eclipse WTP (m2e-wtp) están ya integrados en Eclipse a partir de Eclipse Kepler, por lo que no es necesario instalarlos si hemos descargado Eclipse en su edición JEE. Vamos a Help->Eclipse Marketplace e instalamos el plugin TestNG for Eclipse. Estos son los plugins para trabajar desde Eclipse con el sistema de control de versiones Git, Apache Maven, y TestNG respectivamente. Al instalar cada plugin aceptamos las opciones por defecto y nos pedirá que reiniciemos Eclipse.
 Ahora vamos a configurar el workspace para trabajar, esto se hace desde la opción Window->Preferences:
  • Lo primero de todo configuramos la codificación de caracteres para nuestro workspace para ponerla en UTF-8 en General->Workspace, dentro de Text file encoding seleccionamos Other y UTF-8 en el desplegable. Esto es importante para que no haya problemas para que los proyectos funcionen desde distintos sistemas operativos.

  • Vamos a Java->Installed JREs y añadimos como instalación por defecto el directorio del JDK que nos habíamos descargado previamente.
  • Entramos en Maven->Installations y añadimos como instalación por defecto el directorio en el que habíamos descromprimido Apache Maven previamente.
  •  Vamos ahora a Server->Runtime Enviromment y añadimos el servidor Apache Tomcat que habíamos descargado antes.
  • Por último, vamos a la opción TestNG y en la casilla Output Directory escribimos /target/test-output.


Con esto ya tendríamos nuestro entorno de desarrollo Eclipse completamente configurado para comenzar a trabajar en nuestros proyectos.


La configuración del plugin EGit la dejaremos para cuando veamos como trabajar con el sistema de control de versiones Git.

Actualización: Actualizo el artículo para usar Eclipse Kepler edición JEE, que ya trae integrados varios de los plugins que antes había que instalar manualmente.