8082  Reviews star_rate star_rate star_rate star_rate star_half

Drools Business Rule Management System

Drools is an open-source Business Rules Management Software (BRMS) written in Java. This Drools Business Rule Management System training course teaches attendees how to write, refine, and deploy...

Read More
Course Code JAV-418
Duration 3 days
Available Formats Classroom

Drools is an open-source Business Rules Management Software (BRMS) written in Java. This Drools Business Rule Management System training course teaches attendees how to write, refine, and deploy Drools rules.

Skills Gained

  • Understand what Drools is
  • Understand Rules and the Rule Engine
  • Work with the components in Drools
  • Understand the architecture of Drools
  • Write Drools code with real-time use cases
  • Understand Stateful Vs Stateless sessions
  • Understand the Drools language syntax

Prerequisites

All students must have basic Java programming.

Course Details

Course Outline

Drools Introduction

  • What is a Rule-Based Engine?
  • Advantages of the rule engine
  • When not to use rule engine?
  • What is Drools?
  • Environment setup
  • First Drool program
  • Creating Drools project with Eclipse Plugin
  • Creating Rules-Based Maven Project from scratch

Drools Rules

  • Rules basic structure
  • Rules writing
  • Rules syntax
  • Left-Hand Side (When) syntax
  • The Right-Hand side (then)
  • Declarative approach
  • Imperative versus Declarative implementation
  • Rules execution chaining
  • Atomicity of rules
  • Ordering of rules
  • Rule execution life cycle
  • Complex Rule and multiple Rule
  • Timers and Calendars
  • Defining our rules and facts
  • Translating rules into Drools Rule Language
  • Selecting proper facts
  • Basic operations and Drools specific operators
  • Basic accumulate functions (sum, max, etc.)
  • Intermediate calculations
  • Inserting new facts
  • Ordering rules
  • Backward chaining
  • Working with facts
  • Manipulating facts in code
  • Manipulating facts in rules

Drools Runtime

  • KieModel and KieContainer
  • KieModel configuration (KieBases, KieSession, and stateless KieSession)
  • Stateless Knowledge Session
  • Stateful knowledge Session

Improving Rule Syntax

  • Modifying the data in the working memory
  • The insert keyword
  • The modify and update keywords
  • The delete/retract keywords
  • Rule Attributes
  • Controlling which rule will execute
  • Splitting rule groups with agenda group
  • Other rule groups
  • Rule dates management
  • Special Drools operations
  • Boolean and numeric operations
  • Regex operations
  • Collections (contains, memberOf)

Understanding KIE Sessions in Detail

  • Stateless and stateful Kie Sessions
  • Kie Runtime components
  • Globals
  • Way to parameterize the condition of a pattern
  • Way to improve new information in a session in LHS
  • Way to collect information from a session
  • Kie Base components
  • Functions
  • Custom operators
  • Custom accumulates functions

Conclusion

Software Requirements

  • A recent version of Windows, macOS, or Linux with at least 8 GB RAM
  • JDK 8 or later
  • The Java tool the students are likely to use after the class (Eclipse or IntelliJ IDEA are recommended)
  • Other free software - please contact us if you have purchased this class