关键词:
规则引擎
规则语言
业务规则
企业应用集成
摘要:
随着大型信息系统的逐步建设,软件工程项目的复杂度日益提高。为了提高可用性、可靠性、可扩展性,同时有效降低软件复杂度,某些业务逻辑必须从程序代码中分离出来。规则引擎就是为了分离业务规则而产生的一种工具。但由于标准化进程的缓慢,多种常用的、成熟的规则引擎产品却还处于各行其道的发展状态,这又制约了企业应用集成工作。
本论文意在通过分析研究规则引擎、规则语言及其相关技术,设计和实现一套基于Java规则引擎技术的扩展开发工具。该扩展开发工具采用了Java技术和XML技术,完全支持Java规则引擎标准化应用程序接口(JSR-94 API),并可以使用自定义的规则语言描述业务规则,业务规则被记录在规则文件中,核心程序通过读取和解析规则文件执行或转换业务规则信息,使各种流行的规则语言在没有标准化的情况下能够根据开发人员需求进行快速、自动的互相转换,从而为企业应用集成工作中对多种规则引擎的整合工作带来便利。
在陕西省农村党员干部现代远程教育项目中的实际应用表明本论文设计和实现的基于Java规则引擎技术的扩展开发工具,以及通用规则标记语言(CRML)有效地缩短了项目的建设周期、提高了系统的可用性、易用性、可维护性及可扩展性,达到了预期的设计目标。
由于这套基于Java规则引擎技术的扩展开发工具还出于初步研究阶段,虽然能够实现既定的功能,但所支持的规则语言种类有限。另外,本扩展工具提供的用户接口是应用程序接口(API),并没有提供相应的图形用户界面(GUI)。为此,在后续的研究过程中,将对支持更多规则语言以及以开发集成开发环境(IDE)插件的形式为用户提供图形界面等方面进行进一步研究。