欢迎来到天天文库
浏览记录
ID:9085105
大小:340.50 KB
页数:5页
时间:2018-04-17
《规则引擎在数据处理的应用03》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、旗正规则引擎在数据处理的应用目前问题需求是目前信息技术面临的最大问题l需求沟通不畅。客户、管理人员、开发人员、测试人员理解可能不一致,容易误解。l需求变更反应缓慢。客户理解上的小的需求变更,技术实现上可能影响巨大。l对技术开发人员依赖过大。最详细的、精确的需求最终在程序员脑中或者在代码中。l技术寄希望于限制需求或者预先封装变化点,但却总是对需求变化力不从心。l当业务系统正式上线后,当业务需求变化时,业务部门总是希望技术可以马上实现传统解决办法l采用优秀框架解决缺点:•对框架的依赖大,框架的设计影响其适用面。•对架构师要求高,需要全面了解框架才能进行优秀的设计。•对业务熟悉
2、要求高,需要预先设计并封装变化点。l采用工作流解决缺点:•粗粒度的流程图难以定义复杂的逻辑处理。•对于流程节点的逻辑处理,仍然需要编写代码实现。l采用传统规则引擎解决缺点:·•Rete算法的复杂性决定了配置规则的学习曲线很高。•需要优秀的系统分析师规划设计实现规则的结构。•需要优秀的架构师来优化并考虑规则执行性能。•对数据结构的变化无能为力。采用旗正规则引擎解决l业务达成目标•将业务逻辑的实现白盒化,采用业务语言来展现业务逻辑的实现•实现业务规则的完全配置化(无编码)实现•增强对系统中应用的业务规则的控制和管理•业务人员可以清晰了解已实现的规则,并且清楚变更规则所需要的时
3、间和工作量l技术达成目标•实现业务逻辑和数据结构描述与实现一一对应。实现业务逻辑变更和实现变更基本同步。•强制分离业务逻辑、数据存储、界面表单、流程控制•简化琐碎的处理业务逻辑开发工作,减少沟通时间•可以将精力集中在架构设计、数据结构设计、算法设计、高层业务分析等更有技术含量的工作l支持变化•不光支持业务规则处理逻辑的动态变化•支持调用接口数据结构的变化。•支持数据库源的结构变化•支持XML结构变化•支持Excel源的结构变化l适用面•支持批量数据处理和传递•支持数据字典等定义•支持常量结构定义•支持子规则、循环类规则l性能分析•顺序执行:配置阶段确定执行路径•静态化:编
4、译成静态可执行代码运行•引擎最小化:减少占用资源,提高稳定性l易用性分析•支持所有结构复制、粘贴•可视化处理数据•简化自动化测试•流程图方式展现规则流程•最终执行Java代码实时展现什么是规则引擎?规则库规则运行引擎计算折扣计算规则机建费规则燃油计算规则票价计算规则业务应用业务规则规则引擎输出:航班、票价执行规则输入:日期、出发地、目的地运价计算BRMS(BusinessRuleManagementSystem)规则库管理系统,俗称规则引擎规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策
5、。接受数据输入,解释业务规则,并根据业务规则做出业务决策。总体结构规则引擎规则配置器页面配置器数据库配置器规则配置器表格操作类规则包HTML规则引擎规则管理系统EXCEL操作类POJOAJAX数据库配置器XML操作类EJBJSP规则引擎页面配置器数据库操作类公共类规则服务Web应用框架数据存储业务逻辑操作界面业务规则管理系统规则引擎比较较点开源Drools其他商用引擎旗正VisualRules特点算法采用reta算法进行规则匹配采用reta算法进行规则匹配保持传统逻辑处理思路,顺序执行容易理解和跟踪错误执行采用解析执行的方式解析执行或者静态化运行编译规则包后,动态加载执行
6、速度最快数据库引用Hibernate等ORM库引用数据库操作对象动态OR映射,捆绑到规则包中数据库结构也可配置变化接口传入java对象,支持JSR94传入java对象或xml,支持JSR94支持任何对象和数值,不支持JSR94规则包对外数据接口可动态变化据处理直接调用外部定义Java类外部Java类映射成BOM调用内置支持表格、数据字典、树结构、XML、Soap等基本无需编程支持
此文档下载收益归作者所有