我们目前有一个基于内部开发的基于YAML的DSL工作流引擎的应用程序。我们正在考虑将其中的一部分移至Java。工作流引擎BPMN,Drools等或ESB?
我发现了一些java解决方案,如Intalio,JBPM,Drools Expert,Drools Flow等。 它们似乎是针对业务分析师使用图形编辑器创建工作流并将其提交给工作流引擎。它们似乎适合非技术人员使用,而不是专注于人机交互的开发人员。
工作流程看起来像。
Discover-a-file -\
-> join -> process-file -> move-file -> register-file
Discover-some-metadata -/
如果任何步骤失败,我们需要重试X次。我们还需要能够停止系统并能够重新启动系统,并使其从持久位置继续运行。
我们的一些工作流可以通过一系列我们需要实现的目标来定义,所以Jess的倒退规则链听起来很有趣,但它不是开源的。
这可能是我们所追求的是一个有限状态机引擎或只是一个企业服务总线,并把所有事情都当成JMS队列。
是否有一个很好的开源工作流引擎,既是基于标准的,也是面向开发人员的。我们并不特别想使用图形化的工作流设计器或者编写大量的XML,并且理想情况下应该是Java或者语言不可知(使得REST/Soap调用外部服务)。
感谢, 汤姆
http://java-source.net/open-source/workflow-engines-我不会发布这个答案,因为我没有这些经验。 – TrueWill 2011-02-04 23:16:30