Detailed outline
The training course will cover a theoretical overview of the Drools 5.x modules. Each of the modules (except Drools Fusion) will be covered to understand the theoretical background behind them plus technical details needed by the students to start using those concepts. Each section of the training course contains a set of hands-on-lab projects to understand the common functionality. The attendees will be required to have strong knowledge of the Java language and platform and some basic knowledge about Apache Maven to be able to play with the examples.
The training course is designed to be 40 (forty) percent theoretical and 60 (sixty) percent practical. During the exercises, the attendees can propose simple test cases that can be implemented during the course. The idea of the training course is to learn the background of each module inside the Drools Platform and discuss the main practical points using example projects.
Module: Drools Expert
This is the first module inside the training course. It’s divided into three subsections.
- Drools Theoretical Background and History
- Drools DRL language
- Drools Decision Tables, Templates and DSLs + RETE algorithm review
The attendees need to understand the core rule engine where all the other modules will run. During this module, theoretical concepts such as Artificial Intelligence, Expert Systems and Productions Rules systems, will be introduced. Then a complete section about the DRL language will be discussed. At the end of the module we will talk about other ways to express rules and a quick overview of the RETE algorithm.
Module: Drools Guvnor
During this module, the attendees will learn about the main features provided by Drools Guvnor. We will see the main tools that we have there and the main usages of the Business Knowledge Repository. We will see how to configure and install it inside a JBoss Application Server.
Module: Drools Flow
This module will cover all the BPM theoretical concepts. The attendees will learn about concepts like Business Process, Business Process Management, Business Process Management Systems, etc. After these concepts, we will see the main Drools Flow APIs and we will create examples that show the framework’s behavior.
Inside this module we will see more technical topics like:
- Extending our business process language to our specific domain situations using work items.
- Analyzing the interaction between Human Tasks and our processes.
- Analyzing the persistence configuration to support long running processes.
Module: Drools Fusion
This module will cover all the Event Driven Architecture and Complex Event Processing theoretical background. The attendees will learn about the concepts behind these new disciplines looking at multiples examples that introduce temporal constraints to our already described rules. In this module we will see how to write rules that will correlate and aggregate events in order to be able to react and fire some actions based in different patterns.
Training Agenda
Module: Drools Expert
Theoretical Background
- Artifitial intelligence
- Expert Systems
- Inference Engine
- Production Systems
- A Business Rule
- Drools Expert API sneak preview
Sub Section 2: DRL Syntax
- Rules execution cycle
- Rule Structure
Left Hand Side Conditions
- Conditional Elements
- AND
- OR
- eval
- Not
- ForAll
- from
- from collect
- from accumulate
- Accumulate custom functions
- Field Operators
Right Hand Side Actions
Rules Attributes
- no loop
- lock on active
- agenda group
- ruleflow group
Queries
Functions
API technical review
Sub Section 3: DSLs, Decision Tables, Templates and a RETE Algorithm review
DSLs, why we need them.
Decision tables.
RETE Algorithm review
- Node types
- Main life cycle
Module Drools Flow
- Business Process definition
- Business Process Management Discipline
- Business Process Modeling Notation
- Business Process Management Systems vs Suites
- BPM goals
- Comparison against classical approaches
- Business process technical structure
- Basic Nodes
- Advanced Nodes
Persistence for Long Running processes.
- Event Driven Architecture + Complex Event Processing theoretical introduction
- Events y Event Stream Modes
- Using the Inference Engine to group and correlate events (Entry Points + Temporal Operators) , Sliding Windows
- Session Clocks
- Temporal Accumulate Functions Example
- Common patterns to group and correlate events
- Entry Points in multiple threads
- HornetQ and Drools Fusion Events example
- Simulate events
- RETE and CEP
Drools Guvnor:
Rules Authoring
- Packages administration
- Object Model creation:
- Define a new model
- Upload an existing model
- Rules creation:
- DSL
- DRL Guided Editor
- DRL Text Editor
- Decision Tables (spreadsheets)
Administration:
- User’s permissions
- Categories
- Import/Export
- Status
Knowledge Agents configuration and usage
Notes about the training
The Drools Flow, Drools Fusion and Drools Guvnor modules require the Drools Expert module. This is because Drools Expert is the core engine where all the other modules work.


