bonita

Dada nuestra amplia experiencia desarrollando en ambas plataformas BPM, vamos a realizar una comparativa desde el punto de vista técnico para ver las diferencias entre los dos entornos a nivel de desarrollo (En ésta comparativa utilizamos las versiones BOS-5.9.1 y Bizagi GO .NET v.10.0.0.1042 ).

Ambas aplicaciones son potentes y útiles, pero son totalmente distintas a nivel de desarrollo, coincidiendo únicamente en la utilización del estandar BPMN 2.0.

Cabe destacar que ninguna aplicación BPM se adapta al 100% al estándar BPMN 2.0. Bizagi se adapta un poco más al estándar, pudiendo utilizar diagramas modelados con BPMN 2.0 casi en un 90%, Bonita utiliza un 80% aproximadamente del estándar.

Sin embargo ambas cumplen el estándar lo suficiente para poder llevar a cabo casi cualquier desarrollo que se proponga.

Algunas de las diferencias son:

Licencias:

Bonita Open Solution está competamente desarrollado en Java y es OpenSource, por lo que podemos hacer uso de la herramienta para realizar nuestros propios desarrollos sin necesidad de realizar contratos aparte con la empresa BonitaSoft.
Por otra parte, Bonitasoft ofrece una versión de pago llamada Subscription Pack (SP), la cual posee utilidades adicionales para los desarrolladores que agilizan la producción y permite un control más exhaustivo de los procesos. (Duplicar formularios, desarrollo colaborativo, funciones ajax integradas, gestión del BAM, control del FrontEnd, etc.)

Bizagi es de pago, por lo que para poder realizar desarrollos hay que contratar licencias para poder desarrollar e implantar en cliente. Las licencias pueden ser “Perpetua o Anuales” existen licencias gratuitas pero sujetas a condiciones tipo: implantación a nivel academico con límite de 10 usuarios o revendedor de Bizagi, que sólo sirve para realizar demostraciones.

Formularios:

Bonita proporciona una estructura propia de creación de formularios, los cuales son completamente configurables desde el propio entorno de desarrollo pudiendose ajustar a cualquier necesidad del cliente, por contra la generación de los formularios suele ser la parte que más suele tardar en los desarrollos realizados por la herramienta por tener que adaptarlos a las necesidades de cada cliente (css, js, ajax, etc.). La estructura que genera por defecto es demasiado simple.

Bizagi proporciona una estructura estable y agradable por defecto. Es posible modificar los estilos y estructura de los mismos mediante “user fields”, sin embargo es un poco más complejo de adaptar. Los formularios de Bizagi por defecto son estables y con un aspecto amigable.

Desarrollo:

Bizagi posee un asistente de desarrollo que propone la forma de desarrollar más organizada siguiendo unos pasos establecidos (Modelar Procesos – Modelar Datos – Definir Formularios – Reglas de negocios y Validaciones – Definir Participantes – Integrar – Ejecutar), sin embargo a la hora de desarrollar un proceso se hace más cómodo salir del asistente y utilizar el propio gestor desde el cual se puede controlar toda la herramienta. Se puede desarrollar de forma colaborativa utilizando un único Entorno.

Con Bonita a la hora de desarrollar un proceso seguimos los pasos necesarios de desarrollo de forma intuitiva gracias a la simplicidad del entorno. El desarrollo se puede realizar desde entorno local, para trabajar de forma colaborativa podemos utilizar herramientas como SVN de forma externa. La versión SP permite el trabajo colaborativo de forma nativa, es decir integrado dentro del IDE.

Aprendizaje:

La línea de aprendizaje para formar a nuevos desarrolladores es un poco más alta en Bizagi que en Bonita, ésto puede deberse al empeño de Bizagi de acotar todas las posibles situaciones, de modo que el desarrollador tenga que hacer el mínimo uso posible de código o utilización de la API. Por una parte, ésto evita la reproducción de errores en código de terceros pero por otra parte puede restringir el uso que necesitemos realizar por exigencias del proceso.

Conectores:

Quizás es una de las virtudes más fuertes de Bonita. Posee una gran comunidad que se dedica a crear conectores para la comunicación de Bonita con otras aplicaciones mediante WebServices (WS), además podemos crearnos nuestros propios conectores para realizar llamadas a WS, crear documentos, Informes Jasper, conexiones de BBDD, etc.

Bizagi por su parte permite también tiene capacidad de integración incorporando componentes (librerías .dll) y permitiendo la comunicación mediante WS.

Exportación:

Bonita permite realizar exportaciones independientes de procesos para una mayor comodidad a la hora de traspasar los mismos de un sistema a otro, o incluso como meras copias de seguridad, siendo cada proceso independiente a la plataforma hasta la incorporación de la misma.

Bizagi sólo permite exportar los diagramas de flujos, para poder incorporarlos en su propia plataforma y desarrollarla, ésto quiere decir que se puede separar el diagrama de la lógica de negocios, pero un proceso independiente no es exportable. Utilizan un entorno de desarrollo colaborativo, de manera que el desarrollo se realiza en un único entorno, y para traspasar los procesos de un entorno a otro hay que realizar una migración completa o parcial de los datos de la BBDD, de manera que no se pueden independizar los procesos.

FrontEnd:

Bonita cuenta por defecto con el módulo Bonita User Experience, el cual está desarrollado en GWT y puede funcionar como el entorno de trabajo de usuarios y administradores. A nivel de usuarios Bonita User Experience funciona de forma similar a un Webmail, de modo que podemos visualizar y categorizar las tareas de los procesos que tenemos pendientes. Dispone de un histórico para mostrar todas las tareas por las que ha ido pasando un proceso mostrando el formulario correspondiente en cada caso mostrando al final el estado en que se encuentra.

Bizagi cuenta tambien con un FrontEnd tipo Webmail desde el que podemos administrar tanto tareas como procesos. Tiene un diseño más elaborado que Bonita User Experience y posee características avanzadas que permiten un control más exhaustivo a nivel de administración (Administración de usuarios mas amplia, gestión de parámetros de los procesos, etc). Posee una herramienta que permite visualizar el diagrama del proceso y ver por las tareas que ha ido pasando para saber en que estado se encuentra.

Ambas aplicaciones permiten visualizar un formulario resumen del proceso el cual se irá rellenando a medida que avanzan los estados.

* Por su parte Bonita permite utilizar los procesos desarrollados como motor de aplicaciones externas, de modo que podemos hacer uso de la API completa mediante servicios REST, lo cual puede permitir independizar completamente el FrontEnd y crearnos uno propio.

Para terminar, una tabla comparativa :

Bonita
Bizagi
Servidores Contenedor de Servlets (JBoss, Tomcat, etc) Versión .NET – IIS (Microsoft Internet Information Services)
Versión J2EE – Weblogic / Websphere / JBoss
Entorno de desarrollo Propio basado en Eclipse (Multiplataforma, Java) Propio (Multiplataforma, Java, .NET)
Bases de datos Hsql, PostGreeSql, MySql, Oracle, SQL Server SQL Server, Oracle.
Formularios Muy configurables Configurables a nivel del desarrollo
Licencias OpenSource LGPL, Subscription Pack CAL Perpetua, CAL Anual, Revendedor, Académica
Diagramas XPDL, BPMN 2.0, JBPM 3.2, (BPM Bonita) XPDL, Visio, (BPM Bizagi)
Validaciones Si Si
BPMN 2.0 Si Si
LDAP Si Si
Parámetros de Formularios Datos y Objetos de datos persistentes en BBDD Objetos de Datos estructurados persistentes en BBDD
BAM Simple y configurable en SP Completa y configurable a nivel de desarrollo y administración
FrontEnd Tipo Webmail simple,
Posibilidad de crear un FrontEnd independiente utilizando Bonita como motor de aplicaciones
Tipo Webmail completo y elaborado.
Conclusiones:

Son herramientas completamente diferentes con la finalidad de agilizar la gestión de procesos de negocios.

Las dos soluciones se pueden adaptar a cualquier necesidad del cliente para implantar procesos tanto simples como complejos.

Poseen una gran capacidad de interconexión con aplicaciones externas como Gestores documentales, ERP, Bases de Datos externas, etc.

División Ingeniería de Software de SOLTEL.