domingo, 25 de enero de 2009

Intalio Eventos Multiples

Como hemos descrito en notas anteriores, un evento es algo que afecta el flujo de ejecución de un proceso de negocio. Según la notación BPMN tenemos tres tipos de eventos inicio, intermedios, y fin. En este ejemplo podemos ver diversos tipos de eventos.

Primero, podemos ver la utilización de un evento denominado “múltiple intermediate event”, que opera como un gateway exclusivo basado en eventos. En este tipo de gateway, solo un evento podrá ejecutarse. En nuestro diagrama utilizamos un evento intermedio o timer. Cuando el mensaje es recibido antes de una fecha determinada, el proceso continua su ejecución normal (Tarea G), de lo contrario se ejecuta la tarea F y se lanza un error.

Por ultimo, podemos ver un ejemplo de la utilización de un “messages end event”, para enviar un mensaje al participante que ejecuta la tarea C.

domingo, 18 de enero de 2009

Manejo de Eventos Intermedios Timer en Intalio

En el post anterior, un amigo realizo algunas preguntas relacionadas con el control de tiempos. La notación BPMN, introduce un símbolo para el manejo de eventos timers, también conocidos como temporizadores. En la notación, se les conoce como “Timer Intermediate Event”.

Los timer intermediate Event, o eventos intermedios de tiempo, se utilizan para controlar el tiempo de una actividad ejecutada por un participante humano o por un servicio (Web Services). Con frecuencia se utilizan, para tareas de escalamiento, notificaciones y cancelación de procesos.

Un ejemplo de este tipo de operaciones: si una actividad no se ejecuta en un periodo de tiempo, podemos romper el flujo o ruta de proceso normal, para cancelar una orden de servicio, o notificar a un cliente. Se pueden utilizar expresiones timers como : PT20S que establece 20 seg, PT50S establece 50 seg y PT2M establece 2 min.

En el ejemplo, tenemos un subproceso que ejecutar dos actividades, adiciono un timers para controlar el tiempo y así permitir que se dispare un evento: “si el tiempo de ejecución del subproceso sobrepasa un valor, ejecuto la actividad Timeout”.