Ir al contenido principal

Primeros pasos con Camunda BPM – Desplegar y Probar el Proceso BPMN 2.0

Como decíamos ayer… bueno, no ayer exactamente, pero en nuestra publicación anterior ya vimos cómo elaborar nuestro primer proceso de BPMN 2.0 y guardar los cambios de la configuración respectiva. Vamos ahora a revisar los pasos necesarios para desplegar y probar dicho proceso en la plataforma BPM de Camunda.

Así mismo revisaremos los detalles necesarios para configurar los permisos de usuarios y la funcionalidad que pueden ejecutar sobre el proceso desplegado, todo esto haciendo uso de la plataforma de administración de Camunda. Tampoco podemos olvidar que daremos una mirada a las instancias en ejecución de nuestro proceso mediante la herramienta Cockpit.

Entonces, sin más preámbulos, manos a las sobras…





Construir la aplicación Web con Maven


Para ello debemos tener cargado muestro proyecto Java Maven en la IDE de eclipse.
Vaya al explorador, ubique el archivo pom.xml, haga click con el botón derecho del ratón sobre ese archivo, en el menú contextual seleccione la opción Run As / Maven Install.

Al finalizar esta tarea se debe generar un archivo .war de la aplicación, bpm_demo-0.1.war, en el directorio target del proyecto. Pulse f5 para recargar o refrescar el entorno.

Desplegar en Apache Tomcat


Sí aún no tiene el Tomcat ejecutándose, la plataforma de Camunda BPM, vaya al directorio de instalación, CAMUNDA_HOME, del servidor, y ejecute el archivo start-camunda.sh o start-camunda.bat según corresponda a su ambiente operativo.

Seguidamente copie el archivo bpm_demo-0.1.war, generado en el paso anterior, y  péguelo en el directorio  CAMUNDA_HOME/server/apache-tomcat-8.0.24/ webapps/, de modo que se inicie el auto-despliegue en el servidor Tomcat.

Esto debe generar la carpeta descomprimida del recurso, .war, en el directorio webapps y en el log del servidor debe generar un mensaje indicando que el despliegue fue exitoso.


21-Nov-2016 16:18:43.218 INFO [localhost-startStop-2] org.apache.catalina.startup.HostConfig.deployWAR Despliegue del archivo /home/pigbar/Developer/Servers/camunda-bpm-tomcat-7.5.0/server/apache-tomcat-8.0.24/webapps/bpm_demo-0.1.war de la aplicación web
21-Nov-2016 16:18:43.858 INFO [localhost-startStop-2] org.apache.jasper.servlet.TldScanner.scanJars Al menos un JAR, que se ha explorado buscando TLDs, aún no contenía TLDs. Activar historial de depuración para este historiador para una completa lista de los JARs que fueron explorados y de los que nos se halló TLDs. Saltarse JARs no necesarios durante la exploración puede dar lugar a una mejora de tiempo significativa en el arranque y compilación de JSP .
21-Nov-2016 16:18:43.858 INFO [localhost-startStop-2] org.camunda.commons.logging.BaseLogger.logInfo ENGINE-07015 Detected @ProcessApplication class 'pigbar.bpm.apps.bpm_demo.BPMDemoApp'
21-Nov-2016 16:18:43.859 INFO [localhost-startStop-2] org.camunda.commons.logging.BaseLogger.logInfo ENGINE-08026 No processes.xml file found in process application 'BPM Demo'
21-Nov-2016 16:18:43.860 INFO [localhost-startStop-2] org.camunda.commons.logging.BaseLogger.logInfo SPIN-01010 Discovered Spin data format provider: org.camunda.spin.impl.json.jackson.format.JacksonJsonDataFormatProvider[name = application/json]
21-Nov-2016 16:18:43.860 INFO [localhost-startStop-2] org.camunda.commons.logging.BaseLogger.logInfo SPIN-01010 Discovered Spin data format provider: org.camunda.spin.impl.xml.dom.format.DomXmlDataFormatProvider[name = application/xml]
21-Nov-2016 16:18:43.860 INFO [localhost-startStop-2] org.camunda.commons.logging.BaseLogger.logInfo SPIN-01009 Discovered Spin data format: org.camunda.spin.impl.xml.dom.format.DomXmlDataFormat[name = application/xml]
21-Nov-2016 16:18:43.860 INFO [localhost-startStop-2] org.camunda.commons.logging.BaseLogger.logInfo SPIN-01009 Discovered Spin data format: org.camunda.spin.impl.json.jackson.format.JacksonJsonDataFormat[name = application/json]
21-Nov-2016 16:18:43.861 INFO [localhost-startStop-2] org.camunda.commons.logging.BaseLogger.logInfo ENGINE-08050 Process application BPM Demo successfully deployed

