Course Outline
Introduction to Rule Engines
- Artificial Intelligence
- Expert Systems
- Defining a Rule Engine
- Rationale for Using Rule Engines
- Benefits of Rule Engines
- Appropriate Use Cases for Rule Engines
- Scripting vs. Process Engines
- Situations Where Rule Engines Are Not Suitable
- Strong and Loose Coupling
- Understanding Rules
Creating and Implementing Rules
- Fact Model
- KIE
- Versioning and Repository Management for Rules
- Exercises
Domain Specific Language (DSL)
- Substituting Rules with DSL
- Testing DSL-Based Rules
- Exercises
jBPM
- Integration with Drools
- Overview of Core BPMN Concepts
- Invoking Rules from Processes
- Grouping Rules
- Exercises
Fusion
- Understanding Complex Event Processing
- Overview of Fusion
- Exercises
Mvel - The Rule Language
- Filtering (fact type, 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 knowledge of an object-oriented programming language.
Basic understanding of the relational data model (RDBMS).
Familiarity with the 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.