论文摘要
当今商业市场的变化越来越频繁,现代化企业为了始终保持竞争力,必然要求其应用系统紧跟市场变化,并快速做出反应。相对于传统的把业务逻辑硬编码到应用系统的做法,基于规则引擎的开发方法可以实现业务逻辑与应用逻辑的分离。在这种新的架构下,业务规则可以被建立、修改及删除而无需重新编译部署应用系统,这大大提高了企业对市场变化的反应速度。在一些行业领域,由于本身的跨地域性,其应用系统往往也是分布式的,而近年越来越引人注目的面向服务架构在为分布式应用系统实现松散耦合、提高重用性方面提供了强大的支持。因而,如果把业务规则技术与面向服务的架构结合,将使企业应用系统更加具有弹性及适应性。然而,当前大多数规则引擎缺少远程调用的接口,在分布式应用方面存在着缺陷,无法被有效地集成。本文从实际情况出发,结合现有规范和技术,对规则引擎在分布式条件下的应用进行了研究。基于Java Specification Request(JSR)94规范,结合Web服务技术,实现了一个规则引擎集成平台,突破了传统规则引擎只能在本地使用的局限性,扩大了其应用范围,同时也达到了业务规则的复用。本文对分布式规则执行进行了研究分析,基于规则引擎集成平台,实现了一个分布式规则引擎原型。若干个分布式规则引擎联合使用,将形成一个规则引擎的分布式网络,使规则引擎具有分布式规则执行的能力,扩展了规则推理的范围。本文主要完成了以下几个方面的工作:①剖析了本课题研究的背景及意义,并对国内外的研究现状进行了分析,明确了当前规则引擎在分布式条件下无法有效应用的问题。提出针对这些问题建立一个规则引擎集成平台,并在该集成平台的基础上实现一个分布式规则引擎原型的研究目标。②综合介绍了规则引擎的相关技术,在此基础上设计实现了一个规则引擎集成平台。该集成平台基于JSR94规范,结合了Web服务技术,主要由JSR94客户端、JSR94服务端和规则服务工具包三大部分组成。利用该平台,可便利地调用远程规则引擎,实现业务规则的有效复用。③基于规则引擎集成平台,本文在开源规则引擎Drools的基础上,对分布式规则引擎进行了研究,实现了一个原型系统。