2009-10-20 146 views
14

使用规则引擎可以实现什么目标?规则引擎可以完成什么?

+1

我不是故意粗鲁,但你有没有试过谷歌?我确信维基百科页面是首批结果之一,并且非常清楚:http://en.wikipedia.org/wiki/Rule_engine – 2009-10-20 17:18:21

+0

Wiki未提及目标。我先搜索了维基页面。 – Rachel 2009-10-20 17:19:04

+0

另外还没有提到使用规则引擎解决了哪些问题。 – Rachel 2009-10-20 17:20:02

回答

26

Rules Engine一个通常在软件的组件,用于在运行时验证业务规则。

他们为了经常被用来能够很容易地改变商业规则,而无需重新编译/重新部署软件。规则可以很容易地存储在企业数据库中,有时甚至可以由技术性较差的用户进行编辑,这些用户更有效地理解业务规则。

例如,抵押贷款公司可能需要改变它的标准,每周批准抵押贷款。通过使用规则引擎,您可以轻松创建非常复杂的标准,无需将逻辑“编程”到软件中即可进行修改。比如,本周,基本信用评分发生变化,您只需调整规则链中的规则即可。然后,明天,当要求采用90%权益比率的PMI的最低收入百分比发生变化时,您可以将该“规则”置于原地。

+2

而经常提到的一个卖点是“商业用户”可以写规则而不是一个“系统人员”。这是否可实现取决于业务和用户。 – DaveE 2009-10-20 17:24:36

+1

我们使用这样的系统来达到这个目的。业务分析师可以将来自多家公司的需求变成规则和工作流程,远远快于开发人员可以以更低的成本完成开发周期。其他公司有一个习惯,让我们知道最后一刻的记分卡变化,所以快速是至关重要的。对于开发资源需要内部收费的组织来说,它们至关重要,即使进行简单的更改也需要长达一个月的交付周期。 – JeeBee 2009-10-20 18:27:25

0

在大多数情况下,被处理的规则是在业务层,就可以看一个防火墙作为排序的规则引擎,规则引擎的另一种常见的类型是基于高级别领域特定语言进行事务处理和做决定。

有许多产生设备和网络交易作为一个服务公司。这些让分析师能够形成复杂的决策树和专家系统,而无需开发人员的努力工作,这要感谢EGL的魔力,大部分翻译工作都是通过建模工具完成的,这些工具可以存根并生成代码和有效的终点自动满足“业务”需求。

+0

这个答案没有给出太多的上下文,因为它随之而来。 – 2011-09-06 15:12:51

3

添加到@Reed Copsey的回答。大多数规则引擎将其规则保留在可由业务分析人员或最终用户修改的外部文件中。 Drools就是这样一个解决方案。

+0

这不是一个完整的答案 - 它属于作为附加到另一个答案的评论。 – 2011-09-06 15:08:32