我应该使用什么规则引擎?
什么是最好的或者最受欢迎的规则引擎?我还没有选择一种编程语言,所以请告诉我规则引擎及其支持的编程语言。
解决方案
回答
我对Haley专家规则和Haley办公室规则都有一定的经验。两者都是不错的系统,但是我需要更多地了解我们想要使用它们来明确回答的内容(请参见http://www.haley.com)
它们都支持Cand Java(我认为也是Web服务api)。
两者之间的区别主要在于我们想进入多少自然语言建模。 Office规则使业务用户可以在Office文档中编写规则,并且主要集中在立法需求建模方面。专家规则在定义如何处理自然语言方面可能会更加灵活,但是需要更多的工作来预先定义语言结构。
希望其中的一些帮助。
回答
我们已经使用了http://jatha.sourceforge.net和http://www.jboss.com/products/rules。它们都很不错,但是在大多数情况下,JBoss规则在我看来对于人们所做的很多事情来说都是过大的。它们都是基于Java的。
值得记住Greenspun的《编程的第十条规则》,并跳过它来进行导入:)
回答
我已经检查了JBoss Rules aka Drools,它看起来还不错。我希望听到生产中使用它的人的来信,因为我当前的项目中可能还会需要一个规则引擎。
回答
我是Drools的作者之一,我会避免将商品拉皮条。
但是其他一些选项是Jess(不是开放源代码),但使用了clips语法(我们也支持该语法的子集),这有点像lisp的方言。
这真的取决于我们想要什么,海利拥有强大的自然语言技术(他们最近收购了RuleBurst,后者也拥有有趣的自然语言技术,可以处理带有嵌入式规则的文字文档,例如法律文档)。 RuleBurst也能够以.Net运行时为目标(也有可用的Drools.net"端口",我还没看清最近的情况,可惜时间不够)。好吧,我现在将皮条客金光闪闪收起来...对此感到抱歉。
回答
根据要求,可能值得一看Windows Workflow Foundation(.NET 3.5)。
.NET规则引擎InRule支持WF和BizTalk。我没有尝试过,所以不知道它是否有用。
回答
WF在.net 3.0中已经可用。尽管在Visual Studio的Designer端,它有点bug,而且可能变得非常凌乱。我在Sharepoint上使用它(无论如何WF都是我们唯一的选择),尽管学习曲线相当陡峭,但总体上我还是很满意的。
WF的基础是一本很好的书,因为它们从头到尾实施了完整的解决方案并解释了其背后的概念。
回答
这是Martin Fowler的精彩文章,是有关何时可以使用规则引擎的讨论。我们可能会发现它很有帮助。
http://martinfowler.com/bliki/RulesEngine.html
回答
Inrule看到的网站非常好!
它是一个基于.NET的规则引擎,具有可靠的SDK和适合非技术用户的UI。
过去对我来说工作出色,几乎将我的开发成本降低了一半。
回答
我发现了另一个支持不同规则的规则引擎。程序,推理(RETE)和FlowRule。这是非常灵活且可扩展的规则引擎(也是事件驱动的)。他们以前有免费版本的快速版本。
看看http://www.flexrule.com