BPM y Mediaciones

Hace algunos años un arquitecto de IBM nos enseño el patrón mediación y consiguió que nuestro programador más junior fuera cinco veces mas productivo que nuestro mejor programador, haciendo casi dos procesos estimados en tres semanas en poco más de una.

Cual es la magia?

La magia es el patrón mediación que está implementado en diferentes BPMSs con diferente fortuna:

Este patron pretende separar la lógica de negocio de la lógica de integración, de modo que las tareas técnicas no aparezcan en el flujo bpm. Esto redunda en dos grandes ventajas:

  1. Negocio entiende el proceso, puede ayudarnos a mejorarlo.
  2. No necesitamos un modelo intermedio para los analistas y otro para ejecución.

No obstante estas ventajas a veces parecen utópicas y necesitamos algunas ventajas adicionales, más reales. Las siguientes solo se consiguen si las mediaciones se implementan con las siguientes caracteristicas:

  • Las mediaciones no deben de estar desacopladas del proceso, tienen que conocer las variables del proceso. El objetivo es evitar “mapeos” en los procesos, llevándolos a contener lógica que no es de negocio y que ralentiza su desarrollo. Al residir los mapeos en componentes específicos estos pueden pueden ser probados independientemente, pueden ser desarrollados en paralelo y el desarrollador cuenta con herramientas técnicamente más adecuadas para realizar estas conversiones técnicas. El proceso en sí, carecerá de mapeos de datos y de interfaces, conteniendo solo lo que tiene que contener: lógica de negocio.
  • Las mediaciones deben permitir que no exista lógica de integración en el proceso. Ni mapeos ni interfaces. Simplificando el proceso, haciendolo comprensible y posibilitando introducir el el proceso, los cambios de negocio.
  • Los ciclos de vida de los procesos y sus mediaciones deben de ser interdependientes. Los procesos duran mucho en el tiempo, los procesos de mediación, en comparación, son efímeros. No parece lógico que se desplieguen en el mismo componente. Además la mayoría de los cambios se producen en el negocio y la mayoría de las correcciones se hacen en la mediaciones. Cuando viven en el mismo componente proceso y mediación, una de las frecuentes correcciones en un mapeo o interface nos exigen migrar de versión el proceso y esto es injustificadamente trabajoso. No solo se trata de desarrollar más rápido, se trata de aumentar la mantenibilidad.

mediacion

En esta imagen se puede ver el mismo proceso con y sin mediaciones. Lógicamente los mapeos tienen que realizarse del mismo modo. Pero al realizarse en un componente independiente, pero conocedor del contexto del proceso, obtenemos: por un lado un proceso mucho más sencillo y acorde al negocio. Por otro lado unas componentes mucho más mantenibles donde colocar la complicada lógica de integración.

Anuncios

#bpm, #mediacion, #patron