資源描述:
《drools規(guī)則引擎介紹》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、Drools規(guī)則引擎議程什么是規(guī)則引擎?Drools規(guī)則引擎介紹信用卡申請實例介紹Drools實現(xiàn)信用卡申請規(guī)則編寫客戶端測試信用卡申請規(guī)則2什么是規(guī)則引擎?規(guī)則引擎是一種嵌套在應用程序中的組件,它實現(xiàn)了將業(yè)務規(guī)則從應用程序代碼中分離出來。規(guī)則引擎使用特定的語法編寫業(yè)務規(guī)則,規(guī)則引擎可以接受數(shù)據(jù)輸入、解釋業(yè)務規(guī)則、并根據(jù)業(yè)務規(guī)則做出相應的決策。3引入規(guī)則引擎后帶來的好處:實現(xiàn)業(yè)務邏輯與業(yè)務規(guī)則的分離,實現(xiàn)業(yè)務規(guī)則的集中管理可以動態(tài)修改業(yè)務規(guī)則,從而快速響應需求變更使業(yè)務分析人員也可以參與編輯、維護系統(tǒng)的業(yè)務規(guī)則使用規(guī)則引擎提供的規(guī)則編輯工
2、具,使復雜的業(yè)務規(guī)則實現(xiàn)變得的簡單Drools規(guī)則引擎介紹Drools是Jboss公司旗下一款開源的規(guī)則引擎,它完整的實現(xiàn)了Rete算法;提供了強大的EclipsePlugin開發(fā)支持;通過使用其中的DSL(DomainSpecificLanguage),可以實現(xiàn)用自然語言方式來描述業(yè)務規(guī)則,使得業(yè)務分析人員也可以看懂業(yè)務規(guī)則代碼。最新版本Drools5提供了基于WEB的BRMS——Guvnor,Guvnor提供了規(guī)則管理的知識庫,通過它可以實現(xiàn)規(guī)則的版本控制,及規(guī)則的在線修改與編譯,使得開發(fā)人員和系統(tǒng)管理人員可以在線管理業(yè)務規(guī)則。4Ec
3、lipsePlugin版規(guī)則設計器Drools的Guvnor信用卡申請實例用戶填寫申請的個人信息。然后提交到系統(tǒng)進行初審。初審的職責是通過已有的規(guī)則對用戶信息合法性和真實性進行檢查。對于合法的用戶提交到信用卡發(fā)放部門,使用規(guī)則來決定要發(fā)放的信用卡額度等信息。通知申請人申請結果5申請流程圖信息提交檢查通過檢查不通過發(fā)送通知用戶需要輸入的個人信息用戶需要輸入的信息包括:姓名、性別、年齡、學歷、電話、所在公司、職位、月收入、是否有房、是否有車、是否有信用卡等。6點擊“申請”按鈕將申請信息提交到后臺,后臺啟動審批流程,通過規(guī)則先對信息的合法性進行
4、驗證,對于驗證合格申請系統(tǒng)將調(diào)用相關規(guī)則發(fā)放相關的信用卡。用戶信息合法性檢查規(guī)則規(guī)則編號名稱描述1檢查學歷與薪水1如果申請人既沒房也沒車,同時學歷為大專及以下,并且月薪少于5000,那么不通過。2檢查學歷與薪水2如果申請人既沒房也沒車,同時學歷為大?;虮究?,并且月薪少于3000,那么不通過。3檢查學歷與薪水3如果申請人既沒房也沒車,同時學歷為本科以上,并且月薪少于2000,同時之前沒有信用卡的,那么不通過。4檢查申請人已有的信用卡數(shù)量如果申請人現(xiàn)有的信用卡數(shù)量大于10,那么不通過。7申請人信息提交到系統(tǒng)后,首先調(diào)用這些規(guī)則進行驗證,只有這
5、些規(guī)則全部通過,才能進入發(fā)放信用卡的流程,否則申請結果就是不通過。合法用戶的信用卡發(fā)放規(guī)則規(guī)則編號名稱描述1規(guī)則1如果申請人有房有車,或者月收入在20000以上,那么發(fā)放的信用卡信用額度為15000。2規(guī)則2如果申請人沒房沒車,但月收入在10000~20000之間,那么發(fā)放的信用卡信用額度為60003規(guī)則3如果申請人沒房沒車,月收入在10000以下,那么發(fā)放的信用額度為3000。4規(guī)則4如果申請人有房沒車或者是沒房但有車,月收入在10000以下,那么發(fā)放的信用額度為5000。5規(guī)則5如果申請人有房沒車或者是沒房但有車,月收入在10000~
6、2000之間,那么發(fā)放的信用額度為8000。8以上5條規(guī)則為驗證通過的用戶發(fā)放信用卡時使用,主要是用來決定信用卡的發(fā)放額度Drools實現(xiàn)信用卡申請規(guī)則采用Drools規(guī)則引擎來計算復雜的信用卡審批與發(fā)放規(guī)則通過Drools提供的BRMS——Guvnor實現(xiàn)規(guī)則的管理與動態(tài)更新通過Drools提供的RuleFlow(規(guī)則流)實現(xiàn)對信用卡審批規(guī)則的編排與執(zhí)行9系統(tǒng)架構Drools實現(xiàn)的信用卡自動審批流程“檢查申請人信息是否合法”:用來存放檢查申請人信息是否合法的四條規(guī)則,對申請人信息進行合法性檢查?!芭袛嗍欠窈戏ā保号袛喈斍吧暾埲诵畔⑹欠窈?/p>
7、法,如果合法那么將選擇“合法”線路,否則選擇“非法”線路。“合法申請人信用卡發(fā)放”:存放發(fā)放信用卡的五條規(guī)則,對申請人的信息進行檢查,從而為申請人提供合適的信用卡額度。兩個結束節(jié)點分別用來結束合法與非法的信用卡申請信息。10利用Drools提供的RuleFlow設計的信用卡審批流程,該流程的主要作用是用來對信用卡的合法性檢查規(guī)則及信用卡發(fā)放規(guī)則的執(zhí)行順序進行編排。Drools實現(xiàn)的用戶信息合法性檢查規(guī)則點擊查看用戶信息合法性檢查規(guī)則的完整源文件11/**如果申請人既沒房也沒車,同時學歷為大專及以下,并且月薪少于5000,那么不通過。*/r
8、ule"檢查學歷與薪水1"ruleflow-group"applycheck"lock-on-activetruesalience1whenCurrentuser-degreeis1-hasc