规则引擎能够实现什么?

14

规则引擎可以实现哪些目标?


1
我不是有意冒犯,但你试过用谷歌搜索吗?我相信维基百科页面是最早的结果之一,而且很清晰:http://en.wikipedia.org/wiki/Rule_engine - Thomas Owens
@Thomas 最近是否出台了一项新规定,禁止提出那些可以通过谷歌解决的问题? - heisenberg
@kekekela 是的。对于 Stack Overflow 来说,那些可以通过谷歌搜索轻松回答的问题太简单了。Meta 上有一些讨论 - http://meta.stackoverflow.com/search?q=simple+question 但我现在找不到 Jeff(我想他是 Jeff)的帖子了。 - Thomas Owens
http://meta.stackexchange.com/questions/8724/how-should-we-deal-with-google-questions - heisenberg
显示剩余4条评论
3个回答

26

规则引擎(Rules Engine)通常是软件中的组件,用于在运行时验证业务规则。

它们经常被用来便于更改业务规则而不必重新编译/部署软件。规则可以轻松地存储在企业数据库中,甚至可以由了解业务规则更有效的非技术用户进行编辑。

例如,抵押贷款公司可能需要每周更改批准抵押贷款的标准。通过使用规则引擎,您可以轻松创建非常复杂的标准,而无需将逻辑“编程”到软件中。比如这个星期基础信用评分发生变化,你只需调整规则链中的那个规则。然后,明天当给定90%股权率时,收入百分比要求PMI最低的规则发生变化时,您可以立即设置该“规则”。


2
其中经常提到的一个卖点是“业务用户”可以编写规则,而不是由“系统专员”编写。这是否可行取决于业务和用户本身。 - DaveE
1
我们正是出于这个目的使用这样的系统。业务分析师可以将来自多家公司的需求转化为规则和工作流程,比开发人员经历开发周期要快得多,成本更低。其他公司有一个习惯,就是在最后一刻通知我们记分卡的变化,因此速度至关重要。它们在开发资源内部可计费的组织中非常重要,即使是简单的更改也需要一个月的前期准备时间。 - JeeBee

3
为了补充@Reed Copsey的回答,大多数规则引擎将其规则保存在外部文件中,这些文件可以由业务分析师或最终用户进行修改。Drools是其中之一。

1
这不是一个完整的答案 - 它应该作为附加到另一个答案的评论。 - David J.

0
在大多数情况下,正在处理的规则位于业务层,可以将防火墙视为某种规则引擎,另一种常见的规则引擎基于高级领域特定语言进行交易处理和决策制定。
有许多公司生产设备和Web事务作为服务。这些为分析师提供了形成复杂决策树和专家系统的工具,而无需开发人员的苦力工作,由于EGL的神奇之处,大部分翻译是通过建模工具完成的,这些工具可以生成代码和有效的终端点,以满足“业务”需求。

这个答案没有提供太多上下文,因为它东拉西扯的。 - David J.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接