Course Outline
Introduction to Rule Engines
- Artificial Intelligence
- Expert Systems
- Understanding Rule Engines
- Benefits of Using a Rule Engine
- Advantages of Rule Engines
- Appropriate Use Cases for Rule Engines
- Scripting and Process Engines
- When to Avoid Using a Rule Engine
- Strong and Loose Coupling Concepts
- Defining Rules
Creating and Implementing Rules
- Facts and Models
- KIE
- Versioning and Repository Management for Rules
- Practical Exercises
Domain-Specific Language (DSL)
- Replacing Standard Rules with DSL
- Testing DSL-Based Rules
- Practical Exercises
jBPM
- Integration with Drools
- Overview of Core BPMN Standards
- Invoking Rules Within Processes
- Grouping and Organizing Rules
- Practical Exercises
Fusion
- Understanding Complex Event Processing
- Overview of Fusion Capabilities
- Practical Exercises
Mvel - The Rule Language
- Filtering by Fact Type and Field
- Operators
- Compound Conditions
- Operator Precedence
- Accumulate Functions (including average, min, max, sum, collectList, etc.)
Rete - Under the Hood
- Compilation Algorithms
- Drools RETE Extensions
- Node Types
- Understanding the Rete Tree Structure
- Rete Optimization Techniques
Testing Rules
- Testing with KIE
- Testing with JUnit
OptaPlanner
- Overview of OptaPlanner
- Illustrative Examples
Integrating Rules with Applications
- Invoking Rules from Java Code
Requirements
Fundamental understanding of an object-oriented programming language.
Familiarity with the relational data model (RDBMS).
Basic 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.