Ir al contenido principal

Primeros pasos con Camunda BPM – Configurar Proyecto JAVA


En nuestro artículo anterior dimos inicio a la instalación de la plataforma de Camunda BPM y del modelador o editor.
En esta oportunidad vamos a tratar el tema de cómo configurar nuestro ambiente de desarrollo para poder modelar procesos, crear clases asociadas a estos procesos y desplegar nuestros procesos en la plataforma de BPM.
Usaremos Eclipse como IDE para el desarrollo y Maven como herramienta de construcción del proyecto. 


 
¿Se pueden modelar y desplegar procesos sin usar Eclipse ni Maven?
La respuesta es SI.
Sí Ud. sabe lo que hace puede generar su propio proyecto .war de java que contenga todos los archivos necesarios con la estructura requerida. Obvio que con Maven sobre Eclipse todo este proceso resulta mucho más fácil de gestionar y de ejecutar.
Es más, hasta podemos modelar nuestros procesos BPMN sin hacer uso del Modeler o editor de Camunda. Al ser el editor de Camunda compatible con el estándar BPMN 2.0, cualquier editor o software de edición de procesos compatible con dicho estándar, sin aportar etiquetas propias del fabricante, se podrá usar como fuente para los diagramas de proceso que usaremos en nuestro proyecto de BPM.
Obviamente, en estos artículos usaremos las bondades suministradas por el Modeler de Camunda.
Así que sin mayores preámbulos…. Manos a las sobras…

1.- Crear un nuevo proyecto Maven en Eclipse

Vaya a su editor eclipse, opción “File”, opción “New” y escoja la opción “Maven Project”, o la opción “Other” en caso de que no tenga desplegada la opción de proyectos Maven en el menú principal.
En esta ventana seleccionamos nuestros Workspace o dejamos el que ya está definido por omisión, y seleccionamos la opción de “Create a simple Project (skip archetype selection)

Hacemos click, pinchar, en el botón “next” para que lleguemos a la pestaña donde debemos configurar nuestros artefactos del proyecto.

Acá establecemos los siguientes elementos:

  Group ID = org.pigbar.bpm (o el ID de Grupo de su preferencia)
  Artifact ID = bpm_demo (Su nombre de proyecto BPM o artefacto)
  Version = 0.1 (o su esquema de versión favorito)
  Packaging= war (el empaquetado del proyecto BPM es un .war estándar)


Cuando tenga todo listo pulse el botón “Finish”. Eclipse procederá a configurar para nosotros un proyecto Java con la distribución de un proyecto Maven cualquiera y los mostrará en el explorador, explorer, de proyectos de la herramienta.

2.- Agregar las dependencias Maven de Camunda

Una vez creado nuestro proyecto Maven, es hora de agregar las dependencias correspondientes en el archivo pom.xml del proyecto.
Abra el archivo pom.xml, el cual se encuentra en el directorio raíz de las carpetas del proyecto, y agreguemos las siguientes definiciones o dependencias:


  4.0.0
  org.pigbar.bpm
  bpm_demo
  0.1
  war

    
      
        org.camunda.bpm
        camunda-bom
        7.5.0
        import
        pom
      
    
  

  
    
      org.camunda.bpm
      camunda-engine
      provided
    

    
      javax.servlet
      javax.servlet-api
      3.0.1
      provided
    
  

  
    
      
        org.apache.maven.plugins
        maven-war-plugin
        2.3
        
          false
        
      
    
  



Guarde los cambios y listo, ya podemos hacer nuestro primer “build” del Proyecto.
Ubique el archivo pom.xml en el explorador de proyectos o de paquetes, haga clik derecho sobre el archivo y seleccione la opción “Run as” y luego “Maven install”. Esto hará que el Maven descargue las dependencias incorporados en el archivo pom.xml de nuestro proyecto.
Al final debe darnos un mensaje del tipo:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------


Vayamos al siguiente paso…

