Overview
This 3 days course is aimed to introduce Drools 6 to developers. This course doesn’t cover drools integration, performance or any other complex topics.
Requirements
Programming skills in any language strongly recommended (SQL, Java, C#, VBA, etc…)
Course Outline
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
KIE
- Authoring Assets
- Workbench Integration
- Executing rules directly from KIE
- Deployment
- Decision tables
- Rule Templates
- Guided rule editor
- Testing
- Work Items
- Versioning and deployment
- A bit more about repository (git)
- 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
- Salience
- 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
- Fusion (CPE), temporal reasoning (for events to happen after, between, etc…)
- Fusion operators
- Example in Event Schedules
- Unit testing
Optional Topics
- OptaPlanner
- jBPM
- Drools and integration via web services
- Drools integration via command line
- How to change rules/process after deployment without compiling