本文档是济南驰骋信息技术有限公司在2018年8月针对某银行的验收需求,提供的开源工作流引擎CCBPM的详细设计文档。文档主要关注了工作流程管理系统的各个方面,包括概要说明、流程接口定义、流程元素设计、流程引擎表结构、流程业务数据表设计、启动流程、保存与保存草稿、线性流程节点运动、接收人规则、计算到达节点的规则以及时效考核规则。
1. **概要说明**:
文档首先对工作流引擎的概念进行了概述,强调了其在快速开发平台中的角色,即作为流程引擎设计的核心部分,帮助实现自动化的工作流程管理。
2. **流程接口与元素设计**:
- 节点元素设计详细描述了节点数据的存储方式,包括主键的设计,以及不同类型的节点如何分类和在流程图中的表现。
- WorkID的设计涉及其生成方法,确保每个工作流程实例有唯一的标识符。
3. **流程引擎表结构**:
设计了流程引擎表,用于记录流程的状态信息,包括流程状态和表结构设计,以便跟踪和管理流程生命周期。
4. **流程业务数据表设计**:
分别设计了流程业务表和轨迹表,用于存储流程相关的业务数据和历史记录。
5. **流程启动与操作**:
- 启动流程设计包括流程启动的过程图和状态变化逻辑,定义了接口Node_CreateBlankWork来创建新的工作流程实例。
- 保存与草稿功能涉及到草稿规则和表结构影响,以及API设计。
6. **节点运动与发送**:
线性流程节点运动涉及到节点之间的顺序发送,通过Node_SendWork接口实现,同时提供了通用发送API和返回结果对象的设计。
7. **接收人与方向条件规则**:
接收人规则定义了节点的接收者如何确定,根据节点位置的不同有不同的规则。方向条件规则允许用户手动选择或根据连接线方向自动决定流程走向。
8. **时效考核规则**:
时效考核是流程管理中的关键环节,文档描述了系统配置和如何根据设定的时间限制进行考核。
这个详细设计文档对于理解驰骋工作流引擎CCBPM在实际银行项目中的应用非常有价值,提供了全面的系统架构和关键功能设计细节,有助于其他开发者和运维人员进行类似的系统开发和优化。