automatización de procesos 2
DESCRIPTION
Automatización de procesos 2. Gestión de Procesos y Servicios. Introducción. Camunda BPMS. ¡IMPORTANTE!. Todo lo que viene a continuaci ón es válido para la versión 7.1.0-alpha1 de Camunda. Si usas otra versión, las cosas puedes funcionar de manera distinta. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/1.jpg)
Automatización de procesos 2
Gestión de Procesos y Servicios
![Page 2: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/2.jpg)
Introducción
![Page 3: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/3.jpg)
Camunda BPMS
![Page 4: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/4.jpg)
Todo lo que viene a continuación es válido para la versión 7.1.0-alpha1 de Camunda. Si usas otra versión, las cosas puedes funcionar de
manera distinta.
¡IMPORTANTE!
![Page 5: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/5.jpg)
Antes de seguir, un poco de configuración…
![Page 6: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/6.jpg)
Añadir dos ficherso a src/main/webapp/WEB-INF
• El código de ambos está disponible en la enseñanza virtual.
![Page 7: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/7.jpg)
Modificar el fichero pom.xml tal como se muestra a continuación
![Page 8: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/8.jpg)
IntroducciónConceptos básicos
![Page 9: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/9.jpg)
Datos en el proceso
• El motor de procesos ignora completamente cualquier objeto de datos de BPMN.
• La forma de tener datos en el proceso es mediante variables del proceso.
• Las variables pueden ser tipos básicos de Java (int, boolean, String…) y colecciones de tipos básicos (List<String>…)
![Page 10: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/10.jpg)
Expresiones
• Se pueden utilizar en diversos sitios: condiciones en gateways, tareas, eventos, definición de asignación o candidatos, propiedades multi-instance…
• Hay dos tipos:– ${expresion} para variables o evaluar expresiones sobre
variables. – #{expresion} para llamar a métodos de clases definidas en el
fichero applicationContext.xml
![Page 11: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/11.jpg)
¿Qué devuelven las siguientes expresiones?
• ${rfcName}• ${decision == “approved”}• ${!resolved}• #{prepareHelpers.resolveUsersForTasks(users)}
![Page 12: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/12.jpg)
IntroducciónConceptos básicos
Eventos
![Page 13: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/13.jpg)
Recepción de mensajes
Usa sólo eventos de recepción de mensajes. Las tareas de recepción de mensaje estándiseñadas para ser usadas en el contexto de una aplicación
![Page 14: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/14.jpg)
Envío de mensajes (1)
![Page 15: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/15.jpg)
Envío de mensajes (2): El código Java
![Page 16: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/16.jpg)
¿Qué es la información de correlación?
• Es la forma de indicar a cuál instancia del proceso debe ir a parar el mensaje.
• El motor buscará la instancia cuyas variables de proceso coincidan con las indicadas en la llamada a correlateMessage
![Page 17: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/17.jpg)
Envío de mensajes (3): La configuración
![Page 18: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/18.jpg)
¿Cómo enviar información junto al mensaje?
![Page 19: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/19.jpg)
Eventos de tiempo
Consultar en http://en.wikipedia.org/wiki/ISO_8601 la forma de especificar los tiempos
![Page 20: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/20.jpg)
IntroducciónConceptos básicos
EventosTareas
![Page 21: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/21.jpg)
Tareas automáticas
• Service task• Business rule task• Send task• Receive task• Script task
![Page 22: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/22.jpg)
Tareas automáticas
• Service task• Business rule task• Send task• Receive task• Script task
![Page 23: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/23.jpg)
Tareas automáticas
![Page 24: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/24.jpg)
Tareas automáticas
• Service task• Business rule task• Send task• Receive task: No usar. Utilizar eventos en su lugar.• Script task
![Page 25: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/25.jpg)
Tareas automáticas
• Service task• Business rule task• Send task• Receive task• Script task
![Page 26: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/26.jpg)
Script task
• Require tener el motor del lenguaje de script disponible.
• JDK 7 trae por defecto el motor de JavaScript
• Como recomendación, es mejor utilizar un service task en su lugar
![Page 27: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/27.jpg)
User task
• Asocia a distintos usuarios o grupos separando por comas
• Indica que el formulario está definido en el fichero src/main/webapp/forms/form-analyse-rfc.html
• El due date se especifica en el formato ISO8601 o en un tipo Date de Java
![Page 28: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/28.jpg)
Formularios
![Page 29: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/29.jpg)
Formularios
![Page 30: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/30.jpg)
Formularios
• Aplicar formato con hoja de estilos: http://getbootstrap.com/2.3.2/base-css.html#forms
• Validación: http://docs.angularjs.org/api/ng.directive:input
![Page 31: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/31.jpg)
Tareas con Loops
• Las tareas de loop no están implementadas en Camunda. Por tanto, es necesario modificarlos a un ciclo con un gateway
![Page 32: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/32.jpg)
Multi-instance (1)
![Page 33: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/33.jpg)
Multi-instance (2)
![Page 34: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/34.jpg)
Multi-instance (3)
![Page 35: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/35.jpg)
Multi-instance (4)
• Desde cada instancia se puede consultar las siguientes variables:– nrOfInstances: El número total de instancias creadas– nrOfActiveInstances: El número de instancias que quedan activas– nrOfCompletedInstances: El número de instancias ya completas– loopCounter: El índice en el iterador para cada instancia
![Page 36: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/36.jpg)
IntroducciónConceptos básicos
EventosTareas
Consejos
![Page 37: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/37.jpg)
Consejos
• Organizar todas las clases usadas en un proceso en el mismo paquete Java
• Añadir expresiones a los nombres de los user tasks para que la lista de las tareas sea más comprensible
![Page 38: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/38.jpg)
Consejos: Usar Loggers
![Page 39: Automatización de procesos 2](https://reader034.vdocuments.net/reader034/viewer/2022050721/56815a51550346895dc784e4/html5/thumbnails/39.jpg)
Manuales de referencia
• Sobre el uso de BPMN 2.0 en Camunda: http://docs.camunda.org/latest/api-references/bpmn20/
• Sobre el uso de código Java con Camunda: http://docs.camunda.org/latest/guides/user-guide/#process-engine-delegation-code
• Sobre los formularios: http://docs.camunda.org/latest/guides/user-guide/#tasklist