Entradas etiquetadas con directorios

Migrando de JBoss EAP 5 a JBoss EAP 6

Hay enormes diferencias entre la versión 5 y la 6 de JBoss EAP: cambios en la estructura de directorios, en la forma en que se configuran, en los propios ficheros… Todos estos cambios hacen que pasar de uno a otro se convierta en una migración, y no una actualización.
Por si te encuentras en esta situacion, te dejo este video (20 minutos de duración) para que sepas a que te enfrentas y como puedes organizarte.

Presentando Apache TomEE (Parte 2: Estructura de directorios)

Apache TomEE

La organización de directorios de TomEE es (casi) exactamente la misma que la de Tomcat. Recordemos que Tomee procede de añadir a Tomcat aquello que necesita para cumplir la especificación. En concreto, para la versión apache-tomee-webprofile-1.5.1 corresponde un apache-tomcat-7.0.34.

Ademas, para que se puedan ver fácilmente los cambios existentes en los diferentes archivos, los responsables del proyecto han decidido incluir en el paquete tanto el fichero modificado como aquel del cual procede. Por ejemplo, si TomEE-1.5.1 contiene un fichero catalina.sh modificado, también se incluye un fichero de nombre catalina.sh.original cuyo contenido es el mismo que el del fichero catalina.sh de Tomcat-7.0.34. Así podemos ver que cambios se han realizado sobre el paquete base.

La estructura de directorios es la siguiente:

/bin

  • Añadido tomee.sh: se trata de un script que permite realizar operaciones por linea de comandos, como por ejemplo realizar despliegues. Puede necesitar configuración para su correcto funcionamiento (puerto de escucha del servidor…).
  • Añadidos TomEE.*.exe: Binarios para usarlos como servicio de Windows.
  • Añadidos service*.bat: Instaladores del servicio de Windows.
  • Modificado catalina.(sh|bat). Como comentaba antes, se ha añadido el fichero catalina.(sh|bat).original. En el caso del .sh, las lineas añadidas son las siguientes:

    # Add OpenEJB javaagent
    if [ -r "$CATALINA_HOME"/lib/openejb-javaagent.jar ]; then
    JAVA_OPTS=""-javaagent:$CATALINA_HOME/lib/openejb-javaagent.jar" $JAVA_OPTS"
    fi

    Al parecer, estas lineas solo son necesarias si se quiere usar simultáneamente JPA y la implementación de OpenJPA.

/conf

  • Añadido system.properties: sirve para configurar propiedades de TomEE. Sin haber buceado mucho en ello, diría que sirve para sobrescribir propiedades de los diferentes jars que se han añadido. Lo normal sera que no necesitemos tocar este fichero.
  • Añadido tomee.xml: Aquí definiremos recursos, contenedores… como por ejemplo los DataSources. Este fichero, al contrario que el anterior, sí sera uno de los que tengamos que configurar.
  • Modificado server.xml: A este fichero solo se le ha añadido un Listener, así que lo modificaremos según nos haga falta igual que lo hacíamos con Tomcat. El Listener añadido es este:

    <!-- TomEE plugin for Tomcat -->
    <Listener className="org.apache.tomee.catalina.ServerListener" />

  • Modificado tomcat-users.xml. Se han añadido lineas para gestionar el acceso a la aplicación de gestión de TomEE:

    <!-- Activate those lines to get access to TomEE GUI --/>
    <!--
    <role rolename="tomee-admin" //>
    <user username="tomee" password="tomee" roles="tomee-admin,manager-gui" //>
    --/>

/endorsed

  • Añadida esta carpeta.
  • Añadida la librería annotation-api.jar. Sobrescribe el jar por defecto de Tomcat, pues no es compatible con la especificacion de JEE6.
  • Añadida las librerias jaxb-(api|impl).jar. Sobrescriben la implementación por defecto del JDK 1.6 por estar anticuadas con respecto a JEE6.

/lib

  • Añadidas todas las librerías openejb-* y tomee-*, asi como sus depedendencias. Este es núcleo central de TomEE.
  • Eliminada annotation-api.jar. Como no era compatible con JEE6, se ha cambiado la versión que venía con Tomcat y para evitar confusiones, se ha pasado a /endorsed.
  • Eliminada el-api.jar. Ya esta contenida en una de las librerias que se han añadido: javaee-api.jar.

/webapps

  • Se han eliminado los ejemplos.
  • Los WARs se siguen desplegando aquí, de la misma manera que se hace con Tomcat.
  • Añadida la aplicación tomee. Es la interfaz de administración del servidor de aplicaciones. Es opcional, pero diría que si la quitamos habrá cosas que dejen de funcionar, por ejemplo las operaciones que se realizan desde el script tomee.sh.

/apps

  • Esta carpeta no existe por defecto, tendremos que crearla nosotros. Se emplea para desplegar EARs y JARs. Los resources.xml tambien cendran aquí. En mi opinión, esta carpeta debería existir en el paquete.

Y eso es todo. Lógicamente, sigues teniendo las carpetas /work, temp/ y log/, pero sobre esto no hay ningún cambio. Como se puede ver, no han exagerado cuando decían que lo único que había que hacer era añadir librerías al Tomcat.

En la próxima entrega seguiremos profundizando en el servidor, lo arrancaremos y veremos que encontramos.

Puedes ver anterior entrega de esta serie aquí: Presentando Apache TomEE (Parte 1: Introducción)

Ir arriba