JBPM工作流表结构的详解
jBPM4.3简单深入理解(一)

jBPM4.3简单深入理解(一)工作流(系统)主要概念工作流引擎:工作流的核心组件,对流程实例、任务实例以及其状态进行管理流程定义:预先定义的业务流转逻辑流程实例:业务的一次实际流转过程参与者:任务的执行者活动(任务):组成流程定义的节点活动实例:组成流程实例的元素流转:从一个节点到另一个节点这一行为工作列表:当前需要办理的任务集合开发步骤1)根据实际应用场景创建流程文件;即编写*.jpdl.xml文件2)部署流程文件或流程资源到系统中;3)执行流程(使用指定的流程定义);3.1)启动流程实例3.2)获取任务3.3)开始任务3.4)结束任务3.1到3.4是办理一个任务的过程,流程的执行就是启动流程实例+一次次办理任务的过程。
流程在实际应用场景中的一些操作一.流程的定义管理流程定义的发布、查询、删除、暂停、恢复二.流程实例管理流程实例的启动、显示流程图、执行、暂停、恢复三.任务管理分配任务、收回任务、定时任务、任务与表单绑定四.流程的历史查询任务的历史、流程实例历史、活动历史---下面开始进行代码描述------在详细描述之前,我们先来了解一下流程引擎ProcessEngine引用One ProcessEngine object can be used by all reque sts and threads in an application. Here’s how you can obtain a ProcessEngine把这个交给spring去管理Java代码<beanid="springHelper"class="org.jbpm.pvm.internal.processengine.Spring Helper"/><beanid="processEngine"factory-bean="springHelper"factory-method ="createProcessEngine"/>我们需要的一些服务都是通过流程引擎得到的RepositoryService repositoryService = processEngine.getRepositoryService(); ExecutionService executionService = processEngine.getExecutionService();TaskService taskService = processEngine.getTaskService();HistoryService historyService = processEngine.getHistoryService();ManagementService managementService = processEngine.getManagementService();一.流程的定义管理1.1流程定义的发布(即部署流程文件或流程资源到系统中)流程定义*.jpdl.xml的内容可以从文件,网址,字符串,输入流或zip输入流中获得Org.jbpm.api.newdeployment代码public interface NewDeployment extends Deployment {.../** adds a resource as a string */NewDeployment addResourceFromString(String resourceName, String string);/** adds a resource as a string */NewDeployment addResourceFromInputStream(String resourceName, InputStream inputStream);/** adds a resource as a resource from the classpath */NewDeployment addResourceFromClasspath(String resourceName);/** adds a resource as a url */NewDeployment addResourceFromUrl(URL url);/** adds a resource as a zip stream */NewDeployment addResourcesFromZipInputStream(ZipInputStream zipInputStream);/** adds a resource from a file */NewDeployment addResourceFromFile(File file);...}在测试的时候Java代码ProcessEngine processEngine = new Configuration().buildProcessEngine(); RepositoryService repositoryService = processEngine.getRepositoryService();//布署当前目录下test.jpdl.xml文件String deploymentId = repositoryService.createDeployment().addResourceFromClasspath("test.jpdl.xml").de ploy();在我们实际应用中,addResourceFromInputStream和addResourcesFromZipInputStream运用较多。
jbpm工作流全程笔记

1. 工作流<1> 工作流(Workflow):就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。
简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。
工作流是针对工作中具有固定程序的常规活动而提出的一个概念。
通过将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的。
<2> 工作流就是工作流程的计算机化,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。
工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。
<3> 通俗的说,就是多个人在一起合作完成某件事情。
<4> 工作流可实现业务或公文的申请、审批、会签、登记、操作等环节的管理,可将工作过程进行记录,便于日后检查。
并实现数据的规范化录入、查询、统计和存档。
OA(办公自动化)主要技术之一就是工作流。
2. 工作流管理系统(Workflow Management System, WfMS)<1> 主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。
工作流需要依靠工作流管理系统来实现。
<2> 工作流管理系统是定义、创建、执行工作流的系统,应能提供以下三个方面的功能支持:①定义工作流:包括具体的活动、规则等;②运行控制功能:在运行环境中管理工作流过程,对工作流过程中的活动进行调度;③运行交互功能:指在工作流运行中,WfMS与用户(活动的参与者)及外部应用程序工具交互的功能。
3. JBPM,全称是Java Business Process Management<1> JBPM是一种基于J2EE的轻量级工作流管理系统,jBPM是公开源代码项目, 官方主页为:/jbossjbpm<2> Jbpm的使用** 步骤* 编写流程定义(定义规则);* 部署流程定义到系统中;* 执行流程(使用指定的流程定义);①编写流程定义举例:员工报销费用的流程描述:员工需要先填写报销单据;交给其经理进行审批;审批(通过)后到财务去领款。
jbpm-工作流的基本操作

