规则引擎与工作流的区别在于?

lvyuetian 2007-11-23 01:40:48
小弟想请教一下各位达人,规则引擎与工作流的区别在于什么地方?权限?角色?还是其它什么地方?
还有一些问题如下:
1、规则引擎到底是一个什么?除了“关注点分离”将业务规则独立于源程序以外,它的本质到底是一种什么样的东西?
2、在哪里可以找到近年来规则引擎研究现状方面的文章?小弟找资料的能力实在是太弱了,在IEEE,GOOGLE,CNKI上面都没有找到相关的文章,实在需要各位达人出手相救啊!相似的问题还存在于RETE算法的研究现状和规则语言方面。

十分感谢各位,由于小弟刚刚接触,问题方面可能提的太幼稚了些,还请各位达人谅解。
再次感谢各位!
...全文
6033 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
guobotry 2012-01-04
  • 打赏
  • 举报
回复
jBPM5
xuezhonglinyu 2011-06-10
  • 打赏
  • 举报
回复
工作流引擎是宏观控制
规则引擎是微观控制
Fqjoyloverr 2010-07-26
  • 打赏
  • 举报
回复
规则指所有的业务逻辑,包括工作流程,因此规则引擎中可以包含工作流。
规则引擎可以分离逻辑部分进行单独处理。是工作流的一部分
VISUAL RULE 规则引擎是解析、调用、执行规则包的服务,采用java语言来实现规则引擎,并且提供了java类接口、Socket、Servlet、SOAP等多种外部调用接口。其实Java类接口是所有这些接口的核心,其他接口其实也是通过Java类接口来加以调用。考虑到最小化规则引擎,因此规则包的解析工作已经放在规则编辑时,预先进行了处理。规则引擎只处理规则包的调用和执行,同时为规则包用到的数据库接口、Excel接口、内存表接口、Xml接口提供缺省的实现。
sdhsdhsdh_sdh 2009-01-09
  • 打赏
  • 举报
回复
我的天呐,我导师现在让我们搞这方面的东西,很郁闷,什么也不会!
kelly1199 2008-10-27
  • 打赏
  • 举报
回复
规则指所有的业务逻辑,包括工作流程,因此规则引擎中可以包含工作流。
icefirefdp 2008-02-06
  • 打赏
  • 举报
回复
规则和流程怎么放到一起区分,问题问的就不对
kelvinchu 2008-01-10
  • 打赏
  • 举报
回复
这两个引擎的重要作用之一是模块分离。
JBPM把工作流程分离出来,比如一个请假流程,从员工申请->经理批准->提交人事部备案,这个流程就可以用xml来描述,其中每一步都可以用java class或者页面实现。在协同开发的时候就很有好处,因为不懂IT的人也可以描述流程,而具体操作的步骤就由IT人员来实现。
drools把规则分离出来,比如在“经理审批”这一步,定义一个规则,普通员工由基层经理审批而基层经理由总经理审批,这个规则就可以独立出来,和其它规则一起独立维护。
windspy 2007-12-15
  • 打赏
  • 举报
回复
两者各有侧重:

JBPM包括其他工作流引擎,最大的特点是实现了业务流程状态的等待。

Drools等规则引擎专注于提供方面化的业务规则定义接口。

两者联系:

drools在尝试更丰富的规则语言定义之外,正尝试rule flow方向,并有统一业务规则与流程作为一个平台存在的想法。详细见这里

至于Eric所说的 ">没了规则,就没有流程",我觉得有待商榷。流程或者其他应用可以主动使用规则,但是可能没有必然联系。

论文方面可以试图查找scholar或者cite,我觉得挺多相关的paper和patent。
Erice 2007-12-14
  • 打赏
  • 举报
