Monolíticas y Microservicios, son las dos tendencias principales en las Suites BPM actualmente. Y sí, «microservicios», «agilidad», «robustez», «escalabilidad», son todas funcionalidades que deseamos tener en un Sistema de Gestión de Procesos de Negocios (Suite BPM). Pero, ¿cuál de ellos realmente importa más en nuestra organización, hoy?
Se está produciendo una migración paulatina pero constante de Suites BPM Monolíticas en grandes empresas, a soluciones de BPM en la nube, mucho más ágiles. ¿Por qué? La rapidez para desplegar nuevos procesos y la capacidad para orquestar microservicios, se convierten en factores clave de competitividad. Y más si la organización se encuentra en una iniciativa de Transformación Digital. Veamos con mayor detalle.
Notemos primero que actualmente existen dos grandes grupos de Sistemas de Gestión de Procesos de Negocios (BPM Suites):
- Los grandes sistemas, generalmente provistos por grandes fabricantes, que funcionan como Suites autocontenidas. Estas “grandes” Suites de BPM, permiten modelar y automatizar casi cualquier proceso, proveyendo un set funcional y de infraestructura muy amplio. Es esa característica de ser autocontenidas, lo que deriva a llamarlas “Monolíticas”.
- En el otro extremo, están las Suites de BPM que focalizan en cubrir las funcionalidades principales para modelar y automatizar procesos, y tienen gran potencia de integración para complementarse con otras herramientas especializadas en otras áreas. A diferencia de las anteriores, no son autocontenidas, sino que son “abiertas” para integrarse con otros sistemas, sean legados o web. Esta integración, preferentemente, se realiza mediante la orquestación de microservicios.
Suites BPM Monolíticas
Los fabricantes tradicionales de Suites de BPM optaban por los sistemas monolíticos. Estos eran muy potentes y robustos, pero tenían como contraprestación que eran caros e insumían mucho tiempo para desplegar nuevos procesos. La complejidad de estos sistemas radica en que toda herramienta extremadamente potente, es compleja de utilizar. De esta forma, es muy difícil, en estos BPMS monolíticos, instrumentar ciclos de mejora continua ágiles y entregar continuamente nuevas versiones de los procesos.
Otra característica de los sistemas BPM monolíticos es que, por lo general, tienen precios de licencias altos, así como el mantenimiento posterior de las mismas. Sumando esto a un alto costo de las horas de consultores especializados en tan complejas tecnologías, resultaba en que sólo organizaciones y corporaciones grandes pudieran acceder a los beneficios de la disciplina de BPM.
Suites BPM basadas en Microservicios
Por otro lado, tenemos la nueva tendencia de Suites BPM modernas, ya sea funcionando en la nube o en instalaciones del cliente (on-premise). Estos productos cuentan con un set funcional menor que los BPM monolíticos, pero mucho más especializado en gestión de procesos. Probablemente no tengan todas las funcionalidades de los otros, pero contrarrestan esta falencia con amplias capacidades de integración con otros sistemas especializados en resolver problemáticas puntuales.
Por lo general, la integración de otros sistemas como parte de un proceso de negocio mayor, se hace mediante la invocación de servicios web. Estos servicios web son muy específicos, resuelven la problemática, tienen su propio almacenamiento y capacidad de cómputo. Cumplen con una interfaz, que recibe y devuelve datos procesados. Por ello se llaman microservicios. Al concatenar muchos microservicios, y que cada uno haga una parte específica, según una lógica determinada, se le llama “orquestar” esos microservicios. Una suite moderna de BPM, naturalmente integrará actividades humanas (user tasks) con actividades automáticas mediante servicios (service tasks).
Un ejemplo concreto
Veamos un ejemplo. Este es un proceso muy simple, que es iniciado desde un formulario web público, construido por el diseñador del sitio web. Este formulario invoca un web service utilizando la API Pública de la Suite BPM. El motor BPM invoca entonces otro web service, que confirma la posición crediticia del cliente. En base a esa respuesta, la Suite BPM rechaza o continúa el proceso, utilizando una compuerta exclusiva. Si el cliente tiene crédito disponible, dos tareas son iniciadas en paralelo (utilizando una compuerta inclusiva). Una es una Tarea de Usuario (realizada por un ser humano), para enviar un regalo al cliente. La otra envía un Tweet, a través de Zapier. Finalmente, cuando ambas tareas se han completado, el proceso termina.
Resumiendo, este ejemplo muestra la orquestación de varios microservicios, cada uno especializado en una tarea en particular, integrados en un proceso de negocio que también involucra tareas de usuario (manuales).
Conclusiones
Las iniciativas de Transformación Digital, desde su propia concepción, se alinean con el segundo paradigma, moderno, basado en microservicios y ágil. En él, cada sistema se especializa en algo, y luego se integran en una plataforma digital. No se debe reinventar la rueda, sino integrar soluciones existentes a los procesos. Esto además permite evolucionar las soluciones, dado que es posible reemplazar una parte (un servicio), sin afectar el comportamiento de toda la solución.
La verdad es que en entornos de alta competitividad, presión sobre los costos, y sobre todo, una necesidad cada vez más imperiosa por reaccionar ante los cambios en el mercado (demanda y competidores), el atributo más importante pasa a ser la agilidad. Por ellos, los BPMs en la nube que soportan la orquestación de microservicios, están teniendo un crecimiento muy importante, reemplazando en muchas grandes organizaciones a las Suites BPM monolíticas.
También puedes agendar aquí una sesión de trabajo para que modelemos, junto a ti, un proceso real de tu organización.