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