jbpm-⼯作流的基本操作删除流程实例:Jbpm流程引擎定义:jbpm,全称是Java Business Process Management(业务流程管理),他是覆盖了业务流程管理,⼯作流管理,服务协作等领域的⼀个开源的,灵活的,易扩展的可执⾏的流程语⾔框架作⽤:jbpm的流程框架⾮常灵活,使⽤起来也⾮常安全,降低开发的风险,同时jbpm拥有⾃⼰的图形化开发⼯具,⾮常⽅便随时了解和掌握运⾏的进程Jbpm的开发步骤:1、引⼊jbpm 4.4 jar2、引⼊jbpm.cfg.xml、jbpm.hibernate.cfg.xml核⼼配置⽂件如图:Jbpm.cfg.xml 配置:<?xml version="1.0" encoding="UTF-8"?><jbpm-configuration><import resource="jbpm.default.cfg.xml" /><import resource="jbpm.businesscalendar.cfg.xml" /><import resource="jbpm.tx.hibernate.cfg.xml" /><import resource="jbpm.jpdl.cfg.xml" /><import resource="jbpm.bpmn.cfg.xml" /><import resource="jbpm.identity.cfg.xml" /><!-- Job executor is excluded for running the example test cases. --><!-- To enable timers and messages in production use, this should be included. --><!--<import resource="jbpm.jobexecutor.cfg.xml" />--></jbpm-configuration>Jbpm.hibernate.cfg.xml 配置:<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.url">jdbc:mysql:///jbpm</property><property name="ername">root</property><property name="hibernate.connection.password">123456</property><property name="hibernate.hbm2ddl.auto">update</property><property name="hibernate.format_sql">true</property><property name="hibernate.show_sql">true</property><mapping resource="jbpm.repository.hbm.xml" /><mapping resource="jbpm.execution.hbm.xml" /><mapping resource="jbpm.history.hbm.xml" /><mapping resource="jbpm.task.hbm.xml" /><mapping resource="jbpm.identity.hbm.xml" /></session-factory></hibernate-configuration>Log4j.properties 配置:### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.erryout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### direct messages to file mylog.log ###log4j.appender.file=org.apache.log4j.FileAppenderlog4j.appender.file.File=c:/mylog.logyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### set log levels - for more verbose logging change 'info' to 'debug' ###log4j.rootLogger=info, stdout3、创建表结构(有18张表)4、/**5、 * 使⽤jbpm ⽅式创建表结构 18张表6、 */7、public void createTable()8、 {9、 org.jbpm.api.Configuration.getProcessEngine();}流程引擎的使⽤步骤:1 、部署流程实例:1、public void deploy()2、 {3、//通过Configuration 类构建流程引擎对象4、 ProcessEngine processEngine = Configuration.getProcessEngine();5、6、//获取RepositoryService 接⼝服务7、 RepositoryService repositoryService = processEngine.getRepositoryService(); 8、9、//发布的⽅式:零散发布10、 repositoryService.createDeployment()11、 .addResourceFromClasspath("jbpm_test.jpdl.xml")12、 .addResourceFromClasspath("jbpm_test.png")13、 .deploy();14、 }其他发布⽅式:2、启动流程实例:public void startProcessInstanceByKey(){//通过Configuration 类构建流程引擎对象ProcessEngine processEngine = Configuration.getProcessEngine();//获取ExecutionService 对象ExecutionService executionService = processEngine.getExecutionService();executionService.startProcessInstanceByKey("jbpm_test"); //key 默认为流程⽂件名称 }3、查询个⼈任务ProcessEngine processEngine = Configuration.getProcessEngine();TaskService taskService = processEngine.getTaskService();List<Task> list = taskService.findPersonalTasks("员⼯");for(Task t:list){System.out.println("任务编号:"+t.getId());System.out.println("任务名称:"+t.getName());}4、办理个⼈任务public void personalComplete(){ProcessEngine processEngine = Configuration.getProcessEngine();TaskService taskService = processEngine.getTaskService();pleteTask("50002"); //任务id}流程变量设置:public void taskComplete(){TaskService taskService = Configuration.getProcessEngine().getTaskService();Map<String, User> userMap = new HashMap<String, User>();User user = new User();user.setDay(2);user.setName("⼩明");userMap.put("user", user);//办理业务并设置流程变量taskService.setVariables("240002", userMap);pleteTask("240002");}流程引擎ProcessEngine 的六⼤服务接⼝:流程引擎processEngine 对象的获取:通过Configuration 类的构建如:ProcessEngine processEngine = Configuration.getProcessEngine();1、 RepositoryService 接⼝(流程资源服务):RepositoryService service= processEngine.getRepositoryService()作⽤:提供对流程的部署、删除、查询和流程图的查看操作。
jbpm数据库表说明

