论文部分内容阅读
作者参与研究开发的落料加工物流智能控制及仓储管理系统(Stream II)投入实际运行已经两年,较好的满足了企业流程管理的特殊需求,因而得到广泛应用。通过实际对用户的跟踪调查,提出了进一步改进完善的方向。本课题研究针对长期运行、维护工作所发现一个最为迫切解决的逻辑层设计缺陷问题而展开。由于企业母材类型的改变,库区设计的调整或业务种类的增多等原因,导致业务规则频繁改变。而原有系统的业务规则和代码高度耦合在一起,很难及时应对这种动态的业务规则调整,造成系统更新困难,即系统核心模块的灵活性和动态性不够。工作的重点是针对这一难点问题的改进,提出了基于规则引擎的解决方案,改造原有系统流程规则管理方法,目的是使其规则更加规范,系统灵活通用。规则引擎是一种嵌入在应用程序中的组件,基本思想是分离逻辑。本文首先对一般规则引擎基本理论和匹配算法进行探讨,并阐述了“基于顺序执行”的面向入库流程的规则引擎的工作机制,设计过程,以及原型系统的执行过程,证明了该引擎实用性,可以广泛用于有序规则流程管理系统。为进一步解决业务规则动态变化的问题,进而采用了Spring和Drools开源组件,充分运用两者分离代码和降低耦合的优势,对原有系统的入库模块的逻辑层进行二次开发,解决了可定义,可配置,可以实时修改规则的要求,因而更具灵活性与实用性,更容易满足智能化系统的要求。最后通过对传统开发方式和基于规则引擎的开发方式的程序进行测试比较。总结了规则引擎将主体业务逻辑处理从复杂的代码程序中分离出来的优势,使系统业务规则易更改易维护,为企业创建灵活、动态和快速响应的解决方案;其次规则引擎实现了规则的动态配置,使系统通用性更强,便于系统在其他同类企业中推广使用。