工作流引擎开发系列一基础知识
在现在的很多业务系统中都要用到工作流的,比如说办公软件,评审软件。最近公司需要开发一款工作流引擎,利用数据库做依托,到目前阶段基本上都已经完成了。呵呵,本人也不太喜欢说文字,接下来就简单介绍下基础的东西。首先系统架构图如下:
工作流(即Workflow),毋庸置疑就是一套流程规范,这套流程规范是用户自定义的,可以实现相应的一套业务的自动化完成模板。每个模板中都包含相应的活动(即Activity),在日常生活中几种常见的活动有:审批,会签,并行和分支。每个活动都会拥有相应的动作(即Action)。如图:
在整个引擎中要分为三块:工作流运行平台,业务平台和工作流配置平台。工作流平台主要是工作流运行实例的宿主,业务平台主要是给用户来是实现自己的数据变更,配置平台主要用来做工作流模板配置。整体设计如下:
相关运行步骤如下:
1. 配置工作流模板
2.运行工作流模板生成工作流实例instance和节点flow的相关信息
3.在运行的过程中执行相关的 业务更改
4.根据相关节点生成对应的Todo待办内容
5.点击Todo待办信息调用do方法执行相关操作
6.整个过程中都使用Indicator指示器和WorkState状态器来控制流程走向