Business Rule Engine
业务规则引擎指软件中决策条件计算,比如什么时候开始执行、什么时候停止等等。给定输入以及条件,输出计算结果。有了规则引擎,无代码经验的人也可以使用
Workflow Engine
工作流引擎指的是业务处理能够初始化任务和自动执行任务。用户通过绘制业务执行流程图,工作流引擎便能执行这些任务,并且十分方便管理。有了工作流引擎,无技术经验的人也可以使用
same point
规则引擎和工作流引擎都是提供了这样一个工具,让没有技术经验的人能够自定义和管理业务处理逻辑,并且不需要修改底层代码
difference
- 工作流引擎主要关注业务流程的执行顺序和状态。是基于设计的工作流图进行流程的执行
- 规则引擎主要关注业务逻辑的执行,负责决策判断处理,特别是有很多复杂表达式情况下
例子来描述会很清晰
工作流引擎
当从网上购买一件衣服,启动一个涉及付款处理、订单履行和发货等多个步骤的工作流。这是一个有时间限制的编排,任务具有重复性和预测性。将数据处理成完成状态的一系列任务。
现代化企业已经使用工作流软件实现他们的工作流自动化,以此提高速度、准确性和成本效率。大多数这些工具都是用流程设计器编码完成的,该特性允许软件用户在不需要编码的情况下运行工作流实例。工作流设计器允许管理员以线性顺序派发任务,根据表单中的数据动态分配任务,并添加条件、异常、并行分支等设定来丰富工作流的种类。
工作流引擎是一个预先编码的脚本,它考虑了工作流设计,即任务应该如何从一个阶段流向另一个阶段,并执行该步骤。工作流引擎是嵌入在软件中的代码,用于将任务从一个阶段推送到另一个阶段。
业务规则引擎
业务规则引擎可以理解为程序中的一组条件,如果满足所需条件,则执行相应的程序代码。它是关于设置一个软件在特定参数内的行为准则。
规则引擎的优点是,它允许非技术性软件用户根据其业务需求更改软件行为,而无需更改底层代码。业务规则引擎根据大量的信息数据做出快速可靠的决策,通常这些数据对于人类大脑来说太大了,无法处理。
业务规则引擎是一个更广泛的概念中的一部分,它的范围甚至超出了工作流管理。规则引擎无法控制编排任务,但它们根据特定条件为推断决策指南。同时,它可用于在给定条件下模拟工作流的过程。
如果买家年龄在18到29岁之间,可享受15%的青年折扣;如果买家选择年龄大于59岁,则对该商品给予20%的折扣;如果买家选择年龄在30到59岁之间,则不对该商品进行折扣。组合在一起的一组业务规则引擎称为规则集;它们通常以表格形式或决策树表示。企业软件主要使用业务规则引擎来确保操作的一致性。
描述后会发现,二者关注的重点是不一样的
工作流引擎 | 业务规则引擎 |
---|---|
基于流程模型运行工作流实例的程序 | 帮助负责决策的程序 |
帮助执行业务流程,基于流程设计 | 帮助创建业务知识,基于规则驱动 |
作为自动化工作流的内在驱动力 | 作为可插入的元素工作,可以从应用程序代码中分离出来 |
属于特定于工作流技术的组件 | 属于企业应用程序的组件 |
人话:工作流,你给定一个流程,它是顺序的(或者是DAG),上个节点会影响下个节点的将数据处理完成的一系列任务。规则引擎,你给出一组条件,引擎提供决策表帮助你得到最终的结果