domingo, 23 de noviembre de 2008

Manejo de Eventos en Intalio BPM


Uno de los elementos gráficos de la notación BPMN son los eventos. En este ejemplo, podemos ver el comportamiento del motor BPEL, para el manejo de eventos intermedios y timers, elementos fundamentales en la comprensión de BPMN para el modelado de procesos de negocio.

Primero un poco de teoría. Un evento es algo que pasa durante la ejecución de un proceso. Estos eventos afectan el flujo del proceso, y usualmente tienen una causa (disparador o trigger), o un impacto (resultado - result). Los eventos son representados con círculos, sobre diversas marcas que representan diferentes disparadores y resultados. Existen tres tipos de eventos basado en como afectan el flujo del proceso: inicio, intermedio, finalización (start, intermediate, end).

Por ejemplo tenemos un evento timer, donde podemos establecer un período de tiempo (fecha), o un ciclo (por ejemplo, todos los miércoles a las 6am), con el cual podemos condicionar el inicio o disparo de un evento.

Otro tipo de eventos son los intermedios, los cuales son utilizados para condicionar la entrada de un mensaje dentro del flujo. Un evento intermedio, según definición, ocurre entre un evento de inicio (Start Event) y uno de fin (End Event), y afecta el flujo de el proceso, pero no inicia o finaliza el proceso directamente.

Por lo general, los eventos timers, son utilizados en tareas, y generalmente pueden representar una condición de timeout para un Web services, que puede disparar un evento para enviar la solicitud a una cola de mensajeria de excepciones.

En este ejemplo, estamos utilizando un timer, que permite observar el comportamiento de un evento intermedio; en resumen, el proceso de negocio no ejecutara la tarea B, hasta que pasen 2 min. (timer), y se ejecute la tarea C.

1 comentario:

Unknown dijo...

Hola sobre los eventos:
Tengo una duda con los eventos de tiempo. Pueden ser eventos anuales.¿ En la practica uno puede poner un evento para que se repita todos los 1ro de diciembre?¿ no es mucho tiempo?
Otra duda que tengo con el tiempo es cuanto se puede demorar un proceso en terminar su ejecución.
-¿ Si las actividades hacen llamadas a servicios web se puede configurar para que los servicios tengan 25 segundos de demora en las respuestas?
-¿Si las actividades son iteraciones de usuario el proceso puede estar activo por meses hasta que se complete la actividad?¿ Cual es el tiempo promedio que un proceso espera por terminar todas sus actividades? ¿Tiene limitantes?

Saludos David