Ir al contenido principal

Not zero code Nor complex process


Cualquier herramienta o solución de BPM de buen nivel ofrece un conjunto loable de funciones que facilitan la gestión de procesos con dichas herramientas.

Una de las opciones infaltables y de las mas promovidas por los consultores y vendedores de soluciones de BPM es la de ZERO CODE, cero codigo; la cual consiste en la habilidad de obtener una aplicación capaz de ejecutar nuestros procesos con apenas unos clicks.

La idea general es que se reduzca el desarrollo de aplicaciones a la medida y la programación global, dejando toda la tarea de la automatización y construcción de aplicaciones sobre los recursos que provee la solución de BPM.

Siendo honestos, esta funcionalidad está muy bien cuando se inicia un proyecto de BPM, en la etapa en la que se modelan los procesos y es necesario validarlos, para lo cual no existe nada mejor que un prototipo rápido que es lo que brindan muchas herramientas de BPM.

Los problemas empiezan cuando se quiere implementar proyectos grandes de BPM con estas herramientas, y es aqui en donde entra el otro elemento del título de esta publicación: los procesos complejos.

Y por complejos me refiero a procesos con mas de 12 tareas humanas y mas de 5 actores con roles diferentes. Así mismo, son procesos que requieren perisistir una gran cantidad de información, integrarse con varias plataformas y consumir uno o mas servicios diversos.

En general el desarrollo de estos procesos sobre las plataformas de BPM habituales redunda en aplicaciones inestables, con una capa de presentación mediocre o poco funcional y con un requerimiento de mantenimiento elevado.

He visto muchos grandes proyectos construidos con grandes herramientas de BPM ir directo al fracaso debido a la mala implementación de la solución realizada completamente sobre el motor de BPM y sus recursos.

En general los motores de BPM son excelentes para la orquetsación de tareas y la asignación de responsabilidades. En otras palabras son inmejorables para garantizar el control: que lo que deba ser realizado sea realizado por quien debe realizarlo cuando deba hacerlo.

Se les considera menos eficientes para producir aplicaciones de gran funcionalidad que trabajen sobre esos procesos. Sencillamente el desarrollo y mantenimiento de aplicaciones no es su fuerte.

Por esta razón cuando me toca evaluar una herramienta de BPM no me dejo seducir por sus deslumbrantes capacidades de modelado y despligue rápido de de aplicaciones. No señor.

Lo que busco es conocer a fondo sus facilidades de integración con diversas plataformas. Escudriñar sus facilidades para trabajar con datos complejos de diversas fuentes. Determinar sus capacidades en cuanto a las distintas APIs y modos integración que ofrecen.

Es en este último tópico en el que centro mi esfuerzo, pues son de las APIs de las que va a depender el grado de control externo que pueda brindarme una solución de BPM cualquiera.

En otras palabras, voy a usar frameworks de trabajo bien conocidos para integrar la solución de BPM con mis aplicaciones nativas y dedicadas.

No construiré un sistema de compras públicas sobre un motor de BPM. Por el contrario, desarrollaré un sistema de compras públicas orquestado e integrado por y con el motor de BPM.

En este desarrollo manejaré los procesos como módulos lo mas independientes y sencillos posibles, para de esta forma poder gestionar con eficiencia esos procesos y sus aplicaciones dependientes.

Nada viene sin un precio, y el desarrollo y el mantenimiento efectivo son el precio que pagamos por un mayor contro y mejores prestaciones sobre nuestras aplicaciones de BPM.

Hasta que las herramientas o soluciones de BPM no evolucionen lo suficiente seguiré promoviendo y prefieriendo el fiel desarrollo eficiente sobre la, para mi, errada política de ZERO CODE y COMPLEX PROCESS.

Comentarios

Entradas populares de este blog

El Melange todavía corre

Ese era el estribillo de un capítulo de unas de mis series favoritas de la infancia, Meteoro o Speed Racer. En ese capítulo un auto “fantasma” el X-3, aparecía de imprevisto y dejaba a todos asombrados con su rendimiento y prestaciones y volvía a desaparecer. Traigo ese episodio a colación puesto que recientemente sostuve una amena charla con un querido amigo, en la que el me manifestaba como los Mainframes habían muerto, o mejor dicho, el concepto de la computación distribuida basada en Mainframes había desaparecido. Para variar, yo no estuve de acuerdo, y le dije que por el contrario, el modelo de computación basado en Mainframes está mas vigente que nunca. Estos fueron mis argumentos:

Primeros pasos con Camunda BPM – Modelando un Proceso BPMN 2.0

Tenemos entre manos la tercera publicación de nuestra serie sobre la Plataforma de BPM de Camunda .  El día de hoy vamos, por fin, a empezar a modelar o construir nuestro primer proceso sencillo en notación BPMN 2.0. Para ello vamos a usar el modelador o editor que ya hemos instalado en nuestra primera publicación , y vamos a guardarlo en la sección de recursos del proyecto Maven Java que configuramos en la segunda publicación . Así que, como ya es costumbre, manos a las sobras…

Como configurar jBPM para usar nuestra propia Base de Datos en un sólo paso

Llevo un buen rato trabajando con jBPM en su serie 6.x, y mi opinión sobre este producto en la versión mecionada no ha mejorado para nada. Es una herramienta plena de funciones y caracteristicas avanzadas, pero tambien está llena de Bugs y es realmente inestable, sobre todo en el ambiente de modelamiento.  Así mismo, debo decir que tiene una muy aceptable API REST y que el motor de procesos y la consecuente ejecución de los procesos es estable y bastante rápida. En esta publicación daré inicio a una serie de artículos que hablan sobre ciertas configuraciones comunes e importantes que se hacen con jBPM. Hoy iniciamos con la configuración de jBPM para que use nuestra base de datos favorita. Esto tiene sentido porque el producto viene con la base de datos H2 por omisión, la cual es excelente para pruebas y evaluaciones rápidas de la herramienta, pero es completamente inaceptable en un ambiente de desarrollo, QA o producción cualquiera. Así que manos a l