我应该使用啥规则引擎? [关闭]

Posted

技术标签:

【中文标题】我应该使用啥规则引擎? [关闭]【英文标题】:What rule engine should I use? [closed]我应该使用什么规则引擎? [关闭] 【发布时间】:2010-09-05 14:48:54 【问题描述】:

有哪些最好或最受欢迎的规则引擎?我还没有确定编程语言,所以告诉我规则引擎和它支持的编程语言。

【问题讨论】:

您可以尝试查看我们新发布的 Gandalf (gndf.io)。它是一个开源决策引擎,允许您在任何数据模型上定义任何规则,并将它们用作决策表或为您的客户评分。它建立在*** php Laravel 框架之上,并将数据存储在 MongoDB 中。 【参考方案1】:

我是 Drools 的作者之一,我会避免拉皮条。

但其他一些选项是 Jess(非开源),但使用剪辑语法(我们也支持其中的一个子集)——这有点像 lisp 方言。

这真的取决于你想要它做什么,Haley 拥有强大的自然语言技术(他们最近收购了 RuleBurst - 他还拥有有趣的自然语言技术,可以处理带有嵌入规则的 word 文档 - 例如法律文档)。 RuleBurst 也能够针对 .Net 运行时(也有一个 Drools.net “端口”可用 - 我最近还没有看到它在做什么,唉,没有足够的时间)。好的,我现在就把我的皮条客扔掉......对此感到抱歉。

【讨论】:

【参考方案2】:

这是 Martin Fowler 的一篇很棒的文章,它讨论了规则引擎何时有用。您可能会发现它很有帮助。

http://martinfowler.com/bliki/RulesEngine.html

【讨论】:

尽管这是一篇很棒的文章,但它并没有回答问题,即“我应该使用哪个规则引擎?”。我认为它更侧重于何时使用规则引擎以及在何种程度上使用。【参考方案3】:

根据您的要求,Windows Workflow Foundation (.NET 3.5) 可能值得一看。

.NET规则引擎InRule支持WF和BizTalk;没试过,不知道好不好用。

【讨论】:

【参考方案4】:

我对 Haley 专家规则和 Haley 办公室规则都有一些经验。两个不错的系统,但我需要知道更多关于你想用它们来明确回答的信息(参见http://www.haley.com)

它们都支持 C# 和 Java(我认为也是一个 Web 服务 api)。

两者之间的区别主要在于您想要进入多少自然语言建模。 Office 规则允许业务用户在 Office 文档中编写规则,并且主要关注立法要求建模。专家规则在定义它如何处理自然语言方面可能更灵活一些,但需要更多的工作来预先定义语言结构。

希望对你有所帮助。

【讨论】:

【参考方案5】:

我们同时使用了http://jatha.sourceforge.net 和http://www.jboss.com/products/rules。它们都非常好,但在大多数情况下,在我看来,JBoss 规则对于人们所做的很多事情来说都是矫枉过正的。它们都是基于 Java 的。

值得记住 Greenspun's Tenth Rule of Programming 并直接导入它 :)

【讨论】:

【参考方案6】:

我有checked out JBoss Rules aka Drools,它看起来很不错。我很想听听人们在生产中使用它的意见,因为我可能在我当前的项目中也需要一个规则引擎。

【讨论】:

【参考方案7】:

inrulesee website很好!

它是一个基于 .NET 的规则引擎,具有可靠的 SDK 和面向非技术用户的漂亮 UI。 过去对我很有帮助 - 几乎将我的开发成本降低了一半。

【讨论】:

【参考方案8】:

对于非常容易理解的程序规则(如资格规则、保险规则、审计规则等),使用领域特定语言的简单决策表可以为您提供性能和简单性,而无需基于 RETE 的引擎的开销。

可以在 DTRules 找到此类 Java 开源规则引擎

【讨论】:

【参考方案9】:

我发现了另一个支持不同类型规则的规则引擎;程序、推理 (RETE) 和 FlowRule。这是一个非常灵活和可扩展的规则引擎(也是事件驱动的)。他们之前有免费版的快递版。

看看http://www.flexrule.com

【讨论】:

【参考方案10】:

WF 已在 .net 3.0 中可用。尽管在 Visual Studio 的设计器端,它有点错误,并且可能会变得非常混乱。我在 Sharepoint 上使用它(WF 几乎是你唯一的选择),总体而言我对它非常满意,尽管学习曲线相当陡峭。

Foundations of WF 是一本很好的入门书籍,因为他们从头到尾实施了完整的解决方案并解释了其背后的概念。

【讨论】:

以上是关于我应该使用啥规则引擎? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

我可以从哪里开始学习规则引擎? [关闭]

关于规则引擎的神话是啥? [关闭]

Javascript中的轻量级规则引擎[关闭]

C#:英语语法规则引擎? [关闭]

我想我需要一个简单的规则引擎? [关闭]

包含规则引擎的系统是不是曾经真正成功过? [关闭]