lunes, 30 de marzo de 2009

Taller de Intalio BPP en Venezuela Cantv

Hace algunos días, tuve la oportunidad de dictar un taller de Intalio BPP, en Cantv, con integrantes de la Plataforma de Integracion Corporativa, Proyecto IPTV, y el proyecto convergencia. El primer día conversamos sobre los estilos de arquitectura SOA y ESB como estrategia para proporcionar mayor agilidad operativa en una plataforma de TI. El mensaje primordial, es que existe una relación muy estrecha entre estos estilos de arquitectura y BPM.

Ambos estilos aceleran, sustentan y aseguran la aplicacion de practicas que garanticen el éxito de una implantación BPM. Otro elementos importante fue dar a conocer las diversas disciplinas que comprenden BPM, su relación y las mejores practicas.

Luego, conversamos sobre la necesidad de contar con un framework de patrones para el modelado de procesos, que fortalezca las técnicas necesarias para utilizar todo el universo de elementos graficos de la notación BPMN. Se requieren patrones por ejemplo para:
  1. Manejo de excepciones
  2. Manejo de timeouts.
  3. Manejo de reintentos.
  4. Manejo de variables
  5. Manejo de interacciones.
  6. Tecnicas para la reutilizacion de procesos.
  7. Tecnicas para el manejo de correlaciones.
  8. Tecnicas para el manejo de reglas de negocio.
  9. etc.
Estos son los temas generales que abordamos en el taller:
  1. Introducción a SOA
  2. Introducción a ESB
  3. Introducción a BPM
  4. Disciplinas de BPM.
  5. Armando el rompecabezas de TI.
  6. Notación Gráfica BPM (tareas, pools, lanes, eventos, etc.)
  7. Practicas generales de Modelamiento (joins, sincronizacion, paralelos, etc.)
  8. Casos prácticos para el modelado de procesos.
  9. Orquestacion de Servicios.
  10. Orquestacion de Procesos.
  11. Practicas de BPMN
  12. Introduccion a Intalio|BPP (componentes y estándares soportados).
  13. Intalio|Designer.
  14. Componentes de un proceso (contexto, eventos, bifurcaciones, etc.).
  15. Procesos ejecutables.
  16. Otros.
Saludos;

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