Solución:
Yo también hice esa investigación. Estos son los puntos clave que fueron relevantes para nuestro caso de uso concreto:
1. Bonita:
Bonita tiene un enfoque de codificación cero, lo que significa que proporcionan un IDE fácil de usar para construir sus procesos sin necesidad de codificación. Para lograr eso, Bonita tiene el concepto de conectores. Por ejemplo, si desea consumir un servicio web, le proporcionan un asistente gráfico. La desventaja es que debe escribir el sobre SOAP XML plano manualmente y copiarlo en un cuadro de texto gráfico. El problema con este enfoque es que solo puede realizar casos de uso previstos por Bonita. Si desea integrar un sistema para el que Bonita no desarrolló un conector, debe codificar dicho conector por su cuenta, lo cual es muy doloroso. Por ejemplo, Bonita ofrece un conector SOAP para consumir servicios web SOAP. Este conector solo funciona con SOAP 1.2, pero no con SOAP 1.1 (http://community.bonitasoft.com/answers/consume-soap-11-webservices-bonita-secure-web-service-connector). Si tiene una aplicación heredada con SOAP 1.1, no puede integrar este sistema fácilmente en su proceso. Lo mismo ocurre con las bases de datos. Solo hay unos pocos conectores de base de datos para versiones de bases de datos dedicadas. Si tiene una versión que no coincide con un conector, debe codificarla usted mismo.
Además, Bonita no tiene soporte para LDAP o Active Directory Sync en la edición comunitaria gratuita, lo cual es bastante espectacular para un entorno de producción. Otra cosa a considerar es que Bonita tiene la licencia GPL / LGPL, lo que podría causar problemas cuando desee integrar Bonita en otra aplicación empresarial. Además, el apoyo de la comunidad es muy débil. Hay varias publicaciones que tienen más de 2 años y esas publicaciones aún no se han respondido.
Otra cosa importante es Alineación de TI de negocios. El modelado de procesos es una disciplina colaborativa en la que se involucra a TI Y a los analistas de negocio. Es por eso que necesita herramientas adecuadas para ambos grupos de usuarios (por ejemplo, un complemento Eclipse para los desarrolladores y un modelador web fácil de usar para la gente de negocios). Bonita solo ofertas Bonita Studio, que debe instalarse en su máquina. Este IDE es bastante técnico y no es adecuado para usuarios comerciales. Por lo tanto, es muy difícil lograr una alineación de TI de negocios con Bonita.
Bonita es una herramienta BPM para procesos muy triviales y sencillos. Debido al enfoque de codificación cero, la curva de aprendizaje es muy baja y puede comenzar a modelar muy rápido. Necesita menos habilidades de programación y puede realizar sus procesos sin necesidad de codificación. Pero tan pronto como sus procesos se vuelvan muy complejos, Bonita podría no ser la mejor solución debido a la falta de flexibilidad. Solo puede realizar casos de uso previstos por Bonita.
jBPM:
jBPM es un motor BPM de código abierto muy potente que tiene muchas características. El modelador web incluso admite modelos prefabricados de algunos patrones de flujo de trabajo de van der Aalst (workflowpatterns.com). Business-IT-Alignment es realizable porque jBPM ofrece una integración Eclipse así como un modelador basado en web. Un poco complicado es que solo puede definir formularios en el modelador web, pero no en el complemento Eclipse, hasta donde yo sé. En resumen, jBPM es un buen candidato para su uso en una empresa. Nuestro éxito fue la escalabilidad. jBPM se basa en el motor de reglas Babea. Esto lleva al hecho de que las instancias de procesos completos se conservan como BLOBS en la base de datos. Este es un éxito crítico cuando se considera la búsqueda y la escalabilidad.
Además, la curva de aprendizaje es muy alta debido a la complejidad. jBPM no ofrece una tarea de servicio como sugiere el estándar BPMN. Por el contrario, debe definir sus propias tareas de servicio Java y debe registrarlas manualmente en el motor, lo que da como resultado una programación de nivel bastante bajo.
Activiti:
Al final, optamos por Activiti porque es un motor basado en framework muy fácil de usar. Ofrece un complemento Eclipse, así como un modelador web AngularJS moderno. De esta manera, puede realizar Business-IT-Alignment. La REST-API está protegida por Spring Security, lo que significa que puede extender el motor muy fácilmente con las funciones de inicio de sesión único. Debido a la licencia Apache 2.0, no hay copyleft, lo que significa que es completamente libre en términos de uso y extensibilidad, lo cual es muy importante en un entorno productivo.
Además, la cobertura BPMN es muy buena. No todos los elementos BPMN se realizan, pero no conozco ningún motor que lo haga.
Activiti Explorer es una interfaz de demostración que demuestra el uso de las API de Activiti. Dado que esta interfaz se basa en VAADIN, se puede extender muy fácilmente. La comunidad es muy activa, lo que significa que puede obtener ayuda muy rápido si tiene algún problema.
Activiti ofrece buenos puntos de integración para tecnologías de forma externas, lo cual es muy importante para un uso productivo. Las tecnologías de forma de todos los candidatos son muy restrictivas. Por lo tanto, tiene sentido utilizar una tecnología de formularios estándar como XForms en combinación con el motor. Incluso las cosas más complejas se pueden realizar a través de formKey-Attribute.
Activiti no sigue el enfoque de codificación cero, lo que significa que necesitará un poco de codificación si desea organizar los servicios. Pero incluso la comunicación con los servicios SOAP se puede lograr utilizando Java Service Task y Apache CXF. El esfuerzo de codificación es bajo.
Espero que mis puntos clave puedan ayudar al tomar una decisión. Para ser claros, esto no es un anuncio de Activiti. La elección correcta del producto depende de los casos de uso concretos. Solo quiero señalar los puntos más importantes de nuestro proyecto.
Saludos cordiales Ben
También estaba teniendo la misma confusión sobre la selección de BPM. Ahora he terminado con mi investigación y voy con Activiti.
Puntos clave:
- Es muy fácil empezar a trabajar en ello. Se puede implementar en el servidor Apache Tomcat más utilizado.
- Proporciona archivos par o war como
activiti-explorer
yactiviti-rest
para el despliegue.REST APIs
son claros y enfocados. Puede descargar el mismo desde la actividad de descarga. - Proporciona complementos para que Eclipse IDE dibuje un diagrama de proceso.
- Los miembros principales de desarrollo de
Activiti
son del mismo proyecto de jBPM.
Mientras trabaja con jBPM, el diseñador y las babas no se sincronizan correctamente a veces. Incluso las API REST no son tan descriptivas y claras.
BonitaSoft, como código abierto, carece de muchas características importantes. Es bueno si opta por una versión con licencia.
eche un vistazo al libro de actividades en acción de la publicación manning. Esto todavía está en la edición MEAP, por lo que puede descargar el capítulo de muestra.
Empiece a leer desde la sección que dice “ACTIVITI Y JBPM”. También compara Activiti y Bonitasoft.
http://www.manning.com/rademakers2/ActivitiMEAPch01.pdf
Espero que esto ayude.