前面已经向大家介绍过有关BPMN的认知文章,本片主要向大家介绍activiti的流程部署,这是一个开放源码的项目,独立运营和运营。Activiti项目是一种新的开放源码BPM平台,它基于Apache许可,从基础开始构建。其设计目的是提供支持新的BPMN2.0标准,包括面对新技术机遇的支持OMG(OMG),如互用性和云计算体系结构,提供了技术实现。以下描述了如何在IDEA中部署简单的考勤补签过程:
1.从创建新的resource目录下的bpmn目录开始。
2.点击bpmn目录的右键-->new-->bpmn文件,在输入bpmn文件名之后将显示以下界面:
在接口的左侧是属性面板,可以查看和修改个别bpmn元素的属性值,中间是bpmn流程图,最右边是流程图中的各种元素。
3.绘制流程图。
1)拖拽StartEvent(开始事件)和EndEvent(结束事件)到流程图,并分别设置名称为“补签开始”和“补签结束”。
2)拖拽两个UserTask,并分别设置为“技术经理审批”和“人事专员”的名称。
Java知识共享:Activiti流程部署。
3)把图连在一起,如上图所示:移动鼠标到图形中心,图标形状将改变,然后拖拉至下一图形完成连接。
4.制作流程图png图片。
需要部署Activiti过程的bpmn文件和Flow图片(png格式),bpmn文件可以被复制,然后更改后缀的名称为xml,单击xml文件的右键-->Diagrams-->ShowBPMN2.0Designer将显示以下界面:
Java知识共享:Activiti流程部署。
单击左边的导出按钮,并选择resources下的bpmn目录,将作为png图片保存。
5.过程的部署。
上一章介绍了Activiti的核心引擎ProcessEngine,所有的服务都可以通过流程引擎得到。
应用RepositoryService进行部署时,仓库服务是一种存储相关服务,一般用于部署过程文件、获取过程文件、查询流程定义信息等操作,是引擎中的一项重要服务。
获取方法:
注册服务服务。
=engine.getRepositoryService();
开发流程:
@Test
publicvoiddeployAddSigninProcess{
//获取配置对象。
过程环境配置配置=。
过程EngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
//创建核心引擎。
ProcessEngineprocessEngine=config.buildProcessEngine();
//获取仓库服务。
repositoryService=processEngine.getRepositoryService();
//部署过程,支持链式编程。
repositoryService
createDeployment()//创建一个部署对象。
.key("addsigninProcess")//设置部署流程关键字。
.addClasspathResource("bpmn/proc_addsignin.bpmn")//添加bpmn文件。
.addClasspathResource("bpmn/proc_addsignin.png")//添加png文件。
.name("补签过程")//设置流程名。
.deploy();//部署。
}
在完成上述代码之后,将将记录插入以下三个表:
Java知识共享:Activiti流程部署。
act_re_deployment保存了由过程定义的显示器和部署时间,每次部署增加一个记录。
Java知识共享:Activiti流程部署。
act_re_procdef存储了流程定义的属性信息,部署过程定义将向该表添加一条记录。
Java知识共享:Activiti流程部署。
act_ge_bytearray存储过程定义了相关的部署信息。这就是过程定义文档的存放地。
根据这一补签过程,我们基本上可以完成Activiti的流程部署。以下我们只需根据已部署的流程逐级批准来完成整个流程。