JBPM数据库表说明1 流程配置类数据库表:1.1 JBPM_PROCESSDEFINITION:流程模版表1.2 JBPM_NODE:流程节点表1.3 JBPM_TRANSITION:流程迁移表1.4 JBPM_ACTION:流程动作表1.5 JBPM_EVENT:流程事件表1.6 JBPM_DELEGATION:流程代办署理类表〔用于实例化jbpm 中的action类〕1.7 JBPM_TASK:流程任务表1.8 JBPM_TASKCONTROLLER:流程任务控制器1.9 JBPM_VARIABLEACCESS:流程变量表1.10 JBPM_MODULEDEFINITION:流程模块定义表JBPM_EXCEPTIONHANDLER:流程异常处置器表1.12 JBPM_DECISIONCONDITION:DECISION节点判断条件表1.13 JBPM_ SWINLANE:DECISION节点判断条件表2 流程运行类数据库表:2.1 JBPM_PROCESSINSTANCE:流程实例表JBPM_TOKEN:流程TOKEN表2.3 JBPM_LOG:流程日志表2.4 JBPM_RUNTIMEACTION:流程实时ACTION表2.5 JBPM_VARIABLEINSTANCE:流程变量实例表2.6 JBPM_COMMENT:流程备注信息表2.7 JBPM_MESSAGE:流程异步动静表2.8 JBPM_TIMER:流程按时器表2.9 JBPM_TOKENVARIABLEMAP:流程TOKEN变量MAP表2.10 JBPM_MODULEINSTANCE:流程模块实例表2.11 JBPM_BYTEARRAY:文件模块形式的流程变量实例表2.12 JBPM_BYTEBLOCK:。
JBoss Jbpm介绍

工作流(Workflow)
工 作 流 技 术 框 架
工作流管理系统(WFMS)
工作流管理系统(Workflow Management System, WFMS)是一个软件系统,它完成工作流的定义和 管理,并按照在系统中预先定义好的工作流逻辑进 行工作流实例的执行。 工作流管理系统不是企业的 业务系统,而是为企业的业务系统的运行提供了一 个软件的支撑环境。
end-tasks
属性 可选的 {yes|no|true|false}, 默认是false。 元素 [0..*]
task
a) b)
c)
task-node节点 例子: <task-node name='a'> <task name='laundry' /> <task name='dishes' /> <task name='change nappy' /> <transition to='b' /> </task-node> 这里没有定义signal属性的值,这就表明当节点中 的三个任务都完成后,流程才进入后面的节点 当<task-node name=‘a’ signal=‘unsynchronized’> 表明token不会在本节点停留,而是直接到后面的 节点 当<task-node name=‘a’ signal=‘never’>表明三个 任务都完成后,token仍然不会指向后面的节点; 需要自己手动调用processInstance.signal()才会驱 动流程到下面的节点
名称 Name Task Event 类型 属性 元素 元素 多样性 描述 可选的 节点的名称。 [0..1] [0..*] [0..*] [0..*] 起始一个流程实例的任务,或者用来捕获流程 发起者 支持的事件类型:{node-leave}。 离开转换,每个离开节点的转换必须有一个不 同的名称。 一个异常处理器列表,用于这个流程节点中的 委托类所抛出的所有异常。
jBPM4.4详细讲解

