我们目前有一个基于内部开发的工作流引擎和基于 YAML 的 DSL 的应用程序。我们正在寻求将其中的一部分迁移到 Java。
我发现了许多 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 调用外部服务)。
谢谢,汤姆