Joinwork工作流引擎总体设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Joinwork工作流引擎
总体设计
上海携创软件技术有限公司
目录
Joinwork工作流引擎总体设计 (3)
流程模板定义 (3)
模板定义类关系图 (3)
流程模板文件的存储 (4)
流程模板XML文件格式说明 (5)
数据变量定义 (10)
模板定义语法检查 (11)
用户和组织机构管理 (11)
设计目标 (11)
Party模型 (11)
用户、组织与组织类别 (11)
相关类图 (13)
参与者权限管理 (14)
相关类图 (14)
引擎的运行 (15)
流程引擎 (15)
流程实例 (16)
流程实例的存储 (17)
运行中模板管理 (18)
任务管理 (18)
任务管理器 (18)
任务的生成和分配 (19)
任务代理人信息 (19)
任务的存储 (20)
任务日志记录 (21)
消息管理 (21)
消息定义 (21)
消息处理 (22)
定时管理 (23)
动作组件 (23)
Joinwork 工作流引擎总体设计
流程模板定义
模板定义类关系图
BPMObject 是所有流程模板类的基类;BPMObjec. getBPMObjectType() 方法所有基类必须重载,以返回模板类代表的模板元素类型代码。
BPMAbstractNode是所有流程节点类的基类;
BPMActivity是所有活动类节点的基类;BPMProcess类也是BPMActivity的子类。BPMStatus是所有状态类节点的基类;
动作脚本运行规则类(BPMPolicy,BPMPolicies)、参与者定义类(BPMActor,BPMActor),标注类(BPMNote)、迁移类(BPMTransition)作为BPMObject的直接派生类。
流程模板文件的存储
模板文件以XML文本文件形式存储在文件系统中,文件后缀为.process。
每个模板类都有toXML()和fromXML()方法;
通过调用BPMProcess的fromXML()完成流程模板XML文件到流程类对象的装配,调用BPMProcess的toXML()完成流程对象到XML文件的存储;
BPMDefintionManager负责完成流程模板的加载和存储动作。
模板文件分为开发中模板和可执行模板,流程模板管理器ProcessDefManagerFileImpl类对象存储了一个流程引擎中的所有开发中和可执行的流程模板。
ProcessDefManager对外提供统一的流程模板访问接口。
WAPIFactory根据配置文件完成多个流程引擎的流程模板管理器的装配。
流程模板XML文件格式说明
流程模板XML文件不作为对外接口,只是用于流程引擎内部。为扩展方便和解析效率,没有定义对应的XML Schema。
flowType="workflow" id="activity_status" name="流程流转演示流程" desc="演示状态和活动节点的特性,加深对流程流转模型的理解" createdate="1117607880000" updatedate="1142299659872" sortIndex="0" importClass="import java.text.SimpleDateFormat;">