第四章 工作流引擎的设计与实现(一)

本文详细介绍了工作流引擎的数据模型设计,包括过程定义、节点定义、迁移定义以及工作流实例的数据库设计。此外,还探讨了任务实例的数据模型和流程回退处理的程序逻辑。工作流引擎通过处理不同任务类型,实现流程的控制和管理,支持政务审批过程的执行和监控。
摘要由CSDN通过智能技术生成
工作流引擎的作用是解释流程定义,创建、执行和控制流程实例。对于本项目研究来讲,工作流引擎要接受外部请求事件,并按照业务过程的需要执行响应动作。具体来讲,包括接受工作人员启动业务流程的请求,解释流程定义,创建新的流程实例以及流程的首任务实例;响应用户的完成任务动作,生成下一步的任务实例;响应用户的流程回退请求,将流程实例回退到前面的任务实例重新执行等。总之,工作流引擎遵循前面讨论的过程控制模型,接受外部指令,驱动和控制流程在各业务节点的流转。
    本文的项目实践基于政府机关部门的统一政务系统,各项审批业务包括业务流程定义、业务运行、业务流程监控均在统一的工作流管理平台上运行和管理,并由一个轻量级引擎驱动。这里的工作流引擎只是政务系统的一个从属组件,并不是一个独立的工作流产品。引擎的功能包括,配合工作流定义工具,通过对数据库的访问与操作,实现对业务流程的保存与修改;通过创建流程实例以及流程的首任务实例,实现对业务流程的启动;通过创建和修改后续的各节点任务实例,驱动流程实例的运行或回退等。

4.1 工作流引擎的数据模型设计

4.1.1 工作流定义的数据库设计

   

    要实现对政府审批过程的管理与监控,需要预先定义和保存业务过程。过程定义可以通过上一章提到的图形定义工具进行,通过过程节点和连接节点的迁移线段,绘制业务过程,并将过程及其节点、迁移等元素的图形属性分别保存到记录过程定义、节点定义和迁移属性的数据库表中。有了过程定义,下一步就可以创建过程实例,启动业务过程的具体执行。

 

    1、工作流过程定义:

 

字段名

字段类型

字段描述

ProcessID

整数(标识)

过程定义编号

ProcessName

字符串

过程定义名称

RelatedTable

字符串

与当前过程定义相关联的业务数据表名称

Alias

字符串

业务数据表中文名称

IdentifiedField

字符串

业务数据表的标识字段名称

IsDefineCompleted

字符(Y/N)

当前过程是否已被完整定义(只有定义完整的过程才可用)

IsSuspended

字符(Y/N)

当前过程是否被挂起(被挂起的过程不可用)

DueDate

整数

业务过程的承诺办理期限(单位为天)

   

    过程定义表所包含的字段中,过程定义编号、过程名称等字段是过程定义的基本属性;关联的业务数据表名称等是它的扩展属性,其中IdentifiedField字段保存了关联业务数据表的标识字段名称。后面在定义过程实例时将详细介绍这些字段的作用。

 

    2、过程节点定义: 

 

字段名

字段类型

字段描述

TaskID

整数(标识)

节点(任务)编号

TaskName

字符串

节点(任务)名称

ProcessID

整数

所属过程定义编号

NodeType

字符串

节点类型(开始、结束节点或任务节点)

ProcessLogic

字符串

节点的过程逻辑属性(是否分支或合并节点)

AssignedRole

整数

分配的任务角色编号

AboutAttached

两位字符

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值