Análisis de algunos BPM Open Source para la Empresa

Análisis de algunos BPM Open Source para la Empresa

<!–Tags: , , ,

–>Se llama Business Process Management (BPM) a la metodología empresarial cuyo objetivo es mejorar la eficiencia a través de la gestión sistemática de los procesos de negocio, que se deben modelar, automatizar, integrar, monitorizar y optimizar de forma contínua.

Hace 2 meses en mi trabajo me encargaron la tarea de buscar un motor de Workflow, buscaban una opción Open Source, y ellos me propusieron Bonita Workflow, pero decidi buscar otras opciones, estuve analizando dos plataformas mas opensource para el BPM, y he llegado a las siguientes conclusiones:

Intalio

Intalio BPMS, es una plataforma basada en Apache ODE, Axis2 y Apache Geronimo, cuenta con un diseñador basado en Eclipse, uno tiene que descargar dos paquetes, el Designer que trabaja con notación BPMN y el Servidor, cada uno arrededor de 100 megas, cuando baje la ultima version, estaba en la 5.1 Beta, corren perfectamente con JDK 1.6

Lo Bueno: Es open source, cuenta con un servidor muy estable, cabe destacar que Apache Ode es un motor BPEL, Intalio usa como estandar para el diseñador BPMN, que luego el diseñador convierte en BPEL para correrlo asi desde Apache ODE, que tambien es creacion de Intalio, y hace poco salio de la Incubadora de Apache convirtiendose en un producto oficial de la familia Apache. Puedes diseñar tus formularios con el diseñador, en XForms (Orbeon).  El servidor de Intalio es donde el designer hace el deploy de tu workflow, y cuenta con 2 interfaces basadas en un API de Java que ellos llaman TEMPO:

  • Consola Administrativa (bpmn-console), donde puedes probar todos tus procesos.
  • Interfaz de (ui-wf)  Usuario, donde puedes probar los procesos asignados a un usuario especifico.

Lo Malo: Creo que los que lo han llegado a probar y se han empezado a encontrar problemas, se dieron cuenta la poquisima información que existe, disponen de un Foro y un Wiki, en ingles, pero muy pobre, tambien de algunos tutoriales en flash, y un sin numero de ejemplos, pero la verdad, muy pero muy faltos de información algo avanzada. Pero no todo es gratis, existe la plataforma para la Comunidad totalmente gratuita, pero es una trampa, pues no existe un API documentado de la plataforma TEMPO, eso hace que tengas que ser un experto en Java para poder modificar su plataforma, los formularios Orbeon XForms, aun estan muy faltos de opciones, estab basados en Ajax, pero fallan demasiado, y si necesitas programar algo mas complicado en el diseñador, cuando vuelvas a modificar el formulario desde el diseñador, pierdes todo lo que hayas echo desde el codigo. Tambien sobre Orbeon esta algo escasa la información, aunque disponen de mas que Intalio. Usa como motor de bases de datos por defecto Apache Derby, puedes cambiar la MySQL, pero, a mi, me genero muchos problemas y tuve que regresar a Derby. Ni digamos el lio de tablas que han creado los de Intalio, imposible sacar los datos de esa maraña. Compatible con LDAP.

El costo de esta herramienta con soporte, anda por los 20,000 dolares al año, existen otras formas de contratarlos, 1,500 version Developer por 1 mes, 5,000 por 3 meses, pero claro, el soporte es mas tardio en responder y no abarca todas las opciones que ofrecen.

Jboss jBPM, esta herramienta no esta basada en BPEL, pero tiene soporte para el estandar que parece ser en los BPM, ellos usan JPDL, en resumen en su designer tambien basado en Eclipse, no usan la nomenclatura BPMN, tal vez eso los aleja de los estandares empresariales, pero no deja de se una herramienta muy completa y poderosa.

Lo Bueno: Desde el primer dia que la probe, es super sencillo instalarla, mucho mas que Intalio, el designer es muy liviano y se adapta muy bien a Eclipse, pues solo se le adapta un PlugIn, aunque no usa nomenclatura BPMN si usa una que considere mucha mas sencilla y con mas posibilidades al programador, aunque en una empresa se busque programar lo menos posible pienso que da mucho menos problemas que Intalio. Sus formularios se crean automaticamente en JSF con Facelets, eso permite que uno pueda trabajar con mayor libertad en los formularios, pues si el usuario desea se le pueden agregar, struts, RichFaces, etc etc. Cada nodo se puede programar en Java y agregarle clases propias, basadas en el API muy documentado de Jboss, viene con una consola sobre JBOSS 4, completamente modificable, y siempre sobre Hibernate, eso nos permite correr el Workflow sobre cualquier base de datos, casi el 100% de las mas usadas empresarialmente, como , Sybase, Oracle, SQL Server, y no tan empresariales como MySQL , con solo cambiar un archivo de configuracion.

Lo Malo: Creo que jBPM, no tiene nada malo, solo que tal vez no es un estandar, por lo demas, no tengo nada que comentar, a mi, me ha resuelto todos mis problemas. Solo que aunque es compatible con LDAP, tienes que programar tus propias clases y agregarlas al API que ofrecen, si deseas manejar un control de usuarios aparte.

bonitasoft-logo

Bonita Workflow, esta es la herramienta que primer probé, lo dificil que es hacerla correr es lo primero que me desanimo, ademas que corre sobre una plataforma, JONAS, no muy conocida, al menos para mi, y su designer es un APPLET.

