lunes, 21 de noviembre de 2016

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.

No hay comentarios:

Publicar un comentario