0
Rulebase Technology Rolando Hernandez Enterprise Rules Architect CEO, BIZRULES [email_address] www.BizRules.com www.Visibl...
Traditional applications using hard-coded rules Client Applications 1 st  Tier Database 2 nd  Tier Code Business Rules Dat...
Traditional Procedural Language Traditional Procedural language is sequential, forward only Once you get an answer, the re...
Declarative (Rule-based) Language Cycle #1 Ran 2 rules Fired 1 rule (R100)  Cycle #2 Ran 1 rule Fired 1 rule  (R10) Cycle ...
Rulebases are the next step in application development productivity Emerging Current Classic Operating Environment Operati...
Why this is important <ul><li>Rules steer business decisions </li></ul><ul><li>Rulebases store and share rules </li></ul><...
Upcoming SlideShare
Loading in...5
×

Rulebase Technology

1,005

Published on

On Declarative vs. procedural programming, and the Rete algorithm. (note: Download the file and start Powerpoint slide show to see animatons and high quality graphics; the slideshare viewer messes up some of the graphics)

Published in: Technology, Business
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
1,005
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
68
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide
  • Transcript of "Rulebase Technology"

    1. 1. Rulebase Technology Rolando Hernandez Enterprise Rules Architect CEO, BIZRULES [email_address] www.BizRules.com www.VisibleKnowledge.com
    2. 2. Traditional applications using hard-coded rules Client Applications 1 st Tier Database 2 nd Tier Code Business Rules Data Rule Engine 3 rd Tier Client Applications 1 st Tier Modern applications using business rules
    3. 3. Traditional Procedural Language Traditional Procedural language is sequential, forward only Once you get an answer, the rest of the rules fire anyway You have to loop a few times to get around sequence problem <ul><li>Suppose your rules are out of order? </li></ul><ul><li>Problems arise if sequence is incorrect </li></ul><ul><li>What if you have to add a new rule? </li></ul><ul><li>Developer has to figure out what order to put it in </li></ul><ul><li>Adding a new rule could break existing rules </li></ul>Loop #1 Ran 10,000 rules 1 rule fired (R100) Loop #2 Ran 10,000 rules 2 rules fired (R10, R1000) Total Ran 20,000 rules 3 rules fired CONCLUSION: Approve DATA: X is TRUE R1: IF a is true THEN b is true R10: IF y is true THEN z is true R100: IF x is true THEN y is true R1000: IF z is true THEN “APPROVE” R10,000: IF d is true THEN “DENY”
    4. 4. Declarative (Rule-based) Language Cycle #1 Ran 2 rules Fired 1 rule (R100) Cycle #2 Ran 1 rule Fired 1 rule (R10) Cycle #3 Ran 1 rule Fired 1 rule (R1000) Total Ran 4 rules Fired 3 rules CONCLUSION: APPROVE Search for rules that match the data R100: IF z is true THEN “APPROVE” Execute those rules R100 fires because z is true DATA: X is TRUE Y is TRUE Z is true Search for rules that match the data R10: IF y is true THEN z Execute those rules R10 fires because Y is true DATA: X is TRUE Y is TRUE Search for rules that match the data R50: IF x is false THEN “Deny” R100: IF x is true THEN y is True Execute those rules R50 does not fire R100 fires because x is true DATA: X is TRUE R1: IF a is true THEN b is true R10: IF y is true THEN z is true R100: IF x is true THEN y is true R1000: IF z is true THEN “APPROVE” R10,000: IF d is true THEN “DENY” Rules are in no particular order
    5. 5. Rulebases are the next step in application development productivity Emerging Current Classic Operating Environment Operating Environment Operating Environment Database Engine Database Engine Applications Rules Engine Applications Applications DATA CODE RULES CODE RULES CODE RULES DATA DATA
    6. 6. Why this is important <ul><li>Rules steer business decisions </li></ul><ul><li>Rulebases store and share rules </li></ul><ul><li>Rule engines drive business strategy </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×