jueves, 19 de marzo de 2009

Looping Subprocess en Intalio BPMS - BPMN

El "looping subprocess" son subprocesos que pueden ser iterados, basado en condiciones que limitan el numero de iteraciones requeridas, generalmente llamados bucles. En este post, podemos ver los criterios necesarios para utilizar un subproceso con actividades que requieren ser iteradas un numero de veces, y la utilizacion de expresiones Xpath para acceder a los datos (nodos) que comprenden un array.

En este ejemlpo, tenemos un web services expuesto por Mule ESB, el cual retorna un maestro detalle. Es necesario iterar cada nodo del array, e invocar otro servicio.


Para poder iterar, debemos establecer las condiciones para limitar el numero de iteraciones. Específicamente, en el ejemplo utilizamos la funcion Xpath count() para obtener en numero de nodos, y almacenarlos en una variable.


Establecemos las condiciones que limitaran el numero de iteraciones en el bucle.


Mapeamos la salida,


Para finalizar, existen actualmente tres tipos de bucles: For Each, While y Repeat Until, las cuales se utilizan en las siguientes condiciones:
  1. Iterar un subproceso hasta que se cumpla una condición (While).
  2. Iterar un subproceso hasta que se cumpla una condición (Repeat Until).
  3. Iterar un subproceso un numero de veces (contador inicial, contador final) (For Each).

1 comentario:

Unknown dijo...

saludos, tremendo blog mi amigo, te felicito, quisiera saber si sabes en donde puedo realizar un curso de intalio, pues estoy interesado en realizarlo.