jBPM4.4一、什么是jBPMJBPM是一个扩展性很强的工作流系统,百分百用JAVA语言开发,持久层采用Hibernate实现,理论上说,只要Hibernate支持的数据库JBPM都支持。
同时它还能被部署在任何一款JAVA应用服务器上。
java Business Process Management :工作流,工作流引擎注:记得j小写,因为j代表java,与Log4j中j一样工作流管理系统不止一中,如还有Intaliol BPMS …但JBoss jBPM灵活性且扩展性高。
jBPM项目于2002.3由Tom Baeyens 发起,2003.12发布1.0版本,2004年10.18发布2.0,并在这天加入了JBOSS组织-→被RedHat公司二、能干什么提供工作流的实现,帮助更好的进行BPM三、jBPM有什么,简介jBPM的Service API 各种服务1:ProcessEngine:流程引擎。
并不负责具体的业务,而是用于获取各种Service。
2:RepositoryService:流程资源服务的接口,如流程定义发布、查询、删除等。
3:ExecutionService:用于操作流程实例的服务,可以进行流程实例发布、查询、流程推进、设置流程变量等操作。
4:TaskService:用于操作人工任务的服务,可以进行任务创建、查询、获取、提交完成、保存、删除等操作。
5:HistoryService:用于操作流程历史的服务,提供对流程历史库(就是已经完成的流程实例)的操作。
比如:历史流程实例,历史活动实例等。
6:IdentityService:用于操作用户、用户组以及成员关系的服务7:ManagementService:流程管理控制服务的接口,只提供异步工作(Job)相关的执行和查询操作。
四、Myeclipse8.5 搭配开发环境1.jbpm-4.4.zip 下载完2.myeclipse→help→Myeclipse Configuration Center →add…….3.找到\jbpm-4.4\install\src\gpd\jbpm-gpd-site.zip 安装这个插件4.记得不要联网安装,不要选source文件5.安装完后window→JBoss jBPM→runtime Location→add 添加jbpm的路径6.添加lib下所有jar包,如果你使用的是tomcat6.0则:要把Juel-api.jar ,juel-impl.jar,juel-engine.jar 拷到tomcat lib 下并把原来的el-api.jar删掉项目中就不要再导上面三个包五、修改配置文件1、将example中的下列配置文件拷贝到java项目的src目录下:jBPM.cfg.xml、jBPM.hibernate.cfg.xml、jBPM.mail.properties、jBPM.mail.templates.xml、process_forms.css2、在以上配置文件中的jBPM.hibernate.cfg.xml,实际上就是我们熟悉的hibernate.cfg.xml,这里,要修改为连接我们的数据库。
Jbpm表结构说明

Jbpm表结构说明JBPM_ACTION action记录表JBPM_DECISIONCONDITIONS 结果条件表JBPM_DELEGATION 委托表JBPM_EVENT 事件表处理进入或者离开事件JBPM_EXCEPTIONHANDLER 异常处理表JBPM_ID_GROUP 用户组表JBPM_ID_MEMBERSHIP 用户成员表表现用户和组之间的多对多关系JBPM_ID_PERMISSIONS 用户权限表JBPM_ID_USER 用户表JBPM_MODULEDEFINITION 模块定义表JBPM_MODULEINSTANCE 模块实例表JBPM_NODE 流程节点表JBPM_POOLEDACTOR 汇集参与着表JBPM_PROCESSDEFINITION 流程定义表JBPM_PROCESSFILE 流程文件表JBPM_PROCESSFILEBLOCK 流程文件块表JBPM_PROCESSINSTANCE 流程实例表JBPM_RUNTIMEACTION 运行中行为表JBPM_SCRIPTVARIABLES 脚本变量表JBPM_SWIMLANE 泳道表JBPM_SWIMLANEINSTANCE 泳道实例表JBPM_TASK 任务表JBPM_TASKACTORPOOL 用户行为汇总JBPM_TASKINSTANCE 任务实例JBPM_TIMER 计时表JBPM_TOKEN 令牌表JBPM_TOKENVARIABLEMAP 令牌变量影射表JBPM_TRANSITION 转换表JBPM_VARIABLEINSTANCE 变量实例表JBPM_VARIABLEINSTANCEBLOCK 变量实例块表JBPM_VARIABLEMAPPING 变量影射表/wiki/attach?page=Jbpm31DataModel%2FJBoss+jBPM+Definition+Dat a+Model.png表结构图片。
( BPM业务流程管理)数据库表

