Eventos que se generan en el Human Workflow. SOA Suite 11g

En la versión 10g de BPEL Process Manager se incorporó fuertemente el componente de Human Workflow en donde se puden ejecutar diferentes patrones de Aprobaciones, Revisiones, Cadenas de mando, etc.
Esa primera versión era poderosa pero carecía de varias funcionalidades, una de ellas era la capacidad de atrapar eventos que te permitieran saber qué pasó con la tarea, por ejemplo:
  1. Cuando alguien aprobó, rechazó, escaló
  2. Cuando la tarea se ha iniciado, terminado

  3. Cuando ha pasado cierto tiempo sin atención, etc.

En 11g se puede resolver muy fácilmente con los callbacks de la siguiente manera:

1. Lo primero que hay que hacer es crear un Composite con una Tarea Humana:





El composite quedará de la siguiente manera:





Para configurar los callbacks, da dos clicks al símbolo de la Tarea o bien al archivo .task en el explorador de archivos, ahí da click en el Menú de Eventos:



Aquí puedes ver que hay cinco eventos por default que se pueden asociar al uso de la tarea:


  • onAssigned

  • onUpdated

  • onCompleted

  • onStageCompleted

  • onSubTaskUpdated

Escoge el de onAssigned, así cada vez que a alguien se le asigne esta tarea se disparará un evento que el EDN de SOA Suite publicará para que alguien mas se subscriba a él.


Para que te puedes subscribir a un evento de EDN, arrastra un componente de Tipo Mediator y crealo apuntando a que te quieres subscribir a un evento:

Ahí podrás ubicar el evento que generamos en los pasos anteriores y después esa información rutearla a algún otro Servicio.