You are on page 1of 10

DROOLS

-SRIKANTH
-NITIN
What is Drools?
  Drools 5.0 is more than a ‘Business
rule management system’ (BRMS) it evolved
into what it terms as Business Logic
integration Platform (BLiP) with an enhanced
Rules Engine implementation, ReteOO, based
on Charles Forgy's Rete algorithm tailored for
the Java language. More importantly, Drools
provides for Declarative Programming and is
flexible enough to match the semantics of
your problem domain with Domain Specific
Languages, graphical editing tools, web based
tools and developer productivity tools.
Various Modules of Drools
Drools 5.0 was split up into 4 main sub projects:

 Drools Expert (rule engine),


 Drools Flow (process/workflow)
 Drools Guvnor (BRMS/BPMS)
 Drools Fusion (cep/temporal reasoning/Event
based)
Drools Expert
- The Rule Engine itself.

Full Asymmetrical Rete Implementation -- with high performance indexing


Sequential Rete
Truth maintenance with logical assertions.
Dynamic KnowledgeBases (add/remove rules at runtime)
Stateful and Stateless Execution Modes
Knowledge Agent
Rule inheritence (RHS)
Rule meta-data
Type declarations
High performance session marshalling
JPA persistence and transactions
Pipeline data automation with handling for JMS, JAXB, Smooks, XStream, Jxls (Excel).
What is a Rule?

A rule is a named set of conditions which are matched with the data/facts to execute a
particular action(s)

rule "basic rule"


When
Account( balance < 100 ) // condition
Then
System.out.println("Account balance is " + "less than 100"); // consequence
end

A set of rules are specified in a file (.drl) and it supplied for the engine to
evaluate facts .
Various ways to specify

Rules
Drools Expert API

Drools Flow

  Drools 5.0 introduces a powerful (extensible)


workflow engine. It allows users to specify their
business logic using both rules and processes
(where powerful interaction between processes
and rules is possible) and offers a unified
environment.

You might also like