几种开源规则引擎(BRE)的比较

来源:互联网 发布:千百度实体店开闭数据 编辑:程序博客网 时间:2024/05/16 15:38

 1 产品构成比较
1. JBoss Rules
JBoos Rules产品主要包括以下几个部分:
1. The Rule Engine
2. The Rule Language
3. Decision Tables
4. The Rule Workbench (IDE)
5. The Java Rule Engine API
6. Deployment and Testing

Rule Engine引擎的构成分为两部分,Authoring and Runtime
Authoring Components如下图所示:

Runtime Components结构如下图所示
 

2. OpenResults
模块组成如下:
  

3. OpenLexicon
OpenLexicon的模块如下图所示:

2 关键产品特性比较
2.1 规则表示法
2.1.1 JBoss Rules

JBoss Rules有三种规则的表示法
1. The Rule Language
2. Domain Specific Languages
3. Decision Tables
还有XML格式的
XML Rule Language
2.1.2 OpenRules
OpenRules只有Decision Table形式
2.1.3 OpenLexicon
OpenLexicon不是代码生成(code-generator)的软件,通过Web界面配置规则,并保存在数据库中。
2.2 规则算法和方法
2.2.1 JBoss Rules
JBoss Rules的规则采用RETE算法--ReteOO(Rete algorithm for Object Oriented systems),并且实现了问题域(problem domain)的Domain Specific Languages(DSL)
2.2.2 OpenRules
JBoss采用Rete算法
2.2.3 OpenLexicon

2.3 规则开发
2.3.1 JBoss Rules
JBoss提供以下工具实现规则的开发
1. Rule IDE
2. spreadsheets (that is Excel, OpenOffice)
3. XML
这些工具完全集成在Eclipse中
2.3.2 OpenRules
OpenRules采用Excel,OpenOffice等工具开发规则,并提供Eclipse plugin创建和管理项目,但是并不提供Rule IDE.
2.3.3 OpenLexicon
OpenLexicon提供Web Based Wizard,可以发布规则为WebService,同时Eclipse plugin创建WSDL和数据类型(XSD's)。
2.4 规则知识库
2.4.1 JBoss Rules

JBoss Rules的规则知识库是文本方式/XML和Excel(Decision Tables)方式的,不支持把知识库放在数据库中。
2.4.2 OpenRules
规则知识库是Excel(Decision Tables)方式的,不支持把知识库放在数据库中
2.4.3 OpenLexicon
规则知识库保存在数据库中,并支持MySQL, Oracle, MS Sql Server, TimesTen等。
2.5 Web化支持程度
2.5.1 JBoss Rules
不支持Web编辑,提供Rule IDE, Excel等工具
2.5.2 OpenRules
不支持Web编辑,提供Excel等工具
2.5.3 OpenLexcicon
支持Web编辑
2.6 产品易用性
2.6.1 JBoos Rules
JBoss Rules提供的Rule IDE,可以方便地编辑DRL和DSL文件。
使用Excel或者OpenOffice等工具编辑Decision Table
2.6.2 OpenRules
OpenRules使用 Excel或者OpenOffice等工具编辑Decision Table,尽管OpenRules声称所提供的工具非常方便,可以面向非开发人员,但仍然需要有一定的技术基础。
2.6.3 OpenLexicon
OpenLexicon提供基于Web-Form的Wizard。尽管OpenLexicon声称提供面向非开发人员的工具,但是仍然需要有一定的技术基础,如数据库等。
2.7 体系架构支持
2.7.1 JBoss Rules

JBoss Rules可以通过XML,支持Java, python or groovy
JBoss Rules是纯J2EE架构,并借助与JBoss AS, Hibernatre, BMP等其他框架,开发强大的系统。
2.7.2 OpenRules
OpenRules支持J2EE架构,并声称在以下平台通过测试:IBM WebSphere,BEA WebLogic,和Apache Tomcat.

2.7.3 OpenLexicon
OpenLexicon默认支持Tomcat,MySQL,对其他平台的支持需要配置。
2.8 支持的标准
2.8.1 JBoss Rules
Java Rules Engine API
JSR-94
2.8.2 OpenRules
Java Rules Engine API
JSR-94
2.8.3 OpenLexicon
不支持公开的标准
3 关于二次开发
3.1 中文规则

以上三种软件都不支持中文表达的规则表示,在这个层面上难度是一样的
3.2 基于Web的规则定制界面
OpenLexicon本身就是基于Web界面的,但是目前这个软件提供的界面并不适合非技术人员使用,可以让非开发人员使用。
OpenRules只提供了Excel方式的规则编辑,但同时也提供了用Excel支持的Web Form,也就是说使用Excel制作一个Web Form,生成WEB页面中。Excel是非常容易使用的工具,但是嵌入WEB页面中会使Excel失去优势。
JBoss Rules提供Excel方式的Decision Table, 与OpenRules类似,不适合将Excel放入Web页面中。但JBoss Rules提供的Drl和Dsl文件的IDE工具可以做为Java Applet嵌人WEB页面。
综上所述,如果开发面向没有技术背景的用户使用的Web页面,这三个软件都需要有一定的开发工作量,相比较而言OpenLexicon是最容易的,JBoss次之,OpenRules最差
3.3 软件适用范围
OpenRules提供Decision Tables快速地加入应用软件,JBoss Rules对于专家系统来说是非常好的,如果开发业务事物中的UseCase,客户或者合作伙伴集成的软件,则OpenLexicon比较合适。

3.4 软件的成熟度
在这三个软件中OpenRules是最成熟的,使用范围也最广,OpenRules次之,OpenLexicon是比较新的软件,其前景还不知道。

 

原创粉丝点击