- Basic knowledge of Java
DAY 1
Overview
• Why Rule Engine and when to use one
• Methods vs Rules
• Pattern matching algorithm
• MVEL vs Java
• Prerequisites and Installation
• Drools Architecture & modules
• Forward & backward chaining
Anatomy of a Rule: Structure, Attributes, Facts & Conditional Elements
• Clauses and Syntax
• Packages ,namespaces & Facts
• Salience
• Facts- Insert, Update, Modify and Set
Intro to Red Hat Decision Manager & Decision Central
• Installation
• Overview of components & features
• Writing rules & guided rules in RHDM
• Using test scenarios to test rules
Proof of Concept
• Implement a simple business rule on Decision Manager
• Implement guided rules using different rule attributes
• Use salience in guided rules for a business use case
DAY 2
Decision Tables
• Attributes of Decision tables and structure
• CSVs, XL Sheets Design guided rules in RHDM
• Design guided decision tables in RHDM
• Importing XL sheets and exporting Guided Decision Tables
• Testing decision tables using test scenarios
Business Rule Tasks
• Introduction to processes & tasks
• Rule flow groups
• Using rules in Business Processes
Rule Templates
• Rule templates
• Designing guided rule templates in RHDM
Proof of Concept
• Implement a use case using guided decision tables along with testing
• Implement Business Rule Tasks for a use case
DAY 3
Executing Rules in Eclipse
• Setting up Drools in Eclipse & Eclipse plugin set up
• Creating rule based projects
• Writing and testing rules on Eclipse
• Testing rules with JUnit
Kie Session
• What’s a Kie session?
• Stateful vs Stateless approach
DMN
• Introduction to FEEL language and rule expressions
• Modelling DMNs
• Developing a simple process Invoking already existing DMN component into another
• Testing DMNs through Redhat Decision Manager
• Executing DMN services( exposed APIs ) using postman.
Domain Specific Language
• Use of DSL in Drools
• Design rules using DSL
Proof of Concept
• Implement DSLs for a use case
• Implement a use case using DMNs
• Execute rules in Eclipse using Rules Run time
DAY 4
Rules: Diving deeper
• Grouping mechanisms for conflict resolution - Agenda Group, Activation Group, Rule Flow Group
• Lock-on-active vs No-loop
• Eval and Inline Eval
• Eval to check size of an Array List
• Retracting facts
• Querying rule engine
• Using Global
• Pass ArrayLists to Rules
Interfaces & Listeners
• Interfaces & Listeners
• KieRuntime Interface
• Agenda Event Listener, Process Event Listener
• Property Change Support
Proof of Concept
• Test Lock-on-active with rules
• Implement selective rule firing using grouping mechanisms
DAY 5
Testing Rules through REST apis
• Using KIE Rest apis to test rules
• Using Rule Services Client
Drools + Spring Boot Integration
• Integrating Drools in a Spring boot application
• Exposing rules through a Rest api
• Deployment
Best Practices & Real World Implementation
• Storing rules
• End-to-end implementation of rules & designing rules
• Deployment
• Performance issues
• Asynchronous vs Synchronous design
Proof of Concept
• Implement a real world case study using all the concepts you have learn so far