130 likes | 498 Views
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.
E N D
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