As with scripting languages, knowledge of a rule-based language is a valuable skill that software engineers should have at their disposal. Rule-based programming is no longer considered purely the domain of the computer scientist but is finding an application in the development of business systems.
Business rules represent one of the greatest areas of complexity within enterprise systems, and the rule engine offers an effective mechanism for managing their sophisticated and dynamic nature. Rule engines are therefore well suited to rapid application development, offering the following benefits:
The next and final chapter on rapid development languages covers aspect-oriented programming, one of the software industry's most exciting new paradigms.
The CLIPS software, along with examples and tutorials, is available from the site http://www.ghg.net/clips/CLIPS.html.
Jess is not public domain software. However, numerous Java implementations of rule engines exist that are. Table 10-1 lists some of them.
For more information on the intricacies of the Rete algorithm, refer to the paper in which it was first defined, Rete: A Fast Algorithm for the Many Pattern/Many Object Pattern Match Problem by Charles L. Forgy [Forgy, 1982].