可定制的工作流程/状态机

Customizable workflow/ State machine

我正在尝试构建一个可自定义的工作流程或一种状态转换,用户应该能够通过 UI 进行更新。 基本上它应该具有所有状态,并且用户应该能够选择从一种状态到另一种状态的转换,并且还可以将任何预定义的操作挂接到它。预定义的操作可以是任何用户任务、电子邮件任务或脚本任务。

它应该足够灵活,可以向其中添加更多状态/动作。

我尝试评估 Activiti,但它看起来不太适合这里。事实上,Workflow 引擎看起来并不合适。

谁能推荐我可以使用的任何现有框架或库。

您可以尝试使用JBPM。我在我之前的项目中使用过它。

http://www.jbpm.org/[Jbpm首页][1]。

缺点

JBPM 5 不支持集群。 (不确定在 JBPM 6 中是否修复)

我选择了 Squirrel foundation 作为我的后端状态转换机器。用我的习惯装饰来表示不同类型的状态(用户干预、服务、电子邮件等)。并使用 Viz.js 在 JS 中可视化和创建工作流。