Pregunta

Actualmente tenemos una aplicación que se basa en un motor de flujo de trabajo desarrollado interno con DSL basado en YAML. Estamos buscando mover partes de ella a Java.

He descubierto una serie de soluciones de Java como Interalio, JBPM, Drools Expert, Gools Flow, etc., parecen estar dirigidos a empresas donde el analista de negocios crea los flujos de trabajo utilizando un editor gráfico y los envía al motor de flujo de trabajo. Parecen orientados a la facilidad de uso para las personas no técnicas en lugar de para los desarrolladores con un enfoque en la interacción humana.

Los flujos de trabajo tienden a verse.

Discover-a-file        -\
                         -> join -> process-file -> move-file -> register-file 
Discover-some-metadata -/

Si falla algún paso, necesitamos volver a intentarlo x veces. También necesitamos poder detener el sistema y poder reiniciarlo y continuar desde donde estaba (duradero).

Algunos de nuestros flujos de trabajo pueden definirse mediante un conjunto de objetivos que necesitamos lograr para que el encadenamiento de reglas hacia atrás de Jess suene interesante, pero no es de código abierto.

Puede ser que lo que buscamos es un motor de máquina de estado finito o simplemente un bus de servicio empresarial y haga todo como colas de JMS.

¿Existe un buen motor de flujo de trabajo de código abierto que esté basado en estándares pero también dirigido a los desarrolladores? No queremos utilizar un diseñador de flujo de trabajo gráfico o escribir resmas de XML y idealmente debería estar en Java o lenguaje agnóstico (hace llamadas de descanso/jabón a servicios externos).

Gracias Tom

¿Fue útil?

Solución

Ambas cosas Activití y Bonita son de código abierto y estándar (BPMN2). Ver por ejemplo esto entrada en el blog.

Ruina no se basa en estándares, pero parece cercano a su enfoque DSL y se ejecuta en un JVM gracias a Jruby.

Otros consejos

Enteroi Un motor BPM de código abierto ofrece un diseñador de soporte BPMN y un motor BPEL. Está escrito en Java.

JBPM 5 (Open Source, ASL, BPMN2) se acaba de lanzar y es el mejor flujo de babeos y JBPM 4. Es liviano pero también puede integrarse profundamente con el motor de reglas de babeo para tomar decisiones.

Camunda BPM es un motor de flujo de trabajo de código abierto amigable para el desarrollador que se basa en los estándares abiertos BPMN 2.0, DMN 1.1 y CMMN 1.1.

Mientras viene con un cómodo diseñador de flujo de trabajo gráfico También se envía con un API fluida para construir flujos de trabajo programáticamente. Camunda está escrita en Java, pero también se puede invocar desde otros idiomas a través de su API REST y puede hacer llamadas de descanso/jabón a servicios externos.

Para cualquiera que busque una solución de grado empresarial basada en Python.

Cenparo, es el marco basado en flujo de trabajo GPL3 BPMN con tornado, AMQP de conejos, permisos avanzados, características de andamio extensibles y más.

Construido sobre los siguientes componentes principales;

  • Spiffworkflow: potente motor de flujo de trabajo con soporte BPMN 2.0.
  • Tornado: Tornado es un marco web de Python y una biblioteca de redes asincrónicas.
  • Pyoko: Django Esque Orm para la tienda Riak KV. RabbitMQ: Fast, UltraSharp AMQP Server escrito con Legendary Erlang Lang.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top