FireWorkflow原理、设计和应用

09-07-24 FireWorkflow
国内开源工作流Fire Workflow1.0发布啦!!重新整理了文档、重写了和文档结合使用的demo。

文档:FireWorkflow原理、设计和应用

更多资料在官方论坛:

Fire workflow 论坛

介绍:

1、为什么要写Fire Workflow

本人从事企业MIS系统开发很多年头了,感觉MIS系统很多领域都有比较好的解决方案并已成为事实标准,例如Spring,Hibernate等等;然而工作流还没有令人满意的开源产品。我了解过的工作流产品(主要是开源的,收费产品没有什么研究,仅仅看看其白皮书而已)都存在如下毛病:

a)缺乏严密的理论做支撑,工作流模型大多千篇一律地照搬WfMC的xpdl,

b)因为缺乏理论支撑,所以工作流引擎的算法有点七拼八凑,扩展性也比较差。

c)没有好的设计器,应用比较困难

最近研究并应用了一下JBoss的Jbpm,除了其面向图的引擎算法让我眼前一亮外,其他的也不是令人满意。其引擎的扩展性不好,表结构太复杂,在大数据量系统中,性能令人堪忧。

鉴于此,我动手写了一个Fire Workflow,抛砖引玉。

2、Fire Workflow的定位

我从来不认为工作流可以“自定义”,所以Fire Workflow是面向开发人员的。Fire Workflow和Spring、Hibernate一样,是一个或几个普普通通的jar包,嵌入到系统中,用以解决系统开发中工作流领域的问题。

因为Fire Workflow是面向开发人员的,所以在下面两个方面花了较大功夫。

流程设计器。Fire Workflow用于帮助开发人员解决系统中的流程问题,所以好的流程设计器有助于开发人员提高开发效率。Fire Workflow设计器和主流IDE紧密集成(目前有Eclipse插件和NetBeans插件),使得开发人员开发调试流程就像开发调试一个普通java类一样简单。

工作流引擎。Fire Workflow引擎设计充分考虑扩展性,因为业务系统的需求五花八门,所以一个写的很死的引擎必然没有生命力。Fire Workflow引擎的各种服务都可以扩展或者替换。

Fire Workflow虽然不认可流程“自定义”需求,但是并不否认用户有调整业已存在的流程的需求,而且这种需求还比较普遍。所以Fire Workflow计划提供Web界面,让最终用户的系统管理员在一定范围内调整流程。

3、Fireflow的特点

理论严密

Fire Workflow以Petri Net作为理论基础,流程的顺序流转、分支、汇聚、跳转等算法都有定义/定理为依据。

设计合理

Fire workflow将工作流引擎的职责分解委派到各种服务中,每中服务都可以被扩展或者替换。

应用简单

Fire workflow的API以及数据库表结构非常简单。

性能优良

Fire workflow着重在流程实例的数据量,数据库IO等方面进行性能优化。

图片show:

[该贴被FireWorkflow于2009-07-24 16:00修改过]

[该贴被FireWorkflow于2009-07-24 16:13修改过]

设计器


3
banq
2009-07-25 11:32
不错,简单易用,可结合Jdon框架开发工作流应用,例如涉及审批流程等办公自动化 信息系统应用。

已经在Jdon框架应用页面推荐:

http://www.jdon.com/jdonframework/app.htm

[该贴被banq于2009-07-25 11:32修改过]

xmuzyu
2009-07-25 22:13
不错,首先开源的要支持,其次国产的更要支持。将工作流逻辑和业务逻辑解耦很重要,楼主说的很到位。

crabboy
2009-08-04 20:39
估计又得收费了

lijingbo9512
2012-04-02 13:36
在那里能下载?

猜你喜欢