Download presentation
Presentation is loading. Please wait.
Published byHarvey Hawkins Modified over 9 years ago
1
Drools Sofia Jonsson sofia.jonsson@callista.se
2
CADEC2006, Drools, Slide 2 Copyright 2006, Callista Enterprise AB Agenda Rule Engines - History/Background. Problem Definition Online Loan Application – an Example. –Writing Rules. –Drools API. Summary & Conclusion
3
CADEC2006, Drools, Slide 3 Copyright 2006, Callista Enterprise AB Rule Engines - Basics Evaluates and executes business rules. Separates the business logic from the application code. –Compare to a database A sophisticated interpreter of if-then statements. –Declarative programming.
4
CADEC2006, Drools, Slide 4 Copyright 2006, Callista Enterprise AB Rule Engines – Short History Expert systems invented during AI research in the 70 th and 80 th. RETE algorithm invented 1979. Interest has grown in later years. –JSR 94 – Java Rule Engine API –Open source implementations –Drools part of JEMS (JBoss Enterprise Middleware System)
5
CADEC2006, Drools, Slide 5 Copyright 2006, Callista Enterprise AB The Problem Increasing demand for agile and flexible applications. –Rapid moving markets –Different countries –Standard applications Developers aren’t business domain experts. Complex business rules. –Complexity tend to grow over time.
6
CADEC2006, Drools, Slide 6 Copyright 2006, Callista Enterprise AB Domain Specific Languages Used for a very specific problem domain. Made possible by Drools’ pluggable semantics framework. By specifying your own XML Schema you get rules validation. –Non programmers can edit the rules! Combine with default semantics.
7
CADEC2006, Drools, Slide 7 Copyright 2006, Callista Enterprise AB Domain Specific Languages - Ex Sverige Main applicant must be living in Sweden.
8
CADEC2006, Drools, Slide 8 Copyright 2006, Callista Enterprise AB Summary & Conclusion Consider using a rule engine: –If the application must be flexible. –If domain experts should update the business rules. –If the application logic is very complex. Using a rule engine does not come without a cost. Consider development/test process. Alternative approaches: –Configurable threshold values –Scripting languages, e.g. Groovy
9
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.