1.什么是规则引擎? 规则引擎是一种嵌套在应用程序中的组件,实现了将业务规则从应用程序代码中分离出来。规则引擎使用特定的语法编写业务规则,规则引擎可以接受数据输入、解释业务规则、并根据业务规则做出相应的决策。 ![]() 2.应用背景
为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。
市场要求业务规则经常变化,IT系统必须依据业务规则的变化快速、低成本的更新。 为了快速、低成本的更新,业务人员应能直接管理IT系统中的规则,不需要程序开发人员参与。 3.优点
实现业务逻辑与业务规则的分离,实现业务规则的集中管理
可以动态修改业务规则,从而快速响应需求变更 使业务分析人员也可以参与编辑、维护系统的业务规则 使用规则引擎提供的规则编辑工具,使复杂的业务规则实现变得的简单 目前开源的代表是Drools,商业的代表是iLog。 3.Drools规则引擎介绍
Drools是Jboss公司旗下一款开源的规则引擎,有如下特点;
完整的实现了Rete算法; 提供了强大的Eclipse Plugin开发支持; 通过使用其中的DSL(Domain Specific Language),可以实现用自然语言方式来描述业务规则,使得业务分析人员也可以看懂业务规则代码。 提供了基于WEB的BRMS——Guvnor,Guvnor提供了规则管理的知识库,通过它可以实现规则的版本控制,及规则的在线修改与编译,使得开发人员和系统管理人员可以在线管理业务规则。 目前版本5.1.1 3.1组件
Drools 是业务逻辑集成平台,被分为4个项目:
Drools Guvnor (BRMS/BPMS):业务规则管理系统 Drools Expert (rule engine):规则引擎,drools的核心部分 Drools Flow (process/workflow):工作流引擎 Drools Fusion (cep/temporal reasoning):事件处理 ![]() 3.2Guvnor
何时使用Guvnor:
管理规则的部署/版本 不同人员访问/编辑规则 没有现有的管理规则的工具 业务规则多 3.3Guvnor的安装
下载地址:http:///drools/downloads.html
1。jBoss 直接下载drools-5.0-guvnor-standalone.zip ,解压 2。Tomcat 下载drools-5.0-guvnor.zip,解压 将drools-guvnor.war拷贝至tomcat_home/webapps 将tomcat_home/webapps/drools-guvnor/ WEB-INF/lib/el-api-1.2.jar移动至tomcat_home/lib下 3。Guvnor的数据库配置
使用缺省的derby
使用其他关系数据库,配置步骤如下: 启动Guvnor,生成缺省的repository.xml 修改components.xml文件,将<component name=“repositoryConfiguration”> 中路径改成自己使用的路径 将repository.xml拷贝至自己使用的路径下 修改repository.xml中 <Workspace name=“${wsp.name}”>下的<PersistenceManager> Guvnor的数据库配置…
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
<param name="driver" value="com.mysql.jdbc.Driver"/> <param name="url" value="jdbc:mysql://localhost:3306/drools"/> <param name="user" value="root"/> <param name="password" value="root"/> <param name="schema" value="mysql"/> <param name="schemaObjectPrefix" value="guvnor_"/> </PersistenceManager> ![]()
|
|