基于PetriNetFireFlow工作流应用与研究.docVIP

  • 2
  • 0
  • 约5.06千字
  • 约 10页
  • 2018-08-28 发布于福建
  • 举报
基于PetriNetFireFlow工作流应用与研究

基于PetriNetFireFlow工作流应用与研究   摘要:首先介绍了工作流出现的背景和定义,然后介绍了Petri??Net的概念和特点,接着在Petri??Net的基础上引出了FireFlow工作流的定义及其重要特性,进而通过在办公系统中的一个典型应用,分析了FireFlow工作流的技术架构,最后对FireFlow工作流进行了总结。   关键词:工作流;技术架构;Petri网;FireFlow   中图分类号:TP301文献标识码:A文章编号:1672??7800(2011)02??0038??03      作者简介:王学伟(1984-),男,河北河间人,武汉科技大学计算机科学与技术学院硕士研究生,研究方向为JAVAEE;程耕国(1947-),男,安徽绩溪人,武汉科技大学信息科学与工程学院教授,研究方向为控制理论及应用,计算机控制系统、故障诊断技术。1Petri??net   Petri??Net是一位德国的科学家C.A.Petri在20世纪60年代作为一种过程建模和分析的工具提出的,它是一种图形化描述过程的强有力的工具。它有着坚定的数学基础和形式化的语义。基于Petri??Net网的工作流都有着非常清晰和严格的定义。这样它就避免了不确定性和矛盾性等。   经典的Petri网是一个双重的有向图,它有2类节点类型,分别称为库所Place和变迁Transition,这些节点是通过有向弧来相连的。不管在什么时候库所里面总是包含零个或者多个标记Token,相同类型的2个节点之间是绝对不能相连的,也就是说2个Place或Transition之间是不能用有向弧来直接相连的。它的典型表示如图1所示。   图1典型Petri??Net表示图   2Fireflow工作流   Fireflow是一款优秀的基于Petri??Net的工作流引擎,它是国人开发并免费开源的,同时也是一款轻量级的软件,它只有2个jar包和几张数据库表。虽然问世才有几年的时间,但是却得到广泛的好评和应用。   2.1Fireflow工作流提出的必要性   之所以会有这款工作流的研究,主要是因为当今的许多工作流都多少存在着这样那样的弊端。具体如下:①缺乏严密的理论作支撑,当前的大部分工作流基上是照搬工作流管理联盟(wfmc)的xpdl;②由于上面提出的缺乏理论支撑,导致其算法性能是很好,扩展性也不是很好;③没有很好的设计器,应用性不是很强。   2.2Fireflow工作流的特点   2.2.1理论的严密性    Fire Workflow以Petri Net作为理论基础,流程的顺序流转、分支、汇聚、跳转等算法都有定义/定理为依据。   2.2.2设计的合理性   Fire Workflow将工作流的职责费解委派到各种服务中,每种服务都可以被扩展或者替换。   2.2.3应用简单   Fire Workflow的API以及数据库表的结构非常简单。   2.2.4性能优良   Fire Workflow着重在流程实例的数据量,数据库IO等方面进行性能优化。   2.3FireFlow工作流的构成   Fire Workflow由模型、引擎、设计器(包括模拟器)、流程管理工具4部分组成,如图2所示。   图2FireFlow的构成图   模型部分规定了流程定义文件的各种元素及其相互关系。模型部分的实现在org??fireflow??model.jar中。引擎读取定义文件并解释执行。引擎提供一组对象和相关的API供外部系统调用。引擎部分的实现在org??fireflow??engine.jar中。   设计器主要用来编辑并输出流程定义文件。FireFlow 的设计器附带了强大的模拟器,可以在设计时模拟流程的执行,从而检测流程定义的正确性。   流程管理工具主要用来查询流程实例的执行状况,对流程实例执行一切特权操作。比如终止流程\挂起流程召回流程、流程实例数据管理、在线调整流程定义等等。??3FireFlow工作流模型分析   FireFlow具有精确的语法和严密的 算法,很适合计算机的执行。同时 FireFlow的流程定义语言FPDL是面向图的,其图形表示非常简洁,所以也适合于业务描述和业务分析。   FireFlow模型的设计思想。我们把工作流系统中的逻辑分成2种,一种是业务逻辑,也就是某个具体的业务操作。另外一种是工作流逻辑,它是指对业务逻辑的某种编排方案。   FireFlow模型的设计思想就是把这2种逻辑进行解耦。下面以一个“员工请假”的例子来进行说明。这个例子的业务规则是这样的:首先,请假申请人通过填写表单提出申请,然后该申请提交到“车间主任审批”环节,车间主任进行审批,如果拒绝,则系统自动发短消息给

文档评论(0)

1亿VIP精品文档

相关文档