回复 1
1.工作流引擎:其实是类似于在我们生活中处理一些事情的流程,即使在过程中不会出现更换人员的情况,只要是办理流程的转移或变化,都可以将它纳入到这个范畴!例子:当你去办理事情,首先是A君和你交涉,当处理完成后,又有B君和你洽谈,这就是一个典型的流程。每个流程都可以拆分为小的子流程,它代表了一种数据或信息的流向;JBPM用全对象化的方式,模拟了这种形态。通过提供的ProcessDefine,Take,Token,Action,Event等持久化地对象,来推动流程在计算机里的实现;

2.规则引擎:首先规则是指的是办理事情的一些符合自身的条件。是万物生存的根本。规则可以促使形成工作流程,同时是支配流程的最要因素。没了规则,就没有流程;规则引擎就是通过提供的多种方式,来解释调用者设定这些规则后,需要完成的事情;

比较

工作引擎:JBPM和WF:JBPM设计精辟(我曾单步跟进过JBPM的源码),但是有一致命的缺陷:由于采用对象间的关系设定,对象设计过于追求完美,造成提取一些信息组合时显得很繁琐。同时也会造成多并发状态中产生数据表的死锁。(Sql server 下尤为明显) 对于JBPM的评价,可能是我只懂了些皮毛,扭曲了一些东西吧。
Wf:MS在fx3.0推出的后时代的3剑客之一。经过一些使用,我更觉得它适合于代码间的逻辑流程。希望他愈来愈好;
Drool:这个东西好!

以上只是个人见解,请各位达人拍砖
lvyuetian 2007-12-03
  • 打赏
  • 举报
回复
我在工程中使用到的是drools,如richmondlau 所说,我也就是用到它的黑箱处理,但jbpm我还没有接触过
richmondlau 2007-12-03
  • 打赏
  • 举报
回复
就JBoss旗下的两个产品来说...
drools就像是一个数据处理的东西...给一堆数据进黑箱,然后返回结果
jbpm关键就是有一个“不连续”的流程的概念,还有就是task中的人的参与

一些肤浅的想法,欢迎拍砖
koc104 2007-12-03
  • 打赏
  • 举报
回复
http://www.KingOfCoder.com < - 純編程文章網
lvyuetian 2007-11-27
  • 打赏
  • 举报
回复
TO chenggm:
您好,非常感谢您的回复,我在先前看过DROOLS的手册,但还是对规则引擎有很大的困惑,可能我还是理解的不够深入吧
再次感谢您的回复
chenggm 2007-11-27
  • 打赏
  • 举报
回复
你可以去jboss的官方网站上看看drools,这是一个规则引擎框架,在电信行业中应用比较广泛
他的相关文档http://downloads.jboss.com/drools/docs/4.0.2.15666.GA/html/index.html
lvyuetian 2007-11-26
  • 打赏
  • 举报
回复
TO JBossWeek:
首先非常感谢您的回复!
您对于工作流与规则引擎的区别的回答,我起初也是这么想的,但我觉得如果工作流引擎中的“什么人/系统、什么时间、完成什么工作/任务”,在规则引擎中也可以完成相应的功能定制,所以,就觉得有些迷茫,不知如果导师问的话该如何回答,哈哈
关于我提出的第二个问题,我找了快个把星期了,好象关于业务规则管理技术方面的研究现状,无论是中文还是英文资料都没有找到,十分郁闷
最后还是感谢您的回复,对我帮助很大,再次感谢
JBossWeek 2007-11-26
  • 打赏
  • 举报
回复
我试着回答回答:
1、工作流引擎和规则引擎都属于中间件的范畴,都是将企业应用中常见的关注点进行分离。工作流引擎是将企业应用中“什么人/系统、什么时间、完成什么工作/任务”进行分离,业务规则引擎则是将企业应用中的业务规则的处理进行分离。
2、找资料就更不好说了,建议去国家图书馆看看
baiyizhong 2007-11-25
  • 打赏
  • 举报
回复
提问提错地方了吧。呵呵。工作流和规则引擎一般都是内部资料,问你们公司的人要塞

6,787

社区成员

发帖
与我相关
我的任务
社区描述
JBoss技术交流
社区管理员
  • JBoss技术交流社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