做软件开发,能够开发工作流系统,你才能算得上成年

作为一个工作流引擎,表单引擎的爱好者、开发者、探索者。偶尔看到如下一篇文章,也不知道作者的出处,有共鸣的同感,一字不差的以飨读者,以便对bpm系统有更好的理解,做流程引擎开发,很不容易。

两年多前,我在网上看到一句话:做软件开发,能够开发工作流系统,你才能算得上成年。这句话怎么理解呢?

先来看看什么是工作流。

工作流,Workflow,工作流管理联盟(Workflow Management Coalition,WfMC)给出的定义是:一类能够完全自动执行的经营过程,根据一系列过程规则,将文档、信息或任务在不同的执行者之间进行传递与执行。

看完这个定义,你能理解多少呢?大概率是似懂非懂吧。

一般情况下,完整的工作流系统由四部分组成:工作流引擎、流程管理工具、流程定义工具和业务应用端。

整个工作流系统最核心是流程引擎,它的主要工作是:

1 解析流程定义,生成流程实例、节点实例

2 控制流程实例、流程节点及其各种流转状态

3 控制流程走向,包含提交、退回、作废、会签等

4 流程参与人参与

5 提供接口,用于应用层开发

需要强调的是,流程引擎的开发难度非常高,因为太过于抽象,这也就是为什么工作流的定义看了之后似懂非懂,因为,太抽象了。鄙人开发过一个简易的流程引擎,现在正用于自家公司的财务系统,当时开发的过程也是呕心沥血。由于开发难度较高,大多数项目也就考虑直接使用现成的产品。

 

流程管理器为流程的定义提供条件,为流程引擎的控制工作提供依据,一般包含两部分:管理模块和监控模块。

管理模块一般会有流程角色管理、流程版本管理、流程编码管理。

监控模块主要用于对流程的跟踪监控,让流程实例的状态、流程节点的状态、流转的路径都可以进行跟踪。

 

流程定义工具是应用开发的重点工作,成熟的工作流产品会有图形化管理工具。定义流程需要结合实际的业务场景,将需要多人员、多层次协作的工作,定义成一个流程图,最终交由流程引擎解析。

一般包括图形化建模、流转条件定义、以关系数据形式或XML文件格式存放定义逻辑。

 

业务应用端

最常见的是审批等流程性质的应用,让具体业务在多人员、多层次的工作体系中流转。

回到前面说到的的这句话:做软件开发,能够开发工作流系统,你才能算得上成年。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值