Drools Training detailed agenda

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

Sub Section 1: Introduction  (Required)
Theoretical Background
  • Artifitial intelligence
  • Expert Systems
  • Inference Engine
  • Production Systems
Drools 5.x BLiP introduction
Drools Expert
  • A Business Rule
  • Drools Expert API sneak preview

Sub Section 2: DRL Syntax

Introduction

  • 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

Theoretical background
  • Business Process definition
  • Business Process Management Discipline
  • Business Process Modeling Notation
  • Business Process Management Systems vs Suites
  • BPM goals
Introduction to Drools Flow
  • Comparison against classical approaches
  • Business process technical structure
  • Basic Nodes
  • Advanced Nodes
Drools API
Process Runtime Analysis
Customizing your Business Process Modeling Language using Work Items
Human Tasks interactions

Persistence for Long Running processes.

Drools Fusion

  • 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.