工作流引擎:其实是类似于在我们生活中处理一些事情的流程,即使在过程中不会出现更换人员的情况,只要是办理流程的转移或变化,都可以将它纳入到这个范畴!例子:当你去办理事情,首先是 A 君和你交涉,当处理完成后,又有 B 君和你洽谈,这就是一个典型的流程。每个流程都可以拆分为小的子流程, 它代表了一种数据或信息的流向;
JBPM 用全对象化的方式,模拟了这种形态。通过提供的 ProcessDefine,Take,Token,Action,Event 等持久化地对象,来推动流程在计算机里的实现;
规则引擎:首先规则是指的是办理事情的一些符合自身的条件。是万物生存的根本。规则可以促使形成工作流程,同时是支配流程的最要因素。没了规则,就没有流程;规则引擎就是通过提供的多种方式,来解释调用者设定这些规则后,需要完成的事情;
工作流是一个个节点串在一起的。 规则是这个节点中接受数据然后输出数据的一系列规则。
规则引擎
- GitHub - zjn-zjn/ice: Rule engine/process engine, committed to solving flexible and complex hard-coded problems, for complex/flexibly changing business, provide a new abstract orchestration solution that is lightweight, high-performance and provides visual operation pages. Java规则引擎-ice,针对复杂/灵活变动业务,提供一个新的抽象编排解决方案,轻量级,高性能并提供可视化操作页面
- 编排式规则引擎LiteFlow在转转轻质检报告的实践
- 规则引擎是什么?何时使用用到规则引擎 - 知乎
Q&A
Q: 见 如何优雅的实现一个状态机? - 知乎, 状态机和规则引擎的区别是啥?不对,是要和工作流比 A:在工作流引擎中,在完成之前的操作时,就会切换到下一个步骤,而状态机需要一个外部事件,这将导致分支到下一个活动。换句话说,状态机是事件驱动的,而工作流引擎不是