1 / 39

Automatización de procesos 2

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.

kendra
Download Presentation

Automatización de procesos 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automatización de procesos 2 Gestión de Procesos y Servicios

  2. Introducción

  3. Camunda BPMS

  4. ¡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.

  5. Antes de seguir, un poco de configuración…

  6. Añadir dos ficherso a src/main/webapp/WEB-INF • El código de ambos está disponible en la enseñanza virtual.

  7. Modificar el fichero pom.xml tal como se muestra a continuación

  8. Introducción Conceptos básicos

  9. 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>…)

  10. 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

  11. ¿Qué devuelven las siguientes expresiones? • ${rfcName} • ${decision == “approved”} • ${!resolved} • #{prepareHelpers.resolveUsersForTasks(users)}

  12. Introducción Conceptos básicos Eventos

  13. Recepción de mensajes Usa sólo eventos de recepción de mensajes. Las tareas de recepción de mensaje están diseñadas para ser usadas en el contexto de una aplicación

  14. Envío de mensajes (1)

  15. Envío de mensajes (2): El código Java

  16. ¿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

  17. Envío de mensajes (3): La configuración

  18. ¿Cómo enviar información junto al mensaje?

  19. Eventos de tiempo Consultar en http://en.wikipedia.org/wiki/ISO_8601 la forma de especificar los tiempos

  20. Introducción Conceptos básicos Eventos Tareas

  21. Tareas automáticas • Service task • Business rule task • Send task • Receive task • Script task

  22. Tareas automáticas • Service task • Business rule task • Send task • Receive task • Script task

  23. Tareas automáticas

  24. Tareas automáticas • Service task • Business rule task • Send task • Receive task: No usar. Utilizar eventos en su lugar. • Script task

  25. Tareas automáticas • Service task • Business rule task • Send task • Receive task • Script task

  26. 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

  27. 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

  28. Formularios

  29. Formularios

  30. 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

  31. Tareas con Loops • Las tareas de loop no están implementadas en Camunda. Por tanto, es necesario modificarlos a un ciclo con un gateway

  32. Multi-instance (1)

  33. Multi-instance (2)

  34. Multi-instance (3)

  35. 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

  36. Introducción Conceptos básicos Eventos Tareas Consejos

  37. 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

  38. Consejos: Usar Loggers

  39. 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

More Related