1、 业务提交启动流程处理过程业务提交启动流程处理过程流程图业务提交启动流程处理过程cordys业务应用流程框架数据库客户端操作开始业务逻辑判断是否已保存是流转流程脚本 结束否业务数据保存否启动流程是否成功 启动成功 启动失败是否数据库操作是否已启动流程是启动流程否是触 发 器 1 : a f t e r u p d a t e产 生 启 动 人 的 流 程 启 动 信 息触 发 器 2 : a f t e r i n s e r t产 生 待 办 信 息触 发 器 3 : b e f o r e u p d a t e修改 T A S K _ L I S T 表标识 , 产生在办信息触 发 器
2、4 : b e f o r e u p d a t e修 改 T A S K _ L I S T 标 识 , 产 生 办 结 信 息P R O C E S S _ I N S T A N C EM E S S A G E _ T R A C KT A S K _ L I S T _ W A I TT A S K _ L I S TW O R K F L O W _ I N S T A N C E流程引擎产生流程实例 ( W O R K F L O W _ I N S T A N C E ) 及流转日志 ( W O R K F L O W _ I N S T A N C E _ T R A N
3、S L O G )产生流转日志( W O R K F L O W _ I N S T A N C E _ T R A N S L O G )客户端操作:主要负责一些页面逻辑的控制和负责向服务器端发送请求。业务在第一次提交时会执行业务数据保存、启动流程操作业务应用:主要负责业务数据的保存等操作。流程框架:主要负责接收客户端发送过来的请求,与流程引擎进行交互,完成流程的启动、流转工作。Cordys:接收客户端或流程框架发送过来的请求,完成流程的启动、流转工作数据库:WORKFLOW_INSTANCE、MESSAGE_TRACK、PROCESS_INSTANCE 为 cordys流程引擎的部分数据表
4、、通过触发器 1(WORKFLOW_INSTANCE) 、触发器2(MESSAGE_TRACK) 、触发器 3(MESSAGE_TRACK) 、触发器4(PROCESS_INSTANCE)将待办、在办、办结信息整合后写入 TASK_LIST 表,供使用。优化方式:考虑 TASK_LIST 内的数据量比较大,新建 TASK_LIST_WAIT 表(待办消息表) ,只存储待办信息,实现方式可分为两种。通过方式是利用触发器 2、触发器 3 来产生和维护 TASK_LIST_WAIT 表信息,在隐藏、恢复收文秘书待办、作废、虚拟办结等处需做相应修改通过方式是在 TASK_LIST 上新建触发器来生产生和维护 TASK_LIST_WAIT 表信息,只需在 TASK_LIST 新建触发器。