Two bits of housekeeping:
- The Drools project has moved here, at the jboss.org site.
- JBoss Rules (formerly Drools) 3.0 rc2 is out.
I’m very happy that they are moving away from the Drools name. I’ve mentioned Drools a number of times in client meetings only to have executives roll their eyes. Nothing can kill a product like a bad name. I guess it could have been worse: they could have called it "Steaming Piles of Rules."
OK, so what’s in 3.0? Well, for one it has an IDE plugin for eclipse. For another it has what appears to be full first order logic support. From the JBoss Rules web site:
- Full Rete Implementation — with high performance indexing
- An alternative to RETE, a complete LEAPS algorithm (Experimental)
- Field Constraints
- Literal, Bound Variable, ReturnValue and PredicateConstraints
- Conditional Elements
- And, Or, Not, Exists and Eval
- Agenda Management
- Conflict Resolution (Salience+Depth)
- Agenda Groups
- Xor Groups
- Agenda Filters
- No loop for recursion control
- Truth Maintenance with Logical Assertions
- Temporal Rules — allows rules to fire based on time requirements
- Dynamic Rules -runtime addition and removal of rules
- Event Model
- Working Memory Actions
- Agenda
- Execution Audit logging
- Functions
- Global Ddata
- Working Memory Query support.
- Language independent Engine
- Drools is interface driven using the Rule Assembly API to construct rules
- Intermediate String based, Descr, API.
If you don’t know what all of the above means, don’t worry. I’ll explain it over the next few weeks. Suffice it to say that JBoss Rules looks like it might become a real competitor to the commercial vendors.
There is also now some pseudo-natural language support.
I took a peek at the IDE, the new "JBoss Rules Workbench." To use it you will need Eclipse 3.2 or better. Install by unzipping into your eclipse folder (the archive contains a plugins folder and a drools jar file). My initial impression is that it is absolutely a useful tool, with command completion for the various rule file types — rules, domain specific (pseudo-natural) language, decision table, etc. — and a stubbed out test file.
As I get a chance, I’ll start porting some of my ILog and Blaze projects over to the new JBoss Rules so I can compare the platforms.
The documentation is still a little rough, but what can you expect from a rc2? I eagerly await the final release. Can a rules management system be far behind?

Did you find what’s new in 3.0?
BTW, will executives roll their eyes from *.drl file extension?
Glad you liked it ! We have been beavering away for some time (lots of rewriting, very little sleep).
RC3 and final are about to come out, had to do some important fixes from RC2.
The psuedo NL stuff was a bit of an experiment, but people seem to like it. I think it may get a chance to shine with more tooling (ie web tooling). From my past experience with rules engines NL, I was never able to quite get them to do what I want, so I thought it would be easier (and simpler) to allow people to provide their own language expressions, and map them however they choose.
I think we have a long way to go – but there are many people contributing features and ideas from their day to day experiences.
Hey whats wrong with *.drl files ??? huh ??
Yes the snickers over “Drools” are a little old…
On another note, RC3 (which is basically final) is out:
http://labs.jboss.com/portal/index.html?ctrl:id=page.default.info&project=jbossrules
Most importantly, the manual, which is now quite huge, is finally updated on the website (see documentation section). We have put heaps into it, more and more all the time, some on practices around rule development (so its not just a product manual). Endless details on Miss Manners benchmark, which helps me go to sleep (but some folk find fascinating).
I wouldn’t say it’s “endless details” about manners. If anything, it could be improved after hundreds of people read it and point out the unclear bits. It should improve people’s understanding of how Manners works and why it really is a worse case scenario benchmark.
of course for real world stuff, there should be a set of rules that represent various use cases. hopefully once OMG production ruleml is out, I can finally write up a dozen set of rules to test various aspects of rule engines.
peter
Yep, Drools and *.drl sound exotisch (note: not bad). What about (J)Boss Rule(s)? Boss has only one rule – “boss is always right!”
BTW, “Document Not in Database” – http://citeseer.ist.psu.edu/context/505087/0 . Probably, it’s time to include some pictures in chapter 1.3? And on http://en.wikipedia.org/wiki/Rete ? People are not satisfied with current explanation – http://woolfel.blogspot.com/2006/04/explaining-rete.html .
Did drools 3.0 support multi-language rules definition (groovy, Python,…) like Drools 2.5? If not, why? Thinks