规则引擎 VS 工作流引擎

Rules engine VS Workflow engine

我想知道规则引擎和工作流引擎有什么区别。就我而言,我必须自动化票务系统的一些规则。事实上,每张工单都有一个工作流程(打开 -> 进行中 -> 已解决 -> 已关闭)。

规则引擎根据已知事实和规则生成一组结果(命令、事实等)。您可以将其视为无状态函数。多个实现可以缓存状态以提高性能,但这纯粹是为了优化目的。

工作流引擎是关于状态管理和采取行动的可靠性。

在我帮助设计的应用程序中,规则引擎通常是工作流中的activity。例如,工单工作流可以调用规则引擎 activity 来决定在给定当前工单状态的情况下是否可以移动到下一个状态。

显然,您可以创建一个更紧密地混合两者的系统,但从概念上讲,它们仍然扮演着不同的角色。