Open source rule management
JBoss Rules and Jess deliver solid rule tools and respectable performance at a nice priceFollow @infoworld
Jess has been upgraded with a number of bells and whistles in the past five or six years: fuzzy logic capability for really nasty logic problems, backward-chaining for configuration and resource management problems, an Eclipse IDE that provides a pretty decent GUI development and debugging facility, and the ability to interface more directly with Java Beans, using either a static or a dynamic method. In the static method, the Java Beans are referenced as objects to be used in the rules and updated in response to internal changes (inside the Jess engine) as the rules are running. The dynamic method updates the external Java Beans in response to external changes, so it supports real-time applications.
From the beginning Jess has remained a free system for personal use ($100 with source code) and easily affordable for most businesses, costing as much as $15,000 for a full-blown, commercial license including source code and no runtime fees.
The new Eclipse interface is quite good. The GUI even includes something that most high-end BRMS tools don’t provide: a graphical representation of the Rete network, something only a real geek could love. For debugging, it allows break points within the rules but only on right-hand-side method calls. This means that you cannot break just anywhere in a rule. For example, you cannot stop the running of the rules at certain points on the left-hand side and examine the Agenda Table, or the value of any of the object attributes, and so on -- information that would greatly help in debugging. And, for the novice, the output is cryptic; he or she must go back to the documentation to understand the results.
Further, the debugger gives you just the bare bones -- basically, an explanation of the exceptions that Jess throws. It could be dramatically improved with reporting on which rule was called the most number of times, which rule took the most time to execute, potential rule conflicts, potential rule subsumption, and so on. But then, Jess is not the $50,000 package that includes the kitchen sink. To implement Jess, you must depend on someone who knows how to debug Java and someone who knows how to debug declarative rules.
The code syntax is difficult for most C/C++ or Java or C# programmers to understand. For one thing, the rule syntax must follow that of the current CLIPS incarnation, which is archaic at best. Although Eclipse helps with everything else, it does not put a pretty face on CLIPS syntax. On the plus side, Jess code is much more concise than the equivalent code in JBoss Rules (see a comparison here) or some other BRMS engines. Some users (including E-Loan) have written an interface that brings a more industry-specific look to the underlying Jess code.