Course Outline
Introduction to Rule Engines
- Artificial Intelligence
- Expert Systems
- Understanding Rule Engines
- Benefits of Using a Rule Engine
- Key Advantages of Rule Engines
- Appropriate Scenarios for Rule Engines
- Rule Engines vs. Scripting or Process Engines
- When to Avoid Using a Rule Engine
- Strong vs. Loose Coupling
- Defining Rules
Creating and Implementing Rules
- Fact Models
- KIE
- Version Control and Repositories for Rules
- Practical Exercises
Domain Specific Language (DSL)
- Replacing Standard Rules with DSL
- Testing DSL Rules
- Practical Exercises
jBPM
- Integration with Drools
- Overview of Basic BPMN
- Triggering Rules from Within a Process
- Grouping Rules
- Practical Exercises
Fusion
- Understanding Complex Event Processing
- Overview of Fusion
- Practical Exercises
Mvel - The Rule Language
- Filtering (by fact type or field)
- Operators
- Compound Conditions
- Operator Precedence
- Accumulate Functions (average, min, max, sum, collectList, etc.)
Rete - Under the Hood
- Compilation Algorithm
- Drools RETE Extensions
- Node Types
- Understanding the Rete Tree
- Rete Optimization
Rules Testing
- Testing with KIE
- Testing with JUnit
OptaPlanner
- Overview of OptaPlanner
- Simple Examples
Integrating Rules with Applications
- Invoking Rules from Java Code
Requirements
Fundamental understanding of any object-oriented programming language.
Basic knowledge of the relational data model (RDBMS).
Familiarity with the core concepts of Business Process Modelling.
Testimonials (3)
The trainer was so knowledgeable about the subject
Herman - Megatech Systems (Pty) Ltd
Course - jBPM for Developers
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
The training is very interesting and can be useful on our future projects and the trainer is always active on answering our questions and helping us when we are having issues on our end.