Master Drools Programming - Learn How to Write Drools Rules
Learn how to run and write rules for Drools Rule Engine using DRL files and how to work with spredsheet decision tables
Description
We learn Drools DSL (Drools programming language) and go over the most common DSL constructs. We move in small steps and gradually introduce new concepts so it is easier to follow even for a beginner.
This way we cover the most common Drools topics like:
what is a rule engine
what is the difference between a method and a rule
why one would use a rule engine instead of writing regular Java code
understanding of the when/then clauses
understanding in which order the rules fire and when the order is not known
how to control the execution using activation groups, agenda groups and salience
declaring variables in DRL
difference between stateless and stateful sessions
inserting facts and modifying existing objects in the session
cross products (similar to SQL join)
exists, forall and collect
using spreadsheet decision tables to create Drools rules
using templates for creating rules and feeding data into them from spreadsheets and other tabular data sources
complex event processing (CEP) in Drools
difference between fact and event
declaring facts and events in Java and inside DRL code
different rule execution modes (active/passive, cloud/stream, sequential)
time and length based sliding windows
entry-points
global variables
timers
how Drools internal algorithm Phreak works
This course comes with two Java projects that have all the code we work with during this course. You are encouraged to check out and run the code yourself to get a better understanding and experiment yourself with making changes to it. There are instructions on how to get the code running in IntelliJ, Eclipse, and VS Code.
After completing this course you have a better understanding of which kinds of problems could be solved with Drools and how to write the most common business rules in Drools DSL.
What You Will Learn!
- Program rules in Drools 7 domain specific language
- Learn Drools language constructs like insert, modify, exists, forall, insertLogical, salience, agenda-group etc
- Create spreadsheet decision tables and spreadsheet templates
- What is Complex Event Processing and how Drools handles it
- How to use rule templates (DRT or Freemarker) and run dynamically defined DRL
- Understand different Drools running modes (active/passive, cloud/stream, sequential)
- How Drools works internally and what to keep in mind for writing faster performing rules
Who Should Attend!
- Developers and system architects who need to understand what a rule engine is and which type of problems can be solved with it
- Anyone who needs to write rules in Drools DSL programming language
- Developers and system architects needing more info about adding Drools rule engine to their project
- Anyone who is considering using Drools for writing rules or processing stream of events