浅谈规则引擎系统

引言

随着企业信息技术的广泛应用和信息化进程的不断推进,企业IT部门所开发和维护的业务应用系统也越来越复杂,如何使应用系统快速响应企业业务的变化已成为企业IT发展的重要挑战,而业务规则管理系统(Business Rule Management System)是解决上述问题最佳的解决方案,BRMS也称为规则引擎系统,将以程序代码方式固化在应用系统的业务逻辑分离抽象出来,将业务逻辑以业务规则的形式存储于规则库,使得业务规则作为企业的一部分重要资产,并通过规则引擎(Rule Engine)执行业务规则。至今,国内企业对于规则引擎的应用已逐渐成熟,规则引擎的应用领域也在不断的延伸。其中,国内金融业对于规则引擎的应用和实施尤为的广泛和深入,各保险公司、银行纷纷实施规则引擎系统。

规则引擎原理

规则引擎由基于专家系统的推理引擎发展而来,规则引擎系统通常包括规则库、待处理池、推理引擎(模块匹配及执行模块),在执行过程中数据被送入到待处理池,推理引擎根据具体的算法将待处理池中的数据对象和规则库中的规则进行比较,得到符合条件的匹配规则并执行。作为BRMS核心的规则执行引擎,规则条件匹配的算法及效率即决定了规则引擎的性能。

规则引擎系统作用

通俗地讲,规则引擎是根据提供的数据和设定的规则给出问题的答案,然后执行相应的操作。

规则引擎系统的作用如下:

  • 将业务规则与业务系统分离,解耦合;
  • 实现自然语言描述规则逻辑,业务人员易于理解;
  • 可视化的规则定制、审批、查询及管理;

规则引擎系统实践及解决方案

为更好的将业务系统与规则引擎系统解耦合,使得两个系统能够响应需求相互独立的变化,可以介于业务系统与规则引擎系统之间,通过第三方系统平台实现两者之间的数据交互,由第三方系统平台来完成工作如下:

  • 接收业务系统的请求,将业务数据报文进行准备,即通过与数据库之间的交互,规范数据为规则引擎格式报文;
  • 调用规则引擎,提供调用规则引擎的接口,传递业务数据对象参数至规则引擎系统,接收规则引擎执行的结果,返回结果至业务系统;

通过对第三方平台的引入,亦实践了面向服务架构(SOA)思想,第三方系统平台既能作为业务系统的Web Service服务端接收业务系统请求,又能作为规则引擎系统的Web Service客户端对规则引擎系统进行规则执行请求。

小结

从我近年的从业经验来看,保险行业的规则引擎系统实践已经相当成熟,负责开发实施规则引擎系统应用的软件公司也都各自有了比较成熟的第三方系统平台及其相应的解决方案和经验,随着规则引擎应用成功案例的增多,开发实践经验的不断积累,规则引擎系统应用的领域会不断的被延伸,保险、电信、银行等领域对规则引擎的应用也会更加的成熟,规则引擎市场前景总体向好。

猜你喜欢

转载自l-wing.iteye.com/blog/1308472