規則引擎ILOG JRULES 開發基礎教程2

        

注意:中文補丁的安裝在使用本教程時是必需的,因為這裡的中文補丁並不只是對工具菜單的中文化,而且也是對規則語法的中文化,如不安裝補丁,語法與中文語法會有差異。因為有的時候規則是需要手工編寫,所以對英語不是那麼自信的同學還是建議使用中文版。

未安裝中文補丁:

       

已安裝中文補丁:

    

    安裝好後,即可在開始菜單中打開Rule Studio(zh_CN

       

 

 

 

3.1 準備BOM

        在編寫任何規則之前必須準備好規則中要用到的詞彙,規則的詞彙在業務對象模型中定義。業務對象模型 (BOM) 定義了規則工件中可使用的操作和實體。規則編寫基於BOM,語法由IRL定義。BOM的定義又依賴於規則執行的XOM(物理對象模型eXecutable Object Model),XOM可以是java類、XML、WSDL。BOM是通過XOM映射定義的虛擬的規則實體。BOMXOM的映射不一定必需是一對一的映射,一個BOM可以定義XOM中不存在的屬性,只要有明確的BOM屬性定義即可,但這樣的屬性只可以在規則內部使用。 

規則:

 如果
    ‘Customer Info’  的
 age 小於18 
 那麼
    設置
 ‘Customer Info’  的當前
 result “REJECT” ;


 物理對象模型:

public class CustomerInfo implements Serializable{

/**

 * @author SHIXIN747

 */

private static final long serialVersionUID = -580320839476217224L;

private String custName;                 //客戶姓名

private int age;                //年齡      

private String sex;                      //性別

private ApplicationInfo applicationInfo; //當前 申請

private List historyLoanList;            //歷史貸款列表信息

private Date birthDay;                   //生日

private double verifiedIncome;           //核實收入     

private boolean risk;                    //是否存在風險

private String rusult;                   //評估結果

setters  and  getters ……

}

3.1.1 準備XOM

操作過程就是在Rule Studio創建普通的Java類:

文件–>新建–>其他–>選擇Java項目–>下一步–>輸入項目名稱–>完成。

本教程中新建的XOM代碼如下:

註:若規則項目使用EJB調用,Java類需實現Serializable接口,並生成serialVersionUID。

代碼1

package com.paic.cfs.application;

import java.io.Serializable;

public class ApplicationInfo implements Serializable{                    

/**

 * @author SHIXIN747

 */

private static final long serialVersionUID = 3228480902812648982L;

private String statusCode;        

private String followCode;

private String loanCode;

public String getStatusCode() {

return statusCode;

}

public void setStatusCode(String statusCode) {

this.statusCode = statusCode;

}

public String getFollowCode() {

return followCode;

}

public void setFollowCode(String followCode) {

this.followCode = followCode;

}

public String getLoanCode() {

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營