JEEConf JBoss Drools

1,804 views
1,747 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,804
On SlideShare
0
From Embeds
0
Number of Embeds
866
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

JEEConf JBoss Drools

  1. 1. JBoss Drools
  2. 2. Who am I?● Victor Polischuk● A man with a terrible character.● Java architect, team leader and coach.● 10+ years of software development experience.● 8+ years of Java experience.● 2+ years of Drools usage.● Employed at Infopulse
  3. 3. To the Point
  4. 4. Business Flow
  5. 5. Examples: Accounting Cash Aid Salary Fees Income Taxes Laws
  6. 6. Examples: Sales Warehouse VIP Order Terms Destination
  7. 7. Examples: Insurance Accident Payment History Attributes VIP Fee Case Vogue Statistics
  8. 8. Sudden Change Request?
  9. 9. Sudden Change Request?
  10. 10. What Next?
  11. 11. Level 10
  12. 12. if (…) { if (…) { if (…) {…} if (…) {…} else {...} } else if (…) { if (…) {…} else {...} } else { throw new Exception(...); }} else if (…) { if (…) { if (…) {…} } else { if (…) {…} } if (…) { if (…) {…} else {...} } else { if (…) {…} }} else { if (…) {…} else {...}}
  13. 13. Level 40
  14. 14. Rule RuleConfigContext RuleRunner Data
  15. 15. Level 80
  16. 16. Production Rule System
  17. 17. Rule KnowledgeBaseWorkingMemory RuleEngine Facts
  18. 18. Expert SystemDecision Block 1 RuleDecision Block RuleDecision Block RuleDecision Block Rule Result
  19. 19. AssumptionsTime Redundancy Structural Similarity
  20. 20. Rete AlgorithmDr Charles L. Forgy 1974, 1979, 1982
  21. 21. JBoss DroolsDrools Guvnor Drools Expert Drools Flow Drools FusionDrools Planner Drools Grid http://www.jboss.org/drools/team.html
  22. 22. LHS? RHS?Left Hand Side Right Hand Side
  23. 23. LHS? RHS?Left Hand Side Right Hand Side IF THEN
  24. 24. LHS? RHS?Left Hand Side Right Hand Side IF THEN WHEN THEN
  25. 25. Rule Structurerule “<unique name>”[<rule attributes (grouping, priority, etc)>]when[<LHS (can be zero or more conditions)>]then[<RHS (can be zero or more commands)>]end
  26. 26. Demo
  27. 27. Links● https://github.com/victor-cr/jeeconfua-drools-example● https://github.com/victor-cr/uadev-drools-example● http://www.jboss.org/drools/documentation

×