规则引擎
第24卷第2期 2007年2月 计算机应用与软件
ComputerApplicationsandSoftwareVol124,No.2
Feb.2007
基于规则引擎的Web框架
尤俊欣 饶若楠 詹晓峰
(上海交通大学计算机科学系 上海200030)
摘 要 面对目前J2EE分布式应用越来越庞大易变的特点,提出了一种基于规则引擎的Web应用框架RStruts,论证了其处理应
用逻辑的高效性和维护软件的便捷性,最后给出了该框架的实现。关键词 规则引擎 Servlet Rete Struts框架
AWEBFRAMEWORKBASEDONRULEENGINE
YouJunxin RaoRuonan ZhanXiaofeng
(DepartmentofComputerScience,ShanghaiJiaotongUniversity,Shanghai200030,China)
Abstract InthefaceofthecharacteristicofcurrentJ2EEapplicationswhichismorecomplexandfastchanging,aWebapplicationframe2workRStruts,basedonruleengine,isproposedinthisarticleanditsefficiencyofhandlingbusinesslogicofapplicationma2intenanceareproved.FinallytheimplementationoftheframeworkisalsoKeywords Ruleengine Servlet Rete Strutsframework
1 引 言
当前基于B/S,Sun公司推出的J2EE(Java2enterpriseedition)开发模型是其中一个典型技术。然而随着商业应用规模的扩大和业务需求的更加易变,J2EE架构也暴露出它的一些不足。例如,典型的J2EE应用在Web层有两个不足之处。
第一,扁平化的业务请求/响应机制。客户端的每一个业务请求都对应到一个Servlet进行响应。在一个稍大的应用中,即使业务内容是分模块的,众多Servlet也是平等的部署在J2EE应用的Web层,只能通过J2EE框架以外的方法实现划分业务模块的思想。
第二,业务逻辑映射的硬编码,给以后的维护带来了困难。当用户的需求发生改变的时候,只有将Servlet的实现细节进行修改甚至重写才能达到改变需求的目的,当然这之后还需要在服务器上把应用重新部署。
有一些项目针对以上第一个问题做了改进,例如当前很流行的Struts框架,强化了Servlet模型的业务逻辑控制层,但只是部分的解决了第一个问题。为此我们提出了RStruts框架,将在人工智能领域的规则引擎放入J2EE应用架构的Web层,成为分流业务逻辑的框架的一部分,这样就能够较好的解决前面所述的两个问题。
。为了能够在商业应用中规范地使用不同公司或团体的产品,JavaCommunityProcess(简称JCP)组织制订了Java规则引擎的API标准,即JSR294规范。
JSR294标准中除了规则引擎和规则这两个概念,另外两个重要概念分别是规则执行集和规则会话。
规则执行集是规则的集合。JSR294标准并没有规定规则执行集的数据结构,但规则引擎的实现者一般给规则执行集以名字和说明等元信息。
规则会话是使用规则推理的客户端和规则引擎之间的一个运行时连接。一个规则会话必须和一个规则执行集联系起来,输入事实,在该规则执行集中进行匹配。和EJB中的SessionBean一样,规则会话包括有状态的和无状态的两种。
一个规则引擎至少包含两部分内容,一个是运行规则会话的运行时环境,另一个是管理规则执行集的管理部分。
任何一个规则引擎都必须很好地解决规则匹配的效率问题。J2EE应用不同于普通的智能推理,对规则引擎的执行效率有更高的要求,因为对J2EE架构的这个修改相当于在Servlet所处的Web层和EJB所处的业务模型层之间加了一个业务逻辑分流管理层。可能影响性能的两个因素是引擎本身的推理效率和引擎中调用业务处理的效率,而后者是根据应用业务模型的情况而定的,在这里不受控制。这里唯一需要证明的是规则引擎本身匹配的效率是可以满足应用要求的。
3 规则匹配算法
2 JSR294标准和规则引擎
规则引擎采用的规则匹配算法决定它的效率是否能满足需
规则引擎是利用产生式进行逻辑推导的工具,用来快速实
现规则的匹配和操作。规则引擎原本是用在专家系统中作为智能推理的组件程序,随着商业应用逻辑越来越复杂多变,一些公
收稿日期:2004-12-01。本文受国家自然科学基金(项目编号:
60173033)资助。尤俊欣,硕士,主研领域:分布计算技术。
基于规则引擎的Web框架 3页 1财富值 WEB搜索引擎的研究 6页 2财富值 Web搜索引擎评估技术研究 3页 1财富值 基于文本的Web图片搜索引擎... 11页 免费喜欢此...
提出了基于 Web 服务环境的规则引擎可视化建模方案,设计了可视化规则 建模工具的总体框架以及主要模块,使用 Java 语言和 GEF 图形建模框架实现了 基于 URML 建模语言...
基于Ofbiz 的 Web 框架 基于 Ofbiz 的 Web 框架目 录 1 Web 开发概述 .....基于 Ofbiz 开发,无疑会缩短开发周期,好的设计以及工作流和业务规则引擎的引入,...
规则引擎 框架 –by struct 1、框架概述 a) CTU 系统分为 3 部分: 1、事件注册器。 2、事件分析引擎。 3、风险处理系统。 b) 事件注册器:收集服务器信息...
例如,XOM 使用了功能强大的 XML 绑定 系统,使规则引擎能够直接对 XML 数据或 Web Service 所提供的数据进行操作。 3、通过嵌入方式,可以在任何 Java 应用程序中...
本文阐述了一个基于本体和jess规则引擎的语义Web服务实现方案。首先提出一种 ...的资金制定和研究Web服务 的相关标准和框架,并且不遗余力地在商业应用中推广Web...
如连接器、Web 服务和支持 Web 服务调用框架 (WSIF) 的逻辑 Web 服务层 服务...然后,BPEL 引擎 将针对规则引擎事实自动执行从基于 XML 的变量到基于 Java 的...
票价 规则运行引擎 计算 规则库 总体结构规则引擎 规则配置器 规则管理系统 数据库配置器 页面配置器 规则服务 JSP Web 应用框架 操作界面规则引擎 EJB XML 操作...
规则引擎由基于规则的专家 系统中的推理引擎发展而来。 2. 规则引擎 2.1 业务...简便的部署 ILOG Rule Team Server:这是一个 Web 环境,分布式业务团队可以通过...
热门文档