Fire Workflow 工作流一

I.第一部分概述
1. FAQ
􀂾 为什么要写Fire Workflow
本人从事企业MIS 系统开发很多年头了,感觉MIS 系统很多领域都有比较好的解决方
案并已成为事实标准,例如Spring,Hibernate 等等;然而工作流还没有令人满意的开源产
品。我了解过的工作流产品(主要是开源的,收费产品没有什么研究,仅仅看看其白皮书而
已)都存在如下毛病:
a. 缺乏严密的理论做支撑,工作流模型大多千篇一律地照搬WfMC 的xpdl,
b. 因为缺乏理论支撑,所以工作流引擎的算法有点七拼八凑,扩展性也比较差。
c. 没有好的设计器,应用比较困难
最近研究并应用了一下JBoss 的Jbpm,除了其面向图的引擎算法让我眼前一亮外,其
他的也不是令人满意。其引擎的扩展性不好,表结构太复杂,在大数据量系统中,性能令人
堪忧。
鉴于此,我动手写了一个Fire Workflow,抛砖引玉。
􀂾 Fire Workflow 的定位
我从来不认为工作流可以“自定义”,所以Fire Workflow 是面向开发人员的。Fire
Workflow 和Spring、Hibernate 一样,是一个或几个普普通通的jar 包,嵌入到系统中,用以
解决系统开发中工作流领域的问题。
因为Fire Workflow 是面向开发人员的,所以在下面两个方面花了较大功夫。
a. 流程设计器。Fire Workflow 用于帮助开发人员解决系统中的流程问题,所以好的
流程设计器有助于开发人员提高开发效率。Fire Workflow 设计器和主流IDE 紧密
集成(目前有Eclipse 插件和NetBeans 插件),使得开发人员开发调试流程就像开
发调试一个普通java 类一样简单。
b. 工作流引擎。Fire Workflow 引擎设计充分考虑扩展性,因为业务系统的需求五花
八门,所以一个写的很死的引擎必然没有生命力。Fire Workflow 引擎的各种服务
都可以扩展或者替换。
Fire Workflow 虽然不认可流程“自定义”需求,但是并不否认用户有调整业已存在的
流程的需求,而且这种需求还比较普遍。所以Fire Workflow 计划提供Web 界面,让最终用
户的系统管理员在一定范围内调整流程。
􀂾 Fireflow 的特点
a. 理论严密
Fire Workflow 以Petri Net 作为理论基础,流程的顺序流转、分支、汇聚、跳转等算法
都有定义/定理为依据。
b. 设计合理
Fire workflow 将工作流引擎的职责分解委派到各种服务中,每中服务都可以被扩展或者
替换。
c. 应用简单
2

posted @ 2010-10-18 10:54  技牛  阅读(867)  评论(0)    收藏  举报