何时使用业务规则引擎?

业务规则引擎和脚本/配置/定制之间有什么区别

有帮助吗?

解决方案

规则引擎可以做前向和反向链接以及推理。查核费埃哲火焰,呓或ILOG为实现。

其他提示

当您尝试在代码中实现决策时,应使用业务规则引擎或业务规则管理系统。但不仅仅是任何决定。一项决定:

  • 涉及很多规则
  • 规则经常变化
  • 具有复杂的规则或以复杂的方式交互(否则考虑大量嵌套的 IF)
  • 具有只有具有领域知识的人才能理解/验证的规则
  • 商界人士真正希望能够在没有您帮助的情况下做出改变
  • 涉及使用预测分析/分数作为决策的一部分

这些决策可以为业务规则管理系统的使用带来回报。不要从规则开始,而是从决策开始。

业务规则是冗长的(因此业务人员发现它们更容易阅读)、声明性而非过程性和原子性(因此它们可以像数据库中的数据一样被存储、管理和重用)。

有关为什么要使用业务规则的更多信息,请参阅这篇关于原因的文章 我相信商业规则.

业务规则引擎通常被用来提供定制的“IF一些-condidtion然后做出头的”逻辑的各种应用程序。这些类型的业务规则可以触发某些工作流程执行或冒泡事件的知识,更高层次的规则,使他们进行评估。

使用规则引擎还允许的顾虑更容易的分离通过从代码去除的业务逻辑。今天的规则引擎通常还提供了一个前端,用户可以无需修改应用程序中的脚本添加新的规则。

规则引擎实现算法,如Rete算法(从Drools的经验之谈),使评估规则更快的任务。规则引擎还提供前向链,反向链,混合链,规则等等。然而,这些可以在一个脚本语言来实现,以及。你可以实现一些相同的各种各样的事情有两种方法,但我认为,这取决于复杂性和规则数量哪个途径,你应该选择。

看看从杰斯项目链接: http://www.jessrules.com/guidelines的.shtml

它提供了一个一步一步走过的问题要问自己,以确定是否一个规则引擎,满足您的需求,或者是矫枉过正。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top