Course Outline
Short Introduction to Rule Engines
- Artificial Intelligence
- Expert Systems
- What is a Rule Engine?
- Why use a Rule Engine?
- Advantages of a Rule Engine
- When should you use a Rule Engine?
- Scripting or Process Engines
- When you should NOT use a Rule Engine
- Strong and Loose Coupling
- What are rules?
Creating and Implementing Rules
- Fact Model
- KIE
- Rules visioning and repository
- Exercises
Domain Specific Language (DSL)
- Replacing rules with DSL
- Testing DSL rules
- Exercises
jBPM
- Integration with Drools
- Short overview of basic BPMN
- Invoking rules from a process
- Grouping rules
- Exercises
Fusion
- What is Complex Event Processing?
- Short overview on Fusion
- Exercises
Mvel - the rule language
- Filtering (fact type, field
- Operators
- Compound conditions
- Operators priority
- Accumulate Functions (average, min, max, sum, collectList, etc....)
Rete - under the hood
- Compilation algorithm
- Drools RETE extensions
- Node Types
- Understating Rete Tree
- Rete Optimization
Rules Testing
- Testing with KIE
- Testing with JUnit
OptaPlanner
- An overview of OptaPlanner
- Simple examples
Integrating Rules with Applications
- Invoking rules from Java Code
Requirements
Basic knowledge of any object oriented programming language.
Basic knowledge of relational data model (RDBMS).
Basic idea of Business Process Modelling.
Testimonials (5)
The training definitely backfilled some of the gaps in my knowledge left by reading the OptaPlanner userguide. It gave me a good broad understanding of how to approach using OptaPlanner in our projects going forward.
Terry Strachan - Exel Computer Systems plc
Course - OptaPlanner in Practice
Shared examples of every function and/or operators are all well explained.
Brian Amlon - Thakral One, Inc.
Course - Introduction to Drools 7 for Developers
Doing hands-on and/or use case activities.
Brian A - Thakral One, Inc.
Course - jBPM and Drools
I liked how the trainer was very eager to answer all of our questions
Matthew Nelson Manuel - Thakral One, Inc.
Course - jBPM for Developers
Exercises and solving problems in groups when the problems were more difficult.