【问题标题】:What can Rules Engines accomplish?规则引擎可以完成什么?
【发布时间】:2010-12-08 10:33:00
【问题描述】:

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

【问题讨论】:

  • 我并不是要粗鲁,但是您尝试过 Google 吗?我确信维基百科页面是第一个结果之一,而且很清楚:en.wikipedia.org/wiki/Rule_engine
  • Wiki 上没有提到目标。我先搜索了 Wiki 页面。
  • 也没有提到使用规则引擎解决了什么问题。
  • 如果您阅读 Wikipedia 上的文章,以及有关生产系统 (en.wikipedia.org/wiki/Production_system) 和推理引擎 (en.wikipedia.org/wiki/Inference_engine) 的文章,您将找到目的(目标)和问题的答案由规则引擎解决。
  • 顺便说一句,当询问使用规则引擎解决的问题时,结果是google.com/…,这不是很令人印象深刻。

标签: rule-engine


【解决方案1】:

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

它们通常用于能够轻松更改业务规则,而无需重新编译/重新部署软件。规则可以很容易地存储在公司数据库中,有时甚至可以由更有效地理解业务规则的技术含量较低的用户进行编辑。

例如,一家抵押贷款公司可能需要每周更改其批准抵押贷款的标准。通过使用规则引擎,您可以轻松创建可以修改的非常复杂的标准,而无需将逻辑“编程”到软件中。比如说,本周基本信用评分发生变化,您只需在规则链中调整该规则。然后,明天,当要求 PMI 的最低收入百分比(给定 90% 的公平率)发生变化时,您就可以将那个“规则”落实到位。

【讨论】:

  • 经常提到的卖点之一是“业务用户”可以编写规则而不是“系统人员”。这是否可以实现取决于业务和用户。
  • 我们使用这样的系统正是为了这个目的。业务分析师可以将来自多家公司的需求转化为规则和工作流程,这比开发人员完成开发周期的速度要快得多,而且成本更低。其他公司有在最后一刻让我们知道记分卡变化的习惯,所以速度是必不可少的。对于开发资源由内部收费的组织而言,它们是必不可少的,即使是简单的更改也需要长达一个月的交货时间。
【解决方案2】:

添加到@Reed Copsey 的答案。大多数规则引擎将其规则保存在外部文件中,业务分析师或最终用户可以修改这些文件。 Drools 就是这样一种解决方案。

【讨论】:

  • 这不是一个完整的答案——它属于附加到另一个答案的评论。
【解决方案3】:

在大多数情况下,正在处理的规则位于业务层,可以将防火墙视为某种规则引擎,另一种常见类型的规则引擎基于用于事务处理和决策的高级域特定语言制作。

有许多公司生产电器,并将网络交易作为一种服务。这些为分析人员提供了形成复杂决策树和专家系统的工具,而无需进行开发人员繁重的工作,这要归功于 EGL 的魔力,大部分翻译是通过可以存根并生成代码和有效端点的建模工具完成的自动满足“业务”需求。

【讨论】:

  • 这个答案没有给出太多的上下文,因为它漫无目的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多