Workflow 工作流引擎BPMN、Drools等还是ESB?
我们目前有一个基于内部开发的工作流引擎和基于YAML的DSL的应用程序。我们希望将部分it迁移到Java 我发现了许多java解决方案,如Intalio、JBPM、Drools Expert、Drools Flow等。 它们似乎针对业务分析师使用图形编辑器创建工作流并将其提交到工作流引擎的业务。它们似乎面向非技术人员的易用性,而不是面向注重人机交互的开发人员 工作流看起来像Workflow 工作流引擎BPMN、Drools等还是ESB?,workflow,drools,business-process-management,Workflow,Drools,Business Process Management,我们目前有一个基于内部开发的工作流引擎和基于YAML的DSL的应用程序。我们希望将部分it迁移到Java 我发现了许多java解决方案,如Intalio、JBPM、Drools Expert、Drools Flow等。 它们似乎针对业务分析师使用图形编辑器创建工作流并将其提交到工作流引擎的业务。它们似乎面向非技术人员的易用性,而不是面向注重人机交互的开发人员 工作流看起来像 Discover-a-file -\ -> join
Discover-a-file -\
-> join -> process-file -> move-file -> register-file
Discover-some-metadata -/
如果任何步骤失败,我们需要重试X次。我们还需要能够停止系统,并能够重新启动它,让它从原来的位置继续运行(持久)
我们的一些工作流程可以由我们需要实现的一组目标来定义,因此Jess的向后规则链接听起来很有趣,但它不是开源的
我们所追求的可能是一个有限状态机引擎,或者仅仅是一个企业服务总线,并以JMS队列的形式执行所有操作
是否有一个好的开源工作流引擎,它既基于标准,又面向开发人员。我们并不特别希望使用图形化工作流设计器或编写大量XML,理想情况下,它应该是Java或语言无关的(对外部服务进行REST/Soap调用)
谢谢,
Tom和都是开源的,基于标准(BPMN2)。例如,请参见此示例
不是基于标准的,但似乎接近您的DSL方法,并在JVM上运行,这多亏了。(开源,ASL,BPMN2)刚刚发布,它是Drools Flow和jBPM 4的最佳选择。它是轻量级的,但也可以与Drools规则引擎深入集成以做出决策。一个开源BPM引擎它提供了BPMN支持设计器和BPEL引擎。它是用Java编写的。是一个开发人员友好的开源工作流引擎,基于开放标准BPMN 2.0、DMN 1.1和CMMN 1.1
虽然它有一个,但它也有一个。Camunda是用Java编写的,但也可以通过its从其他语言调用,而且它可以。任何寻求基于Python的企业级解决方案的人 ,是基于GPL3 BPMN工作流的框架,具有Tornado、Rabbit AMQP、高级权限、可扩展脚手架功能等 构建在以下主要组件之上
- SpiffWorkflow:支持BPMN 2.0的强大工作流引擎
- Tornado:Tornado是一个Python web框架和异步网络库
- Pyoko:Riak KV商店的Django式ORM。 RabbitMQ:用传说中的Erlang编写的快速、ultrasharp AMQP服务器