JBPM基于Spring系统工作流平台整合4------系统中间层设计
2009-09-09 00:00:00 来源:WEB开发网目的:为了可以和任一第三方工作流平台(wfmc标准)整合。
中间层BEAN类定义
/**
* 工作流流程定义类,也就是某一工单对应的模型定义
* @author Wang YiSong
*/
public class WfProcessDef implements Serializable {
long processDefId; //流程定义Id
String processDefName; //流程定义名称
……
}
/**
* 流程定义中的节点,也就是流程扭转过程中的具体操作的抽象
* @author Wang YiSong
*/
public class WfNodeDef implements Serializable {
long nodeId; //节点定义id
String nodeName; //节点定义名称
……
}
/**
* 工作流流程实例类,一个工单对应一个流程实例
* @author Wang YiSong
*/
public class WfProcessIns implements Serializable {
long processInsId; //流程实例Id
long processDefId; //流程定义Id
……
}
/**
* 工作流任务实例类,具体流程实例每一个节点对应的具体任务,一个节点可能对应多个任务实例(如:会签,或者一个节点需要多个顺序的任务完成)
* @author Wang YiSong
*/
public class WfTaskIns implements Serializable {
long taskInsId; //任务实例Id
String taskInsName; //任务实例名称
……
}
工作流中间层接口定义
/**
* 工作流系统调用接口,系统调用该接口,不直接调用第三方工作流引擎提供的api
* 这样系统和任一第三方流程引擎整合可以将引擎之间的差异通过该接口定义屏蔽,也就是说该接口对于系统是透明的
*
* @author Wang YiSong
*/
public interface WfManageService {
/**
* 部署发布流程定义
*/
public void deployWfProcessDef(ZipInputStream zStream);
/**
* 获取所有流程定义
*/
public List getAllWfProcessDefs();
/**
* 根据流程定义名称创建一个流程实例.
*/
public WfProcessIns createWfProcessIns(String wfProcessDefName);
/**
* 启动流程
*/
public void startWfProcessIns(long wfProcessInsId);
/**
* 根据用户Id获取待办任务,返回WfTaskIns对象的集合
*/
public List getWfTaskInsLsByUserId(String userId);
/**
* 更新流程全局变量和相关节点有关变量
*/
public void setRelevantVariable(long wfProcessInsId, HashMap<String, String> varMap);
/**
* 启动执行任务,在实际业务中类似签收的作用
*/
public void startWfTaskIns(long wfTaskInsId);
/**
* 完成任务,当前任务实例的结束,下一个节点的初始化
*/
public void completeWfTaskIns(long wfTaskInsId);
......
}
文章来源:http://wangyisong.javaeye.com/blog/353659
- ››基于IP地址的vsftp服务器
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››Spring源码学习-含有通配符路径解析(上)
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
- ››基于SolidWarks齿轮机构的运动分析与仿真
- ››基于Windwos Server 2008故障转移群
- ››基于JavaScript的REST客户端框架
赞助商链接