JBPM4开发简介

jbpm4流程服务介绍

1)       流程引擎ProcessEngine的构建方式如下三种:

 

2)       流程引擎提供的主要服务接口如下:

2.1) 流程资源RepositoryService:rs包含了管理流程定义的所有方法(发布、删除、挂起和恢复、查看)

2.1.1) 发布流程:

 

2.1.2) 删除流程: 

2.1.3)挂起和恢复流程:

   

2.1.4) 查看流程:

2.2) 执行服务ExecutionService:es主要用于维护流程实例(processInstance),包含流程实例的查询和流程变量的操作。

2.2.1) 启动新流程:

 

2.3) 任务服务TaskService:ts

2.3.1) 任务列表访问

2.3.2) 读取任务节点相关数据

2.3.3) 完成任务

Jbpm4数据库结构介绍

 

1)       jbpm4的18张表如下:

2)       流程定义相关的布署信息就存储在JBPM4_DEPLOYMENT、JBPM4_DEPLOYPROP及JBPM4_LOB中。上传一个包含png和jpdl.xml的zip包后,JBPM4_DEPLOYMENT多一条记录JBPM4_DEPLOYPROP多三条,JBPM4_LOB多两条。

3)       JBPM4_HIST_PROCINST与JBPM4_HIST_ACTINST分别存放的是Process Instance、Activity Instance的历史记录。

4)       JBPM4_EXECUTION主要是存放JBPM4的执行信息。

5)       JBPM4_TASK存放需要人来完成的Activities,需要人来参与完成的Activity被称为Task

6)       JBPM4_PARTICIPATION存放Participation的信息,Participation的种类有Candidate、Client、Owner、Replaced Assignee和Viewer。而具体的Participation既可以是单一用户,也可以是用户组。

7)       JBPM4_SWIMLANE。Swim Lane是一种Runtime Process Role。通过Swim Lane,多个Task可以一次分配到同一Actor身上。

8)       JBPM4_VARIABLE 存的是进行时的临时变量。

9)       JBPM4_HIST_DETAIL保存Variable的变更记录。

10)   JBPM4_HIST_VAR保存历史的变量。

11)   JBPM4_HIST_TASKTask的历史信息。

12)   JBPM4_ID_GROUP,JBPM_ID_MEMBERSHIP,JBPM4_ID_USER 这三张表实现基本的权限控制。

13)   JBPM4_JOB 存放的是Timer的定义。

Oss开发(demo)

1)       新建web工程,导入jbpm所需jar包,导入jbpm配置文件

 

配置本地数据库(demo为mysql)

2)       设计流程图并指定节点属性

流程图如下:

相应的xml文件:

3)       新建OssServlet,初始化流程引擎及接口服务

提出问题:将问题提交人存入map,在start流程时传递流程变量customer

请求派发页面issueApply.jsp

提交问题至issueApply方法处理,在完成该任务节点后,根据问题类型判断进入下一节点。问题类型表达式:

#{issueType=='报表问题'?'是':'否'}
taskService.completeTask(task.getId());

完成当前节点自行进入下一节点。具体方法如下:

其他流程节点方法处理类似。

原文地址:https://www.cnblogs.com/hexiweb/p/2528090.html