论文部分内容阅读
在IT系统中,规则引擎作为一种灵活的组件能够将业务规则从硬代码模块中剥离出来,实现了业务规则的单独创建与维护。业务规则一般是指与业务相关的规章制度、操作规范、行业标准以及管理章程等,可以对业务逻辑进行定义和约束并起到维持业务结构或影响业务行为的作用。规则引擎的规则语法接受曲线陡峭,业务人员难以快速创建并维护规则,往往需要业务人员与开发人员一起编写规则。另一方面,规则引擎API调用过程较为复杂,大量fact对象存在时引擎执行速度相当缓慢。本文采用面向对象的软件工程方法,从用例模型入手,识别出不同应用场景下的领域主题,分析与之相匹配的规则引擎应用接口,针对规则在实际应用过程中难以编写与理解的问题,利用JIDE组件形成人性化操作界面,并通过Java反射机制获取数据值对象的待核查属性列表,根据每个属性选取其规则匹配项,达到自动生成规则文件的目的,简化了业务人员学习与管理规则的过程。同时,针对大量数据核查速度缓慢的问题,提出了封装DroolsAPI的有效方案,将规则基本信息作为一个类,包含了规则核查类型、创建时间、创建人、数据类型、规则文件、结果变量名称等,再将执行规则所需要的全部动作作为一个类,包含了设置全局变量,插入事实对象,执行全部规则,回收内存等。并将回收内存的方法包含在Java多线程里面,减少频繁回收内存的动作,提高了规则执行动作。实验结果表明,本文所采用的规则文件封装方案,缩短了业务人员学习规则语法的时间,简化了规则编写与维护过程,解决了业务人员不能很快着手编写规则的问题。本文所采用的规则引擎API封装方案,简化了开发人员调用引擎API的过程,提高了引擎的执行速度。本文对推动规则引擎的普及,将规则引擎更加广泛地应用到工业界中具有一定的实际意义。