Curso de Arquitectura de Software Aplicada

Qué es el patrón process manager

Curso de Arquitectura de Software Aplicada

Contenido del curso

Qué es el patrón process manager

Resumen

Cuando diseñas integraciones entre sistemas, es fácil caer en la trampa de pensar que todo se resuelve servicio a servicio. Pero en escenarios reales, como proyectos para el Banco Interamericano de Desarrollo, las actividades humanas también forman parte del flujo y necesitan convivir con tus sistemas de información. Ahí es donde entra el patrón process manager, una pieza clave para orquestar procesos que mezclan automatización y decisiones manuales.

¿Qué es el patrón process manager y cuándo lo necesitas?

El process manager es un patrón de integración que te permite coordinar procesos de negocio donde participan tanto sistemas como personas. La diferencia de tiempos de respuesta entre un humano y un servicio automatizado, lo que se conoce como impedancia, obliga a diseñar de otra forma.

No todos los problemas de integración son simples. Cuando el flujo combina mensajes, eventos, workflows, reglas de negocio y tareas manuales, necesitas una herramienta que sostenga todo ese mapa sin que se rompa.

¿Cuándo conviene usar process manager? Cuando tu proceso de negocio mezcla actividades automáticas con tareas humanas y los tiempos de respuesta entre ambos son muy distintos.

¿Cómo se modelan estos procesos con BPMN 2.0?

Los procesos complicados, e incluso complejos, suelen dibujarse con notaciones estándar. Una de las más usadas es BPMN 2.0 (Business Process Model and Notation), que te da un lenguaje visual común para describir el flujo completo: desde un evento inicial hasta la decisión final que ejecuta una persona.

Esa definición de proceso es la base que luego consume una implementación del process manager. A partir de ahí, el motor crea instancias específicas que siguen ese mapa, cada una con:

  • Su propio espacio de memoria para variables.
  • Su contexto de persistencia.
  • Su ejecución particular de las tareas definidas en el modelo.

Dicho de otra forma, la definición es la receta y cada instancia es un plato distinto que se cocina siguiendo esa receta, pero con sus propios ingredientes y tiempos.

¿Por qué es útil separar definición e instancia?

Porque te permite evolucionar la lógica del negocio de forma independiente del código de tus servicios. Si cambia una regla, ajustas la definición del proceso sin tener que reescribir media plataforma. Eso baja el costo de cambio y acelera la adaptación a medida que tu proyecto avanza.

¿Qué es una instancia de proceso? Es la ejecución concreta de una definición BPMN, con sus variables, su estado y sus tareas activas en un momento dado.

¿Qué restricciones impone usar notaciones estándar?

Muchas entidades públicas definen sus procesos de negocio en notaciones estándar como BPMN. Eso es una buena noticia para la interoperabilidad, pero también puede convertirse en un constraint, es decir, una restricción que condiciona tus decisiones de diseño.

Si el cliente exige BPMN 2.0, tu elección de herramientas para implementar el process manager queda acotada a motores compatibles. No es malo, solo hay que tenerlo claro desde el inicio para evitar sorpresas en la fase de implementación.

Algunas señales de que este patrón encaja en tu caso:

  1. Tienes procesos largos que duran horas, días o semanas.
  2. Hay tareas manuales aprobadas por personas dentro del flujo.
  3. Necesitas auditar cada paso del proceso con trazabilidad clara.

¿Dónde puedes seguir aprendiendo sobre patrones de integración?

Este patrón es solo uno dentro de un catálogo amplio. Si quieres profundizar, una referencia obligada es el libro Enterprise Integration Patterns, que cubre con detalle muchos otros patrones aplicables a este tipo de retos.

En la oferta de Platzi también encuentras cursos que abordan distintos enfoques: patrones de propósito específico, patrones comportamentales, patrones de diseño y patrones de front end. Combinar varias de estas perspectivas te ayuda a elegir la herramienta correcta para cada problema.

¿En qué proceso de tu trabajo crees que un process manager podría reemplazar hojas de cálculo o correos sueltos? Cuéntalo en los comentarios.