规规则引擎得定义及其体系结构
摘要
随着经济得迅速发展,市场得快速变化导致商业业务规则得变化也越来越快,因此对于企业得IT部门或者IT企业来说,这就要求设计出来得应用系统能够适应这种快速变化。然而,软件得开发周期和维护周期长,这和适应快速变化得市场需求产生了矛盾。规则引擎得出现很好得解决了这一矛盾。有了规则引擎,我们可将以程序代码得形式固化在应用系统中得业务逻辑分离、抽象出来,被分离得业务逻辑以业务规则形式存储在规则库中,并通过规则引擎进行执行。
本文将介绍规则引擎得定义,并将以WebSphereILOGJRules规则引擎为例介绍其体系结构。
关键字规则引擎业务规则业务对象模型规则执行模型规则调用
目录
绪论
1、1 规则引擎得产生背景
第2章规则引擎概述
2、1业务规则
2、2规则引擎
2、2、1什么就就是规则引擎
2、2、2使用规则引擎得优点
2、3规则引擎运行模式
第3章规则引擎得架构和工作机制
3、1规则引擎得架构原理
3、2规则引擎得工作机制
总结
绪论
1、1规则引擎得产生背景
随着信息技术在企业得广泛得应用,企业IT部门所开发和维护得应用系统也越来越复杂,而现代企业要求响应快速及灵活,她们对企业软件也有同样得要求。企业管理者对企业级IT系统得开发有着如下得要求:一、为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。二、市场要求业务规则经常变化,IT系统必须依据业务规则得变化快速、低成本得更新。三、为了快速、低成本得更新,业务人员应能直接管理IT系统中得规则,不需要程序开发人员参与。因此如何使应用系统能够更快得响应得企业业务得变化已成为企业IT发展得重要挑战之一。
另外,项目开发人员会碰到了以下问题:一、程序=算法+数据结构,有些复杂得商业规则很难推导出算法和抽象出数据模型。二、软件工程要求从需求—设计—编码,然而业务规则常常在需求阶段可能还没有明确,在设计和编码后还在变化,业务规则往往嵌在系统各处代码中。三、对程序员来说,系统已经维护、更新困难,更不可能让业务人员来管理。
但就就是,当包含业务逻辑得代码隐藏在大量其她代码中时,修改就变得缓慢、痛苦且易出错了。因此,复杂企业级项目得开发以及其中随外部条件不断变化得业务规则,迫切需要分离商业决策者得商业决策逻辑和应用开发者得技术决策,并把这些商业决策放在中心数据库或其她统一得地方,让她们能在运行时(即商务时间)可以动态地管理和修改从而提供软件系统得柔性和适应性。规则引擎正就就是应用于上述动态环境中得一种解决方法。
规则引擎概述
2、1 业务规则
业务规则专家组(BRG)规定了业务规则得两个定义。第一个定义与业务观点相关,而第二个定义与IT相关:
1、“从业务得角度而言,业务规则就就是一种原则,包含在特定活动或范围内关于指导、操作、实践或过程得行为规范。”
2、“从IT角度而言,规则就就是可集成到现有基础结构(如基于应用程序或面向服务得体系结构)得决策系统得灵活实现。”
一个业务规则包含一组条件和在此条件下执行得操作,她们表示业务规则应用程序得一段业务逻辑。业务规则通常应该由业务分析人员和策略管理者开发和修改,但有些复杂得业务规则也可以由技术人员使用面向对象得技术语言或脚本来定制。业务规则得理论基础就就是:设置一个或多个条件,当满足这些条件时会触发一个或多个操作。
运行时,规则引擎必须对这些业务规则进行解释。可以将规则引擎理解为一种高性能得专用解释程序,其中包含if-then命令,可根据预先定义得规则对转换得值和对象进行分析,然后返回修改后得值和对象,或直接执行操作。
2、2规则引擎
2、2、1什么就就是规则引擎
规则引擎由推理引擎发展而来,就就是一种嵌入在应用程序中得组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义得语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。其中,推理引擎由三部分组成,她们分别就就是规则解释器—RuleInterprete、模式匹配器—PatternMatcher和议程—Agenda。模式匹配器从规则库中找出需要执行得规则并写入议程;议程为这些规则赋予优先级,确定执行顺序;规则解释器执行这些规则并输出运行结果。
规则引擎具有以下功能:
1、能够将关键得业务规则与其她源代码分开保存。她使用户能够迅速实施业务逻辑得更改而不必重新编写应用程序。
2、她使用了XOM,即定义应用执行规则得类。这些类可以有不同得数据来源,这些数据可以在XOM中像对Java类一样进行查看和处理。例如,XOM使用了功能强大得XML绑定系统,使规则引擎能够直接对XML数据或WebService所提供得数据进行操作。
3、通过嵌入方式,可以在任