Fact
Facts are the knowledge of DROOLS. Facts are plain old java objects (POJO) where data for rules are stored.
Working Memory
Facts are placed in working memory which will be used for pattern matching at later stage. A user can retrieve, insert or modify facts.
Rule
Rules are a piece code which contain business logic's
Rule Engine
A business rules engine is a software system. Rule engine executes multiple business rules in a production environment. Rule engine have a Inference Engine,production and working memory. Businesses rule are put into production memory. Facts (Data) is placed in working memory. Inference engine matches facts against each rule in the production memory. Inference Engine uses Linear, Rete, Treat or Leaps algorithm for pattern matching. DROOLS uses extended Rete Algorithm, ReteOO for pattern matching. When many rules becomes true for same fact, it creates conflict. Agenda uses Conflict Resolution strategy to manage the execution. Rule engine architecture is as shown below