jueves, 30 de mayo de 2013

Introducción a herramientas BPM Opensource.

El estado de los BPM open sources en la actualidad es muy interesante. A partir de un estudio realizado sobre las nuevas funcionalidades del Activiti se ha querido mostrar en esta entrada la relación entre 3 BPM muy conocidos: Bonita, jBPM y Activiti. Esto de una forma muy ligera pues se verán ejemplos prácticos en otras entradas.

La base que se usa es el nuevo libro de Activiti “Activiti in Action

clip_image001

Según este libro los competidores actuales de Activiti son Bonita y jBPM y por eso le dedican parte de la introducción para compararlos entre sí. Veamos.

JBoss BPM o jBPM como también se le conoce es un motor de procesos open source que soporta el lenguaje jPDL y desde la versión 5.0 soporta BPMN 2.0. Nos dicen además que el proyecto se unió con JBoss Drools Project y ha reemplazado a “Drool Flow” como lenguaje de flujo de reglas en el framework Drools.

BonitaSoft es la compañía detrás de Bonita Open Solution o BOS, es un motor de procesos open source que provee soporte para el lenguaje BPMN 2.0. Un diferenciador clave de esta solución es que posee un gran conjunto de conectores y el ambiente integrado de desarrollo que ofrece.

Cuando se compara Activiti con jBPM se debe decir que tienen mucho en común. Esto se debe a que Activiti salió inicialmente de la misma fuente que jBPM por lo que sus frameworks bases utilizan el concepto de máquinas de estado. Pero hay que tener en cuenta que desde que se separaron se han hecho muchas mejoras a Activiti por lo que las diferencias han ido en aumento como pueden apreciar en la siguiente tabla comparativa:

clip_image002

A la hora de comparar Activiti con “Bonita Open Solution” o BOS, los siguientes elementos saltan a la vista:

  • BOS provee una solución basada en una herramienta donde se pueden definir los procesos, formas y el uso de un amplio uso de conectores sin necesidad de escribir código, por eso se dice que es más enfocada a personal no técnico o que no se necesitan grandes habilidades para diseñar, implementar, desplegar, simular y probar un procesos.
  • Activiti es más enfocada a los desarrolladores al proveer una API en JAVA para comunicarse con su motor de procesos. De esta manera se está en control siempre del código generado.
  • Con BOS no puedo tener control total de lo que pasa y es algo que no me acaba de gustar, aunque es una herramienta muy buena.
  • En BOS el código es generado por la herramienta mientras que con Activiti es tarea del desarrollador codificar una buena parte de las acciones a realizar como instanciar los procesos, correr los test, definir las pantallas, etc.
  • Con Activiti si tienes que tocar el código, lo cual es algo que a mucha gente no les gusta y no les quito la razón, pero si consideramos que es una herramienta nueva y si se es un desarrollador de software pues claro que la curiosidad nos pica. Es eso lo que me gusta de Activiti además de que tiene una buena integración con Spring Framework, Spring Integration y Apache Camel, y eso ya dice mucho.

Luego de que veamos unos ejemplos ustedes podrán corroborar estos puntos.

Si preguntaran por una herramienta para empezar un desarrollo relevante en BPM y que fuera open source se les recomendaría Bonita, pero sin perder de vista a Activiti pues en unos años será la líder en este campo. Ya el tiempo lo dirá. ¿Ustedes que creen?


¿Te ha gustado este Post? Compártelo con tus amigos.

No hay comentarios:

Publicar un comentario

IconIconIcon