Successfully reported this slideshow.

Rules with Drools


Published on

Presentation which we gave at OSS Camp 2009 - NSIT Delhi

  • Be the first to comment

Rules with Drools

  1. 1. Rules with Drools <ul><li>Gaurav Kohli </li></ul><ul><li>Saket Vishal </li></ul>
  2. 2. Recognize this? 3.1732
  3. 3. What about this? Akshay Kumar, 32, Chandini Chowk, Delhi, 110006
  4. 4. Lets talk about Akshay Kumar
  5. 5. Some rules on names <ul><li>First Name + Last Name </li></ul><ul><li>First Name + First Name + Last Name </li></ul><ul><li>(First Name)+ + Last Name </li></ul><ul><li>First Name + First Name </li></ul><ul><ul><li>Saket Vishal </li></ul></ul>
  6. 6. Implementing these rules in Java
  7. 7. Demo
  8. 8. Problems in implementing with Java <ul><li>Frequent changes to rules(conditions) ‏ </li></ul><ul><li>Lack of centralization of rules </li></ul><ul><ul><li>Difficult to analyse and manage </li></ul></ul><ul><li>Non technical people(Business Analysts ..) can't create/update rules </li></ul><ul><li>Performance </li></ul>
  9. 9. Introducing Drools <ul><li>Basically, a rule engine </li></ul><ul><li>Rule Engine: Platform that provides functionality to manage rules </li></ul><ul><li>Rule: An if else condition (Business Logic) ‏ </li></ul>
  10. 10. Rules in Drools
  11. 11. Demo
  12. 12. The Big Picture
  13. 13. Back to rules in Drools <ul><li>DSL – Domain Specific Languages </li></ul><ul><ul><li>Human readable rules </li></ul></ul>
  14. 14. Demo
  15. 15. Behind Drools <ul><li>RETE </li></ul>
  16. 16. Behind Drools
  17. 17. When not to use Drools If your business logic is well defined/static and doesn't change often, you don't need to change rules at run-time. If your rules are simple, self-contained, and usually spanning only a single object (for example, a check that user's age is less than 21). If you have a memory constrained environment. If your project is a one-shot effort and it will never be used again or maintained over time.
  18. 18. Alternatives to Drools ILOG (now IBM)—JRules Fair Isaac—Blaze Advisor Corticon's BRMS, Haley (now Oracle) Business Rules Engine Pegasystems—PegaRules, Production Systems Technologies—OPSJ CLIPS OpenRules or Jess
  19. 19. Advanced Drools <ul><li>Drools Flow </li></ul><ul><ul><li>Loan approval </li></ul></ul><ul><li>Drools Fusion </li></ul><ul><ul><li>Fraud detection </li></ul></ul><ul><li>Drools Guvnor </li></ul><ul><ul><li>BRMS </li></ul></ul>
  20. 20. ?
  21. 21. References <ul><li>Drools </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li>Drools JBoss Rules 5.0 Developer's Guide </li></ul></ul><ul><li>RETE </li></ul><ul><ul><li>http:// </li></ul></ul>
  22. 22. Thank You!