论文部分内容阅读
规则引擎能大大提高IT系统的灵活性、快速响应的能力,因此在很多系统中都得到了应用。但是,规则引擎也有自己的局限性,并不能适用于所有的系统。例如,在商业银行信贷系统中的规则更为复杂,因此对灵活性的要求会比其他系统更高。经过对规则引擎相关国内外文献进行研究,并根据作者在IT行业内的经验,发现已经有一些可以用于银行信贷系统的通用的规则引擎系统。但是,适用于特定业务场景的往往不是通用的方案,而是一个专用的解决方案。在规则引擎的基础之上,还需要对系统安全、数据安全、规则执行性能、数据仓库处理、可视化配置界面等详细的设计,还要对异常处理、日志记录、审计等进行考虑。本文首先对研究背景及意义进行说明,然后对现有文献中规则引擎相关定义及实现原理进行阐述。本文还比较了现有规则引擎,发现其只解决了银行信贷系统需求的一部分。在此基础之上,基于现有文献及作者自己提出的改进方案,设计并实现一种面向银行信贷的规则引擎系统(简称本系统)。在本系统中,重新设计实现了规则引擎相关功能,大大增加了规则配置的灵活性和易用性,提供了规则嵌套、函数、自动异常处理、执行路径记录、在线规则测试等功能。作者完成的主要工作如下:(1)负责系统需求分析。包括系统的使用群体,执行环境,对灵活性的要求,对性能、可扩展性等方面的需求的调研分析,以及信贷系统使用规则引擎的场景和该场景下规则引擎的功能需求分析。(2)负责系统设计。针对规则分类管理设计规则包、规则参数管理功能;针对易用性,设计规则模板、规则配置功能;针对规则数据存储,设计数据存储结构;针对解析编译、代码生成、规则执行、测试等,设计本系统的整体方案。(3)负责本系统核心功能实现。本系统采用更面向业务人员的视角,和只能由技术人员操作的现有规则引擎形成鲜明对比,并且系统具有自动异常处理、自动类型转换、数据权限控制及执行路径记录等功能,无需在规则配置时考虑过多细节。通过适配器模式,本系统可根据需要生成不同类型的代码,很好地满足了信贷系统的要求。