问题
What are some of the best or most popular rule engines? I haven't settled on a programming language, so tell me the rule engine and what programming languages it supports.
回答1:
I am one of the authors of Drools, I will avoid pimping my wares.
But some other options are Jess (not open source) but uses the clips syntax (which we also support a subset of) - which is kinda a lisp dialect.
It really depends what you want it for, Haley have strong Natural language tech (and they recently aquired RuleBurst - who has also interesting natural language tech which could deal with word documents with embedded rules - eg legal documentation). RuleBurst was able to target .Net runtimes as well (there is a Drools.net "port" available as well - I haven't seen what it has been up to lately, alas, not enough time). Ok I will put my pimp bling away now... sorry about that.
回答2:
This is a great article by Martin Fowler, which is a discussion about when rules engines can be useful. You may find it helpful.
http://martinfowler.com/bliki/RulesEngine.html
回答3:
Depending on what your requirements are, Windows Workflow Foundation (.NET 3.5) might be worth having a look at.
The .NET rule engine InRule supports WF and BizTalk; I've not tried it though so don't know if it's any good.
回答4:
I have a bit of experience with both Haley Expert Rules and Haley Office Rules. Both nice systems, but I'd need to know a bit more abut what you want to use them for to answer definitively (See http://www.haley.com)
They both support C# and Java (and I think also a web service api).
The difference between the two is mostly around how much natural language modelling you want to get into. Office rules lets business users write rules in an Office document, and is mostly focused around legislative requirements modelling. Expert rules can be a bit more flexible in definition how it handles natural language, but requires more work defining language structures up front.
Hope some of that helps.
回答5:
We've used both http://jatha.sourceforge.net and http://www.jboss.com/products/rules. They're both pretty good, but for the most part, JBoss rules seems to me to be overkill for a lot of what people do. They're both Java based.
It's worth remembering Greenspun's Tenth Rule of Programming and skip ahead to importing it :)
回答6:
I've checked out JBoss Rules aka Drools and it looks pretty good. I'd love to hear from people using it in production, because I'm probably gonna need a rule engine in my current project as well.
回答7:
Inrule see website is very good!
it is a .NET based rule engine with a solid SDK and a nice UI for non technical users. Worked great for me in past - pretty much cut my development cost in half.
回答8:
For very well understood, procedural rules (like eligibility rules, insurance rules, audit rules, etc.) then simple decision tables with a Domain Specific Language can give you the performance and simplicity without the overhead of RETE based engines.
A Java open sourced rules engine of this sort can be found at DTRules
回答9:
I found another rule engine that supports different kinds of rules; Procedural, Inference (RETE) and FlowRule. This is quite flexible and extensible rule engine (also event driven). They had express version as free edition while ago.
Take a look at http://www.flexrule.com
回答10:
WF is available already in .net 3.0. It is a bit buggy though on the Designer-side in Visual Studio and can get quite messy. I use it on Sharepoint (where WF is pretty much your only option anyway) and overall I am quite satisfied with it, even though the learning curve is rather steep.
Foundations of WF is a good book to start with it, as they implement a complete solution from beginning to the end and explain the concepts behind it.
来源:https://stackoverflow.com/questions/6613/what-rule-engine-should-i-use