Usted está aquí:Inicio/MG Developers/Blog/Utilización de la propiedad "Application build level" para almacenar información de versionamiento en WAS 8.x

Publicaciones recientes

Por Qué Elegirnos

  • Más de 400 proyectos puestos en producción durante los últimos 15 años demuestran el compromiso con nuestros clientes, certifican nuestra metodología y reflejan la capacidad de nuestro equipo de profesionales.

  • En MicroGestion existe un compromiso genuino con la calidad, la formación continua de nuestros profesionales y la mejora continua de nuestros procesos son la evidencia de dicho compromiso.

  • Creemos que los siguientes rasgos son esenciales para el ejercicio de nuestra actividad:

    » Entusiasmo, como requisito para llevar a cabo un proceso creativo.
    » Proactividad, como engranaje de la dinámica de grupos.
    » Responsabilidad, como condición fundamental para asumir compromisos en cada nivel de la empresa.
    » Trabajo en grupo, como mecánica de trabajo elegida para lograr sinergia.

    Asimismo nuestra capacidad de ejecución se fundamenta en el respeto de los siguiente valores:

    » Flexibilidad, necesaria para buscar el mejor camino en cada proyecto.
    » Compromiso, para formar equipos con conocimiento de dominio y orientación al logro.
    » Solvencia, que nos permite diseñar la mejora alternativa tecnológicas para cada solución.

  • En MicroGestion las personas son el factor más importante para el éxito de los proyectos; la conformación y gestión del capital humano se lleva a cabo teniendo en cuenta los siguientes lineamientos:

    » Determinando el conjunto correcto de personas para cada proyecto.
    » Desarrollando un ambiente donde existan oportunidades de aprendizaje.
    » Propiciando la confianza y el respeto dentro del equipo.
    » Permitiendo el desacuerdo y previendo una manera de resolverlo.
    » Preguntando, no inquiriendo.
    » Reconociendo los logros.

13 Sep

Utilización de la propiedad "Application build level" para almacenar información de versionamiento en WAS 8.x

Sobre el versionamiento de aplicaciones

Los administradores necesitan conocer la versión de las aplicaciones que se encuentran desplegadas en los servidores que administran.

La información de versionamiento puede generarse manualmente, estar gestionada por un software (SCM), crearse durante la ejecución de procesos de integración continua, etc. Sin importar la complejidad del proceso de asignación de la información relativa al versionamiento, la misma es importante para facilitar la trazabilidad de los artefactos de administración relacionados con las aplicaciones.

Modificaciones a nivel de EAR (Enterprise Application Archive)

Para que el servidor WebSphere interprete la información de versionamiento será necesario modificar el archivo META-INF/MANIFEST.MF dentro del EAR correspondiente a la aplicación. De no existir el archivo será necesario crearlo.

Archivo de manifiesto

Una ves identificado el archivo -tal como muestra la imagen precedente- habrá que incorporar la información de versionamiento, por ejemplo:

Manifest-Version: 1.0
Implementation-Title: Build Version Sample Application
Implementation-Version: v1.0.0 - 2013.09.14 - build 4
Implementation-Vendor: MicroGestion Software

La información ingresada respeta la especificación para establecer información de versionamiento a nivel de paquetes de Java, sin embargo el servidor WebSphere solo utilizará la propiead Implementation-Version para definir el valor de la propiedad Application build level.

Identificación de la información durante el despliegue

Durante el despliegue el servidor leerá la información del archivo MANIFEST.MF correspondiente al EAR y establecerá el valor de la propiedad Application build ID.

Despliegue EAR

Información de versionamiento luego del despliegue

Una vez que la aplicación fue desplegada con éxito la información de versionamiento se podrá consultar en la configuración de cada aplicación dentro de la sección Configuration > Detail Properties > Application binaries.

Propiedades Generales

Application build level: Unknown

Cuando no existe archivo de manifiesto para la aplicación, o no existe la propiedad Implementation-Version definida en el mismo, el servidor desconocerá la versión y le asignará el valor Unknown a la propiedad Application build level.

Es importante mencionar que el servidor no accederá a los valores de los manifiestos que residen en los módulos incluidos en la aplicación. Por otro lado, el nombre del archivo de manifiesto debe estar complétamente en mayúsculas.

Acceso programático a la información de versionamiento

El mecanismo mas sencillo para acceder a la información de versionamiento es leer directamente el archivo de manifiesto. El siguiente código permitirá desde un servlet o jsp acceder a la propiedad Implementation-Version:

Properties prop = new Properties(); 
try {
  InputStream rersourceSteam = Thread.currentThread().getContextClassLoader().getResourceAsStream("META-INF\\MANIFEST.MF");
  prop.load(rersourceSteam);
  System.out.println("Version: " + prop.getProperty("Implementation-Version"));
} catch (IOException ex) {	
  ex.printStackTrace();
}

Referencias

Modificado por última vez en Domingo, 17 Noviembre 2013 05:28
Valora este artículo
(0 votos)
Diego Mendoza

Diego Mendoza se desempeña como arquitecto de software en MicroGestion participando en el proceso de análisis y diseño de soluciones que tengan requerimientos de alta disponibilidad, integración de ambientes heterogéneos, orientación a servicios, gestión de procesos de negocio, etc.

Sitio Web: www.microgestion.com/index.php/mg-developers/blog/author/988-diegomendoza
Deja un comentario

Asegúrate de llenar la información requerida marcada con (*). No está permitido el Código HTML. Tu dirección de correo NO será publicada.

Comuníquese con nosotros telefónicamente +54 011 4382-0878 o vía correo electrónico Esta dirección de correo electrónico está protegida contra spambots. Usted necesita tener Javascript activado para poder verla.