Configuración de parámetros en Bonita BPM Community Edition

...

En este post se explica como implementar un mecanismo para configurar parámetros por ambiente de despliegue en una aplicación de procesos construída con Bonita BPM Community Edition.

La configuración de parámetros (IP o host de servidor de correos, credenciales de acceso a sistemas legados, etc.) es un punto importante a tener presente durante el desarrollo de una aplicación de procesos que debe ser desplegada en múltiples ambientes. Esto es así ya que el tiempo necesario para adecuar la aplicación para que pueda ser ejecutada en un ambiente distinto al de desarrollo es proporcional a la facilidad con que se pueda realizar el cambio de los parámetros, cuanto más simple más rápido.

Esta solución está basada en la utilización de la clase java.util.Properties que permite operar con archivos de propiedades en formato clave = valor.


Paso 1

Se debe crear los archivos properties (formato: clave = valor) para los distintos ambientes de despliegue. Luego, se los debe comprimir en formato ZIP y cambiar la extensión del archivo resultante a JAR.

Paso 2

Se debe agregar el JAR a la aplicación de procesos, realizando el upload desde el menú "Development > Manager jars..." (o en versiones anteriores a la 6 "Extensions > Add/Remove Jar Files"). Marcar la dependencia del proceso de este JAR.

Paso 3

Se debe crear una variable a nivel de proceso del tipo "Java Object" y seleccionar la implementación "java.util.Properties".

Paso 4

Se debe asignar el valor inicial de la variable utilizando el siguiente script:

String filename = "NOMBRE_ARCHIVO.properties";
Properties properties = new Properties();
InputStream is = null;
is = Thread.currentThread().getContextClassLoader().getResourceAsStream(filename);
properties.load(is);
return properties;
 

Paso 5

Finalmente, para poder obtener el valor de un parámetro utilizar el siguiente script (retorna un String):

properties.getProperty("NOMBRE_PARAMETRO")
 

Al momento de necesitar cargar una configuración diferente para un ambiente distinto, bastará con cambiar el nombre del archivo del paso 4.


Existe otra altenativa basada en la utilización del conector Get properties from file. Este conector también se encuentra implementado utilizando la clase java.util.Properties.

La ventaja de la forma presentada respecto a la utilización del conector es que permite realizar la lectura de los parámetros cuando aún no se ha creado una instancia del proceso (por ejemplo, en el formulario inicial).

Se adjunta un ejemplo de implementación utilizando Bonita BPM v6, sin embargo, la técnica mencionada también funciona en versiones anteriores.


Modificado por última vez en Lunes, 23 Septiembre 2013 00:49

Acerca del autor

Andrés Sommariva

Andrés cuenta con más de diez años de experiencia liderando proyectos en diversas tecnologías, actualmente se desempeña como Gerente de Operaciones de MicroGestion Software.