Drools is an augmented implementation of Forgy's Rete algorithm tailored for the Java language. Adapting Rete to an object-oriented interface allows for more natural expression of business rules with regards to business objects. More importantly, Drools provides for "declarative programming" and is flexible enough to match the semantics of your problem domain. Pro Drools is a Java-focused expert guide to declarative programming. This book is ideal if you want to learn rule-based programming languages to implement complex and constantly-changing business rules. The book presents a unique mix of theory that explains the inner workings of rule engines, allowing you to solve problems easily. The latter part of the book thoroughly covers the Drools engine, including its syntax and integration in plain Java applications. After reading this book, you will become proficient with the various parts that compose a rule, which may be extended to lend domain-specific sense to the rule. TOC:Section I. Introduction to declarative programming.- Introduction to Spring Drools.- Facts and rules in declarative languages.- Rete and Rete in Drools.- Section II. Drools.- Getting started with Drools.- Rule-based application in Drools.- Drools input modules.- Interaction between Drools programs and Java code.- Section III. Applying Drools.- JSR 94.- Spring Drools internals.- Spring Drools bean factories.- Using Drools beans in Spring application.- Section IV. Testing.- Debugging Rules.- Testing rules.