30 of 30 people found the following review helpful
Excellent intro to rules and Jess, plus fun to boot,
This review is from: Jess in Action: Java Rule-Based Systems (In Action series) (Paperback)
Jess in Action presents the Jess rule-based framework, and explores it through four meaty and well-chosen examples: a console tax forms advisor, a console PC repair assistant, a Swing HVAC controller, and a servlet-based purchasing agent. The examples vary greatly in their designs and styles of interaction between Jess and Java, and expose patterns in a concrete context. It's especially nice the way each example builds on the functionality of the one before, such as a text-based question/interview module that is extended into a Swing GUI.
The book starts with an introduction to rule-based systems, goes through the basics of the Jess language, and then dives into the examples; the appendices include API references to both Jess functions and Jess's Java APIs, and numerous links and references are scattered throughout the book. If I have any complaint about the organization, it's that the book could have been even more example-driven, abandoning (or shortening) the chapter on syntax and basic functions and introducing them only when used in an example; the rest could have been left to the appendix of Jess functions.
The book is interesting and readable but dense with concepts, so its only 388 pages of content and 50 pages of appendices will take some (well-spent) time to get through. A second skimming impressed me anew with the richness of the material, and the productive way in which it's presented, so I recommend reading the book once to get the overall feel, and then going through it again with the working Jess command shell, editor, and command line in front of you. Or an IDE if you must. :-)
Jess itself consists of a rule language, a runtime engine which supports forward and limited backward-chaining, and APIs for integration with Java; there are many add-on tools for Jess, referenced throughout the book. As with most rules engines, rules are specified as declarative patterns, not procedural code.
Jess in Action is well worth your time and attention, at the least for its exploration of rules, and at most for presenting a strong, flexible platform to tackle what is probably one of the uglier parts of your development: the sequencing and parameterization of business decisions. Although the list of Cons below is longer, they're just nit-picking; this is an excellent, entertaining, and productive read that will likely expand your programming horizons considerably.
* Clearly, concisely, and entertainingly written for Java programmers of any background
* A strong introduction to two important topics: rules and declarative programming style
* Well-chosen and developed working examples, each with a different design style
* The description of the author's unit test framework for rules in Appendix C is a nice touch
* Early discussion of Jess syntax focuses too much on Java-like procedural style
* More of a tutorial - not long enough to be a good reference (though that would probably require a detailed Jess Patterns book)
* Discussions of development methodology and knowledge engineering are unnecessary, as they're covered better elsewhere and a short summary adds little to the book
* There's no single list of rule and Jess-related links; references to tools and discussions are scattered throughout the book
* There are no general references to rules and rule-based systems for theory and background