规则引擎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…


发表评论

电子邮件地址不会被公开。 必填项已用*标注