(BPM业务流程管理)数据库表JBPM数据库表说明1流程配置类数据库表:1.1JBPM_PROCESSDEFINITION:流程模版表1.2JBPM_NODE:流程节点表1.3JBPM_TRANSITION:流程迁移表1.4JBPM_ACTION:流程动作表1.5JBPM_EVENT:流程事件表1.6JBPM_DELEGATION:流程代理类表(用于实例化jbpm中的action类)1.7JBPM_TASK:流程任务表1.8JBPM_TASKCONTROLLER:流程任务控制器1.9JBPM_VARIABLEACCESS:流程变量表1.10JBPM_MODULEDEFINITION:流程模块定义表1.11JBPM_EXCEPTIONHANDLER:流程异常处理器表1.12JBPM_DECISIONCONDITION:DECISION节点判断条件表1.13JBPM_SWINLANE:DECISION节点判断条件表2流程运行类数据库表:2.1JBPM_PROCESSINSTANCE:流程实例表2.2JBPM_TOKEN:流程TOKEN表2.3JBPM_LOG:流程日志表2.4JBPM_RUNTIMEACTION:流程实时ACTION表2.5JBPM_VARIABLEINSTANCE:流程变量实例表2.6JBPM_COMMENT:流程备注信息表2.7JBPM_MESSAGE:流程异步消息表2.8JBPM_TIMER:流程定时器表2.9JBPM_TOKENVARIABLEMAP:流程TOKEN变量MAP表2.10JBPM_MODULEINSTANCE:流程模块实例表2.11JBPM_BYTEARRAY:文件模块形式的流程变量实例表2.12JBPM_BYTEBLOCK:补:JBPM_TASKINSTANCE:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注:红色的表为经常使用的表.这里不使用JBPM自己的权限角色定义.
整体说明:
JBPM4_DEPLOYMENT 流程定义表
JBPM4_DEPLOYPROP 流程定义属性表
JBPM4_EXECUTION 流程实例表
JBPM4_HIST_ACTINST 流程活动(节点)实例表
JBPM4_HIST_DETAIL 流程历史详细表
JBPM4_HIST_PROCINST 流程实例历史表
JBPM4_HIST_TASK 流程任务实例历史表
JBPM4_HIST_VAR 流程变量(上下文)历史表
JBPM4_ID_GROUP 组表
JBPM4_ID_MEMBERSHIP 用户角色表
JBPM4_ID_USER 用户表
JBPM4_JOB 定时表
JBPM4_LOB 存储表
JBPM4_PARTICIPATION 参与者表
JBPM4_SWIMLANE 泳道表
JBPM4_TASK 任务表
JBPM4_VARIABLE 上下文表
红色的表为经常使用的表.这里不使用JBPM自己的权限角色定义.
发布一个流程deploy后
jbpm4_deployment新增一条记录
jbpm4_deployprop新增三条记录
jbpm4_lob 新增一条记录
开始一个流程startProcessInstanceByKey后
jbpm4_execution新增一条记录
jbpm4_hist_actinst 新增一条记录
jbpm4_hist_procinst新增一条记录
jbpm4_hist_task新增一条记录
jbpm4_task 新增一条记录
流程定义相关的布署信息就存储在(1)JBPM4_DEPLOYMENT、(2)
JBPM4_DEPLOYPROP及(3)JBPM4_LOB中。
上传一个包含png和jpdl.xml的zip包后,JBPM4_DEPLOYMENT多一条记录 JBPM4_DEPLOYPROP 多三条,
JBPM4_LOB多两条。
(4)J B PM4_HIST_PROCINST与(5)JBPM4_HIST_ACTINST分别存放的是Process Instance、Activity Instance的历史记录。
(6)JBPM4_EXECUTION主要是存放JBPM4的执行信息,Execution机制代替了JBPM3的Token机制(详细参阅JBPM4的PVM机制,过段时间我也会进一步分析)。
(7)JBPM4_TASK存放需要人来完成的Activities,需要人来参与完成的Activity 被称为Task。
(8)JBPM4_PARTICIPATION存放 Participation的信息,Participation的种类有Candidate、Client、Owner、 Replaced Assignee和Viewer。
而具体的Participation既可以是单一用户,也可以是用户组。
(9)JBPM4_SWIMLANE。
Swim Lane是一种Runtime Process Role。
通过Swim Lane,多个Task可以一次分配到同一Actor身上。
(10)JBPM4_VARIABLE存的是进行时的临时变量。
(11)JBPM4_HIST_DETAIL保存 Variable的变更记录。
(12)JBPM4_HIST_VAR保存历史的变量。
(13)JBPM4_HIST_TASK Task的历史信息。
(14)JBPM4_ID_GROUP(15)JBPM_ID_MEMBERSHIP(16)JBPM4_ID_USER这三张表很常见了,基本的权限控制,关于用户认证方面建议还是自己开发一套,JBPM4的功能太简单了,使用中有很多需要难以满足。
(17)JBPM4_JOB存放的是Timer 的定义。
(18)JBPM4_PROPERTY JBPM引擎参数表。
1.1.1.1. 表JBPM4_DEPLOYMENT
1.1.1.
2. 表JBPM4_DEPLOYPROP
1.1.1.3. 表JBPM4_EXECUTION
1.1.1.4. 表JBPM4_HIST_ACTINST
1.1.1.5. 表JBPM4_HIST_DETAIL
1.1.1.6. 表JBPM4_HIST_PROCINST
1.1.1.7. 表JBPM4_HIST_TASK
1.1.1.8. 表JBPM4_HIST_VAR
1.1.1.9. 表JBPM4_ID_GROUP
1.1.1.10. 表JBPM4_ID_MEMBERSHIP
1.1.1.11. 表JBPM4_ID_USER
1.1.1.1
2. 表JBPM4_JOB
1.1.1.13. 表JBPM4_LOB
1.1.1.14. 表JBPM4_PARTICIPATION
1.1.1.15. 表JBPM4_PROPERTY
1.1.1.16. 表JBPM4_SWIMLANE
1.1.1.17. 表JBPM4_TASK
1.1.1.18. 表JBPM4_VARIABLE
流程定义相关的布署信息就存储在
(1)JBPM4_DEPLOYMENT、(2)JBPM4_DEPLOYPROP及(3)JBPM4_LOB中。
上传一个包含png 和jpdl.xml的zip包后,JBPM4_DEPLOYMENT多一条记录JBPM4_DEPLOYPROP多三条,JBPM4_LOB多两条。
(4)JBPM4_HIST_PROCINST与(5)JBPM4_HIST_ACTINST分别存放的是Process Instance、Activity Instance的历史记录。
(6)JBPM4_EXECUTION主要是存放JBPM4的执行信息,Execution机制代替了JBPM3的Token 机制(详细参阅JBPM4的PVM机制,过段时间我也会进一步分析)。
(7)JBPM4_TASK存放需要人来完成的Activities,需要人来参与完成的Activity被称为T ask。
(8)JBPM4_PARTICIPATION存放Participation的信息,Participation的种类有Candidate、Client、Owner、Replaced Assignee和Viewer。
而具体的Participation既可以是单一用户,也可以是用户组。
(9)JBPM4_SWIMLANE。
Swim Lane是一种Runtime Process Role。
通过Swim Lane,多个T ask 可以一次分配到同一Actor身上。
(10)JBPM4_VARIABLE 存的是进行时的临时变量。
(11)JBPM4_HIST_DETAIL保存Variable的变更记录。
(12)JBPM4_HIST_VAR保存历史的变量。
(13)JBPM4_HIST_TASK Task的历史信息。
(14)JBPM4_ID_GROUP(15)JBPM_ID_MEMBERSHIP(16)JBPM4_ID_USER 这三张表很常见了,基本的权限控制,关于用户认证方面建议还是自己开发一套,JBPM4的功能太简单了,使用中有很多需要难以满足。
(17)JBPM4_JOB 存放的是Timer的定义。