论坛首页 Java企业应用论坛

关于工作流引擎的问题!

浏览 144149 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-02-02  
在企业级应用程序中,有人说采用工作流引擎是必须的,请大家
谈谈自己在实际的项目中是否采用过工作流引擎,是如何使用的,
请推荐一个好的工作流引擎,最好是很容易和struts等mvc框架
结合起来使用。
   发表时间:2004-02-05  
使用工作流是迟早的事,企业级应用已经不单纯是将手工劳动转换为计算机劳动的过程,系统也不是由单独的业务模块构成的,各业务模块之间必须要由业务主线相互关联,原来的数据级关联关系必将转换到应用级关联关系。
现在提及比较多的有JBpm、OSWorkflow等,以前的帖子好像有关于工作流引擎方面的内容。
0 请登录后投票
   发表时间:2004-02-05  
ofbiz也又一个工作流引擎.可以参考一下
0 请登录后投票
   发表时间:2004-02-09  
ofbiz的主要精力不在于他的workflow engine上,而且他的workflow engine很难和其entity engine以及service engine分离,use all or use none.

osworkflow是一个轻量级的workflow engine,较容易和其他架构做整合,jbpm相对osworkflow复杂一点,但是其开发团队比较active。

使用这些workflow engine都有一个缺点,必须要使用他们的User模型,如果有谁知道有更轻量的engine的话,请介绍一下。
0 请登录后投票
   发表时间:2004-02-18  
如果一个纯粹的工作流引擎,那么按照工作流联盟的方式分析、设计处理,也并不难,去年我所在的公司也做了一个,我参与其中,当时我们绑定的应用是OA的公文流转。
   为什么工作流出现了这么久,在国内并没有多少成功的案例呢?其实问题并不是出现在工作流引擎多么难,而是在于流程的定义。在国内,几乎每一家公司的业务流程都是一种活性的流程,人控制的因素太多,这个时候,就很难用工作流系统去处理其了。比如说,我后来参与了一个订单处理系统的分析,业务非常复杂,每个订单在确认后,还有unConfirm、Revise功能,其实从准确的意义上来讲,这个就不符合流程控制了(因为它是由人进行控制)。
    所以说,工作流系统一般只适合于能用固定流程描述的应用。当然,也许因为我的才疏学浅,不知道而已。
    至于Struts什么的,一个是Web控制层,一个是中间件,两者是没有任何关系的,当然可以绑定。
0 请登录后投票
   发表时间:2004-02-24  
凤舞凰扬 写道
如果一个纯粹的工作流引擎,那么按照工作流联盟的方式分析、设计处理,也并不难,去年我所在的公司也做了一个,我参与其中,当时我们绑定的应用是OA的公文流转。
   为什么工作流出现了这么久,在国内并没有多少成功的案例呢?其实问题并不是出现在工作流引擎多么难,而是在于流程的定义。在国内,几乎每一家公司的业务流程都是一种活性的流程,人控制的因素太多,这个时候,就很难用工作流系统去处理其了。比如说,我后来参与了一个订单处理系统的分析,业务非常复杂,每个订单在确认后,还有unConfirm、Revise功能,其实从准确的意义上来讲,这个就不符合流程控制了(因为它是由人进行控制)。
    所以说,工作流系统一般只适合于能用固定流程描述的应用。当然,也许因为我的才疏学浅,不知道而已。
    至于Struts什么的,一个是Web控制层,一个是中间件,两者是没有任何关系的,当然可以绑定。


呵呵,老黄我们的感受是一样的,光是一个引擎没用的。
0 请登录后投票
   发表时间:2004-02-28  
感觉就是国内没有几个好的工作流引霆。

不过迟早都要用到的,因为做系统的,流程都会很多,少不了的,有一个工作流引庭(有友好的界面那只)会好很多。

当然不是有了就万能的.
0 请登录后投票
   发表时间:2004-02-29  
引用
在国内,几乎每一家公司的业务流程都是一种活性的流程,人控制的因素太多,这个时候,就很难用工作流系统去处理其了。比如说,我后来参与了一个订单处理系统的分析,业务非常复杂,每个订单在确认后,还有unConfirm、Revise功能,其实从准确的意义上来讲,这个就不符合流程控制了(因为它是由人进行控制)。

如果是上述这种情况的话,应该也是工作流能处理的情况,在一个流程上有很多节点,工作流在每个节点停留的时候,难道不是操作者来做一些事情后再流向新的节点的吗?这就是一个人为控制的过程,只不过是这个控制做完后,接下来的流向是否与控制的结果是对应匹配的关系,也就是操作者的操作结果是否与流向目的是固定对应的关系,即结果是A流向1,结果是B流向2...,如果是的话,那么就对工作流进行配置定义,如果相应的业务流程发生变化,只需要对工作流和节点功能进行改变。我想凤舞凰扬的意思是,操作结果与流向并非固定对应关系,有人为干预的情况,就是说一般结果是A流向1,在某些情况下(无法定义规则)结果是A却要流向3,比如一些领导特批,这种情况就是很难用系统来解决的问题了,除非系统像人一样聪明,可以灵活地领会领导的意思
0 请登录后投票
   发表时间:2004-03-01  
楼上仁兄很有意思,不过的确也含有如此。另外,比如说一个流程,它的结点已经流向某个位置了,突然前面的结点的人要把它取消或者重新来过,呵呵,流程控制就不是一般般了。这个有名的功能英文名叫做Revise。
   在一个规范话的企业,或者有规范化可以明确定义、描述出来的企业流程,那么是肯定可以用工作流系统的,但是对于一个根本不规范、并且无法明确定义、描述出来的企业流程,工作流系统是无法运用成功的。
   国内有很好的工作流引擎,也有很好的工作流系统(包括流程定义),只是没有好的应用和实施罢了。因为好的应用不仅仅是软件的事情!
0 请登录后投票
   发表时间:2004-03-01  
我以前设计过一个工作流系统,包括引擎和流程定义。
引擎我们基本是参考wfmc的模型,无非是Process、Activity、
task、principal、transition等。
和流程定义之间通过一个
XML来交换数据,也就是说,流程定义生成一个描述流程的XML,引擎负责把它读进来,解释后放进内存或者数据库里面,这样做一个好处是流程定义工具可以用java写,也可以用delphi写,只要根据schema生成所需XML 即可。
流程的权限一般是动态的,和组织机构有一定关系,例如某个公文只能由某个人来签,请假流程中,必须先要请假人直属上司签字,再所属部门经理签字,诸如此类。这里可能需要一套规则(有些公司做了套规则引擎出来,例如金蝶 BOS)。
所以,我们做出引擎来后,发觉还有很多东西需要做。呵呵。
单单是引擎的话,对小流程来说并不能减轻开发量,而流程越复杂,引擎的作用才越大
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics