Decision Engine
E N D
Presentation Transcript
Decision Engine Oakkar Oakkar Fall 2010
The Need for Decision Engine • Automate business processes • Implement complex business decision logic • Separation of rules and process • Business Requirements Vs. Algorithm
Problems • Processes and decisions are not well represented in traditional programming language like C# or Java • Enterprise systems usually have multiple layers • Presentation • Business Logic <- constantly evolving • Data • Code becomes overwhelmingly complex and hard to maintain • Nested if-else, switch, for, while • Change something and break something else
Drools • Business Rules Engine + Expert System • Products • Drools Expert (Rule Engine) • Drools Guvnor (BRMS/BPMS) • Drools Flow (Process/Workflow) • Drools Fusion (Event processing/temporal reasoning) • Drools Planner
Drools Expert • Development Platform • Rules • Decision Tables • Rule Templates • Domain Specific Language
Drools Guvnor • Business Rules Management System • Web-based interface • Integration Issues
Advantages • Easier to understand • Improved Maintainability • Deals with evolving complexity • Flexibility • Reasonable Performance • Reusability • Requirements can be naturally translated into rules
Disadvantages • Hard to debug • Memory consumption • Interaction of rules can be very complicated
When not use a rule engine • Small project less than 20 rules • Business Logic is well defined and static • If your business rules are simple • High performance is your primary • Limited resources