Short introduction to rule engines
- Short history or Expert Systems and Rules Engine
- What is Artificial Intelligence?
- Forward vs Backward chaining
- Declarative vs procedure/oop
- Comparison of solutions
- When to use rule engines?
- When not to use rule engines?
- Alternatives to rule engines
- Declarative vs Traditional Fact Model
- Executing simple rules with simple tests
- Authoring Assets
- Decision tables
- Rule Templates
- Guided rule editor
- Testing, limits and benefits
- Developing simple process with rules
Writing rules in Eclipse
- Stateless vs Stateful sessions
- Selecting proper facts
- Basic operators and Drools specific operators)
- Basic accumulate functions (sum, max, etc...)
- Intermediate calculations
- Inserting new facts
- Exercises (lots of them)
Ordering rules with BPMN
- Ruleflow vs BPMN 2.0
- Executing ruleset from a process
- Rules vs gateways
- Short overview of BPMN 2.0 features (transactions, exception handling)
- Comprehensive declarative business logic in Drools
Domain Specific Languages (DSL)
- Creating new languages
- Preparing DSL to be used by manages
- Basic Natural Language Processing (NLP) with DSL
- Strategies for writing DSL from rules
- Strategies for writing rules from DSL written by analysts
- Test strategies (test per case or per rule)
- Executing test automatically
Though not required, programming skills in any language strongly recommended (SQL, Java, C#, VBA, etc...)
David is personable, friendly, and very knowledgable about the subject matter
Kelly Gale, Global Knowledge Network Training Ltd
Filip was kind and patient and was generally responsive about questions and help.
- Sandia National Labs
I loved that he was able to see our machines to help us when we got stuck.
Megan Burns - Sandia National Labs
Exercises and solving problems in groups when the problems were more difficult.
Randy Comer Comer - Sandia National Labs
The instructor was EXTREMELY knowledgeable and had very good interaction with the class. I'm glad he was able to see our screens and give us help when needed.