快速业务通道

Java规则引擎与其API(JSR-94) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
目的实现,其中有的已经支持JSR94,有的正朝这个方向做出努力,列出如下:

3.1 Java规则引擎商业产品

Java规则引擎商业产品主要有(Jess不是开源项目,它可以免费用于学术研究,但用于商业用途则要 收费):

Java规则引擎与其API(JSR-94)(4)

时间:2011-11-02 IBM 李国乐

3.2 Java规则引擎开源项目

开源项目的实现主要包括:

Drools - Drools规则引擎应用Rete算法的改进形式Rete-II算法。从内部机制上讲,它使用了和Forgy 的算法相同的概念和方法,但是增加了可与面向对象语言无缝连接的节点类型。

Mandarax 基于反向推理(归纳法)。能够较容易地实现多个数据源的集成。例如,数据库记录能方便 地集成为事实集(facts sets),reflection用来集成对象模型中的功能。目前不支持JSR 94

OFBiz Rule Engine - 支持归纳法(Backward chaining).最初代码基于Steven John Metsker 的"Building Parsers in Java",不支持JSR 94

JLisa - JLisa是用来构建业务规则的强大框架,它有着扩展了LISP优秀特色的优点,比Clips还要强大 .这些特色对于多范例软件的开发是至关重要的.支持JSR 94

其它的开源项目实现有诸如Algernon, TyRuBa, JTP, JEOPS, InfoSapient, RDFExpert, Jena 2, Euler, JLog, Pellet OWL Reasoner, Prova, OpenRules, SweetRules, JShop2等等。

4、Java规则引擎API(JSR-94)

4.1 简介

过去大部分的规则引擎开发并没有规范化,有其自有的API,这使得其与外部程序交互集成不够灵活。 转而使用另外一种产品时往往意味需要重写应用程序逻辑和API调用,代价较大。规则引擎工业中标准的 缺乏成为令人关注的重要方面。2003年11月定稿并于2004年8月最终发布的JSR 94(Java规则引擎API)使 得Java规则引擎的实现得以标准化。

Java规则引擎API由javax.rules包定义,是访问规则引擎的标准企业级API。Java规则引擎API允许客 户程序使用统一的方式和不同厂商的规则引擎产品交互,就像使用JDBC编写独立于厂商访问不同的数据库 产品一样。Java规则引擎API包括创建和管理规则集合的机制,在 Working Memory中添加,删除和修改对 象的机制,以及初始化,重置和执行规则引擎的机制。

4.2 简介Java规则引擎API体系结构

Java规则引擎API分为两个主要部分:运行时客户API(the Runtime client API)和规则管理API(the rules administration API)。

4.2.1规则管理API

规则管理API在javax.rules.admin中定义,包括装载规则以及与规则对应的动作(执行集 execution sets)以及实例化规则引擎。规则可以从外部资源中装载,比如说URI,Input streams, XML streams和 readers等等.同时管理API提供了注册和取消注册执行集以及对执行集进行维护的机制。使用admin包定义 规则有助于对客户访问运行规则进行控制管理,它通过在执行集上定义许可权使得未经授权的用户无法访 问受控规则。

管理API使用类RuleServiceProvider来获得规则管理(RuleAdministrator)接口的实例.规则管理接口 提供方法注册和取消注册执行集.规则管理器(RuleAdministrator)提供了本地和远程的 RuleExecutionSetProvider.在前面已提及,RuleExecutionSetProvider负责创建规则执行集.规则执行集 可以从如XML streams, input streams等来源中创建.这些数据来源及其内容经汇集和序列化后传送到远 程的运行规则引擎的服务器上.大多数应用程序中,远程规则引擎或远程规则数据来源的情况并不多见.为 了避免这些情况中的网络开销,API规定了可以从运行在同一JVM中规则库中读取数据的本地 RuleExecutionSetProvider.

规则执行集接口除了拥有能够获得有关规则执行集的方法,还有能够检索在规则执行集中定义的所有规 则对象.这使得客户能够知道规则集中的规则对象并且按照自己需要来使用它

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号