Open source rule management
JBoss Rules and Jess deliver solid rule tools and respectable performance at a nice priceFollow @infoworld
In addition to adding features, Jess has continually improved performance on the standard benchmark tests. It usually runs somewhere between the fastest commercial products and the current freebies. For this review, I tested Jess in two ways, one using internal objects and the other using external Java Beans, which runs a bit slower. On the Manners 128 benchmark (on Windows XP) Jess completed the run in 27 and 38 seconds; JBoss Rules took 21 seconds. On Waltz 50 (on Mac OS X), Jess ran the benchmark in 22 and 32 seconds; JBoss Rules took 25 seconds. Compared with the industry leaders, Jess runs faster or even with standard JRules and several steps behind OPSJ, Blaze Advisor, and optimized JRules. Their times for Manners 128 and Waltz 50 clock in the single digits, even less than a second for OPSJ on Waltz. Navigate here for the most recent marks for Jess, JBoss Rules, and others.
Documentation for an open source or shareware product is typically sparse, but not so for Jess. In 2003, Friedman-Hill published a book, Jess In Action: Java Rule-Based Systems that, although based on an earlier version of Jess, is still largely applicable to the current product. Friedman-Hill also maintains an up-to-date online manual, and the Java Docs are quite good. The only thing I found missing was an index for the online material.
Finally, the Jess User Group is probably one of the finest in the world. Friedman-Hill, Jason Morris, and Bob Orchard constantly monitor this group and give answers within 24 hours if not within the hour. Although rapid response is not a guarantee (because this is, after all, a support group, not a contract), I’ve discovered that these three will usually beat the response times of the Fair Isaac and ILOG technical support groups.
JBoss Rules 3.2
It wasn’t until late last year, when JBoss bought Drools (Dynamic Rule Object-Oriented Language System) and hired Drools’ project lead, Mark Proctor, that Jess had a real competitor in the open source arena. No longer Drools but JBoss Rules, the software is now in Version 3.2. I must emphasize the exact version number for JBoss Rules because it seems to be changing so quickly and gets so many improvements on a month-to-month basis. For the users, this is a good thing.
Before JBoss came along, the syntax in Drools was almost unreadable in its former XML incarnation, and many of the rulebase essentials were missing: features such as query support, dynamic rules, a truth maintenance system, and even operators such as “and,” “or,” “not,” “nested nots,” “exists,” “exists with nesting,” “for all,” “accumulate,” “from,” and on and on. For JBoss Rules 3.0, chief guru Mark Proctor brought that unreadable XML into an easy-to-use IDE, the exact, same Eclipse 3.2 interface that Jess uses. JBoss even implemented the graphical version of the Rete network -- just like Jess. Compared with Jess code, the JBoss code is easy to read and understand. Most business analysts could learn it in a day’s time with a bit of help from their favorite Java programmer.
The XML is still there, of course, and you can use ANTLR (ANother Tool For Language Recognition) to write your own parsing language, similar (but not quite as easy) to what ILOG and Blaze do with their GUIs. On the other hand, the JBoss approach is much more powerful in that you could create a Jess, JRules, Blaze Advisor, or Haley BRMS language, whatever syntax you might need, and donate the code to the JBoss Rules community.