3.- Agregar una Clase de Aplicación de Proceso (Process Application)

 
La clase Aplicación de Proceso constituye la interface entre nuestro proceso y el motor de BPM de la plataforma de Camunda.
Vayamos al explorador de proyectos, ubique la carpeta src/main/java y cree allí un paquete con un nombre adecuado a sus estándares y preferencias, por ejemplo:
pigbar.bpm.apps.bpm_demo
Dentro de ese paquete cree una nueva clase Java con el nombre:
BPMDemoApp
Y que extienda de la clase:
org.camunda.bpm.application.impl.ServletProcessApplication



Agregue la anotación @ProcessApplication("BPM Demo") a la clase, la cual nos debe quedar de la siguiente forma:

package pigbar.bpm.apps.bpm_demo;

import org.camunda.bpm.application.ProcessApplication;
import org.camunda.bpm.application.impl.ServletProcessApplication;

@ProcessApplication("BPM Demo")
public class BPMDemoApp extends ServletProcessApplication {
// sin implementar cuerpo de la clase
}


4.- Agregar archivo descriptor de despliegue processes.xml


El archivo processes.xml se utiliza para indicarle valores de configuración a la plataforma de BPM de Camunda donde nuestro proceso va a ser desplegado y ejecutado.
Este archivo debe ser creado en el directorio “src/main/resources/META-INF”, así que vayamos a la carpeta “src/main/resources” y en ella creamos la carpeta “META-INF” en caso de no existir. Ya dentro de este directorio procedemos a crear el archivo processes.xml con el siguiente contenido:



  
    default
    
      false
      true
    
  



El archivo processes.xml se puede dejar vacío, en ese caso se usa la configuración por omisión de la plataforma.
Ya estamos listos para modelar nuestros procesos, pero eso es tema de nuestra próxima publicación.


Hasta pronto.

Comentarios

Entradas populares de este blog

El Melange todavía corre

Ese era el estribillo de un capítulo de unas de mis series favoritas de la infancia, Meteoro o Speed Racer. En ese capítulo un auto “fantasma” el X-3, aparecía de imprevisto y dejaba a todos asombrados con su rendimiento y prestaciones y volvía a desaparecer. Traigo ese episodio a colación puesto que recientemente sostuve una amena charla con un querido amigo, en la que el me manifestaba como los Mainframes habían muerto, o mejor dicho, el concepto de la computación distribuida basada en Mainframes había desaparecido. Para variar, yo no estuve de acuerdo, y le dije que por el contrario, el modelo de computación basado en Mainframes está mas vigente que nunca. Estos fueron mis argumentos:

Primeros pasos con Camunda BPM – Modelando un Proceso BPMN 2.0

Tenemos entre manos la tercera publicación de nuestra serie sobre la Plataforma de BPM de Camunda .  El día de hoy vamos, por fin, a empezar a modelar o construir nuestro primer proceso sencillo en notación BPMN 2.0. Para ello vamos a usar el modelador o editor que ya hemos instalado en nuestra primera publicación , y vamos a guardarlo en la sección de recursos del proyecto Maven Java que configuramos en la segunda publicación . Así que, como ya es costumbre, manos a las sobras…

Como configurar jBPM para usar nuestra propia Base de Datos en un sólo paso

Llevo un buen rato trabajando con jBPM en su serie 6.x, y mi opinión sobre este producto en la versión mecionada no ha mejorado para nada. Es una herramienta plena de funciones y caracteristicas avanzadas, pero tambien está llena de Bugs y es realmente inestable, sobre todo en el ambiente de modelamiento.  Así mismo, debo decir que tiene una muy aceptable API REST y que el motor de procesos y la consecuente ejecución de los procesos es estable y bastante rápida. En esta publicación daré inicio a una serie de artículos que hablan sobre ciertas configuraciones comunes e importantes que se hacen con jBPM. Hoy iniciamos con la configuración de jBPM para que use nuestra base de datos favorita. Esto tiene sentido porque el producto viene con la base de datos H2 por omisión, la cual es excelente para pruebas y evaluaciones rápidas de la herramienta, pero es completamente inaceptable en un ambiente de desarrollo, QA o producción cualquiera. Así que manos a l