Lo Bueno: Es open source, van por su 4 version, y esta arropada por una compañia con varios proyectos (ObjectWeb), creo que comparte muchas cosas de Intalio y jBPM, y tambien usa un estandar diferente XDPL, que se podria decir que es el segundo en importancia detras de BPEL, su diseñador si esta basado en la nomenclatura BPMN.

Lo Malo: El designer es muy pobre, falto de una nomenclatura algo mas compleja, solo dispone de 3 componentes, eso desanima un poco, es algo mas complicado que las otras dos en el analisis, aunque esta bien documentada, la curva de aprendizaje es la mas larga, y tal vez por su aspecto, se mira muy pobre en todo, aunque no deja de ser un potente workflow.

Actualización 23/06/09

ProcessMaker_logo_pm

ProcessMaker una herramienta totalmente libre y de código abierto (Open Source), disponible para las pequeñas y medianas empresas que necesiten de una herramienta informática capaz de colaborar con las actividades y procesos que realizan.

ProcessMaker es una opción libre, que permite a personas sin experiencia en programación, diseñar y aplicar soluciones para los procesos que se realizan en la misma. ProcessMaker, se encuentra dentro de la lista de los BPM, o lo que en español seria, Business Process Management.

Dentro de las posibilidades de la aplicación, podemos destacar que permite una forma sencilla de administrar los flujos de trabajo ahorrar tiempo a la empresa,enfocándose esta, en cosas mucho más importantes. Asimismo, permite adaptar sus módulos y elementos a cualquier organización, pues posee un código y estructura de libre manejo.

kbeeworkflow

kbee.workflow es un administrador de procesos de negocio (BPM) simple y versátil. Ofrece las herramientas necesarias para generar una sofisticada y flexible capa de procesos en una aplicación de negocios.

Se trata de una plataforma sólida y probada en aplicaciones con miles de usuarios y procesos en ejecución, desarrollada en tecnología Java, basada en estándares abiertos. Cuenta con componentes integrados al entorno de desarrollo Eclipse para la definición de procesos y tareas; herramientas para el monitoreo de los procesos en ejecución, infraestructura de tipo OLAP-Multidimensional para reportes analíticos, más un lenguaje de consulta sobre el motor de procesos de tipo OQL (Object Query Language) que hace simple la integración con consolas de trabajo y otras aplicaciones.

Sun Java Composite Suite (Java Cup)

Se trata de una suite de productos que, todos juntos, te permiten implantar SOA en tu empresa. Está fuertemente basado en la existencia de un repositorio central donde se guardan las definiciones de todos los objetos: desde un proceso BPEL hasta una fuente de datos relacional (usando un conector JDBC proporcionado por CAPS). Para todo esto proporciona un motor más un ESB sobre el que se basa todo y un IDE con el que manejar la complejidad. En cualquier caso, no resuelve ni el desarrollo de las aplicaciones (web o swing) ni el paso del modelo a la implementación. Tampoco tienen resuelta asuntos más íntimamente relacionados con la calidad del desarrollo: pruebas unitarias de los WebServices ni de los procesos (y por supuesto nada de code coverage). Y finalmente, tampoco da una solución para acceder a un modelo de datos corporativo (como el AquaLogic) ni nos han hablado tampoco de SCA (Service Component Architecture).

system-portal-server

Pero después de todo tengo una sensación un tanto ambigüa: por un lado me parece una buena solución para implantar SOA tomando como base un ESB, un IDE y el resto del motor BPM+workflow, pero por otro lado tengo la extraña sensación de que eso mismo me lo puedo hacer si localizo la colección adecuada de productos “open source” y de plug-ins Eclipse. Además, no sé si es mejor que el AquaLogic de BEA o la suite equivalente de WebSphere (IBM).

http://www.sun.com/software/javaenterprisesystem/javacaps/index.jsp

Actualización  25/07/09

EmForge

EmForge es Workflow sobre J2EE y jBPM basada en solución integrada para la gestión de un proceso de desarrollo de software. Está diseñado para proporcionar una solución para equipos de desarrollo de software que es fácil de usar y flexible. Ofrece la integración de la wiki de documentación de base, flujo de trabajo basado en la gestión de tareas, y la subversión basado en el control de versiones. Es fácil de integrar con otros sistemas y tecnologías. Que permite a los administradores y directivos de la flexibilidad establecer diferentes tipos de procesos para diferentes proyectos.

http://www.emforge.org/wiki

Conclusion

En resumen, si no tienes dinero suficiente para comprate un IBM Process Server, ni para el soporte de Intalio, estas son 3 buenas opciones, existen otras, pero ni si quiera ofrecen Trials, ni demos, y otras que ni si quiera tienen designer, solo para expertos, si quieres iniciar con el mundo de los WorkFlow, estas son tus mejores opciones. Yo me decanto por jBPM, al ser lo que se adapta a mis necesidades. Pero en segundo lugar pondria a Intalio y por Ultimo a Bonita.

He recogido 3 nuevos Workflows, para la información de todos, agregando  ProcessMarker, Java Cups y kbee Workflows, yo no los he usado, pero he recogido opiniones de otros blogs como el ejemplo de java cups.

EmForge, es un proyecto open source en Java, interesante, lo he probado y integran un wiki con un motor workflow, es muy potente y vale la pena probarlo.

Espero les haya ahorrado mucho tiempo de investigación, si necesitan mas información, solo pregunten.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s