有哪些最好或最受欢迎的规则引擎?我还没有确定编程语言,所以告诉我规则引擎和它支持的编程语言。
10 回答
我是 Drools 的作者之一,我会避免拉皮条。
但是其他一些选项是 Jess(不是开源的),但使用剪辑语法(我们也支持其中的一个子集) - 这有点像 lisp 方言。
这真的取决于你想要它做什么,Haley 拥有强大的自然语言技术(他们最近收购了 RuleBurst - 他还拥有有趣的自然语言技术,可以处理带有嵌入规则的 word 文档 - 例如法律文档)。RuleBurst 也能够针对 .Net 运行时(也有一个 Drools.net “端口”可用 - 我最近还没有看到它在做什么,唉,时间不够用)。好的,我现在就把我的皮条客扔掉......对此感到抱歉。
根据您的要求,Windows Workflow Foundation (.NET 3.5) 可能值得一看。
.NET 规则引擎InRule支持 WF 和 BizTalk;不过没试过,不知道好不好用。
这是 Martin Fowler 的一篇很棒的文章,它讨论了规则引擎何时有用。您可能会发现它很有帮助。
我对 Haley 专家规则和 Haley 办公室规则都有一些经验。两个不错的系统,但我需要知道更多关于你想用它们来明确回答的信息(见http://www.haley.com)
它们都支持 C# 和 Java(我认为也是一个 Web 服务 api)。
两者之间的区别主要在于您想要进入多少自然语言建模。Office 规则允许业务用户在 Office 文档中编写规则,并且主要关注立法要求建模。专家规则可以更灵活地定义它如何处理自然语言,但需要更多的工作来预先定义语言结构。
希望其中一些有所帮助。
我们已经使用了http://jatha.sourceforge.net和http://www.jboss.com/products/rules。它们都非常好,但在大多数情况下,在我看来,JBoss 规则对于人们所做的很多事情来说都是矫枉过正的。它们都是基于 Java 的。
值得记住Greenspun 的第十条编程规则并直接导入它 :)
我检查了JBoss Rules aka Drools,它看起来很不错。我很想听听人们在生产中使用它的意见,因为我可能在我当前的项目中也需要一个规则引擎。
Inrule看到网站非常好!
它是一个基于 .NET 的规则引擎,具有可靠的 SDK 和面向非技术用户的漂亮 UI。过去对我很有用——几乎把我的开发成本降低了一半。
我发现了另一个支持不同类型规则的规则引擎;程序、推理 (RETE) 和 FlowRule。这是一个非常灵活和可扩展的规则引擎(也是事件驱动的)。他们之前有免费版的快递版。
对于非常容易理解的程序规则(如资格规则、保险规则、审计规则等),然后使用领域特定语言的简单决策表可以为您提供性能和简单性,而无需基于 RETE 的引擎的开销。
WF 已在 .net 3.0 中可用。尽管在 Visual Studio 的设计器端,它有点错误,并且可能会变得非常混乱。我在 Sharepoint 上使用它(WF 几乎是你唯一的选择),总的来说我对它非常满意,尽管学习曲线相当陡峭。
Foundations of WF是一本很好的入门书籍,因为它们从头到尾实现了一个完整的解决方案并解释了它背后的概念。