This document provides an introduction to Drools, an open source Java-based rule engine. It discusses embedding rules in applications, designing rule-based applications based on existing domain vocabularies, and the basic structure and components of rulesets in Drools, including imports, globals, functions, and the condition and action parts of rules. It also covers more advanced pattern types such as "from" and "accumulate" that allow reasoning over data from other sources.