Verificar el despliegue con la herramienta Cockpit


Vayamos a nuestro explorador y abramos la aplicación Cockpit, podemos hacerlo mediante la url:


Ingresamos las credenciales adecuadas cuando se nos solicite:

Usuario: demo
Clave: demo

El tablero o Dashboard nos debe indicar que se ha añadido una nueva definición de proceso, process definition, y podemos observarla haciendo click en el menú processes de la herramienta.



Genial!! En caso de problemas deberíamos iniciar por revisar los mensajes del log.

Iniciar una Instancia de Proceso


Cierre la sesión en el Cockpit. Vayamos a la aplicación TaskList de Camunda BPM, http://localhost:8080/camunda/app/tasklist, Ingresamos las credenciales adecuadas cuando se nos solicite:

Usuario: demo
Clave: demo

Y hacemos click en la opción Start process.



Donde podemos seleccionar nuestro proceso Solicitud de Préstamo, y definir o establecer las variables que consideremos pertinentes para el inicio del proceso, ya sea mediante un formulario personalizado o mediante la pantalla de inicio por omisión.



En nuestro ejemplo no se especificó ninguna variable para el proceso simple, ni se declaró ninguna pantalla de inicio de proceso, por lo que podemos dar inicio a la instancia haciendo click en el botón start.

La aplicación TaskList nos debería informar que el proceso fue iniciado con éxito.

Cierre la sesión en el TaskList. Sí volvemos a la herramienta Cockpit, esta nos debe indicar ahora que hay una nueva instancia de proceso para “Solicitud de Préstamo” en ejecución.



Configurar las Autorizaciones de Inicio de Proceso


Debe recordar que en nuestra definición de proceso inicial habíamos dicho que la Tarea HumanaSolicitar Préstamo” estuviese asignada al usuario John. Por lo que es necesario autorizar a este usuario a que pueda realizar tareas sobre el proceso.

Cierre la sesión en el Cockpit. Vayamos a la herramienta Camunda Admin, http://localhost:8080/camunda/app/admin/default/#/login, Ingresamos las credenciales adecuadas cuando se nos solicite:

Usuario: demo
Clave: demo

Y hacemos click el menú Authorizations, donde debemos seleccionar la opción Process Definition y pulsar el botón o enlace créate new authorization.



Indique que el usuario es “john”, con los permisos igual a “ALL”, y sobre el Resource ID indique el valor “Process_Solicitud_Prestamo”.

Cuando esté listo guarde los cambios.

Agregue una nueva autorización en la opción Process Instance.



Indique que el usuario es “john”, con los permisos igual a “CREATE”, y sobre el Resource ID indique el valor “*”.

Trabajar en la Tarea 


Cierre la sesión en el Admin. Vayamos al TaskList e inicie sesión con las credenciales john/john. Deberíamos ser capaces de poder ver las tareas asignadas a John. Seleccione la Tarea disponible y luego haga click en la pestaña diagrama, Diagram. Esto muestra el diagrama del proceso con la tarea resaltada lista para trabajar en ella.

Podemos reclamar o tomar una tarea, completarla estableciendo sus variables, etc.

 
 
Para completar una tarea, vaya a la pestaña Formulario, Form, la cual nos mostrará el formulario que hayamos definido para esta tarea o, como es nuestro caso, nos mostrará un formulario por omisión que nos permitirá manipular variables y pulsar el botón Complete para culminar la tarea.



Como hemos podido apreciar, las herramientas TaskList, Cockpit y Admin, son recursos muy valiosos a la hora de trabajar con las definiciones de procesos, iniciar instancias, administrar permisos y ejecutar tareas.


Hasta una próxima publicación.

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