activiti开发笔记

act_ge_bytearray  多个对1个   act_re_deploymenthtml

数据库说明:
ACT_RE_*  RE 表示 repository .
这个前缀表包含了流程定义 和流程静态资源(图片,规则等等)git

ACT_RU_*  RU表示 runtime  
这些运行时的表,包含流程实例,任务,变量,异步任务,
等运行中的数据。 Activiti 只在流程实例执行过程当中保存这些数据,在流程结束时会删除这些记录。
这样运行时表能够一直很小,速度很快程序员

ACT_ID_*  ID表示identity .
这些表包含身份信息,好比用户,组等等github

ACT_HI_*  HI表示history .
这些表包含历史数据,好比历史流程实例,变量,任务等等数据库

ACT_GE_* 通用数据 ,用于不一样场景下,如存放资源文件api


1, 资源库流程规则表
1) act_re_deployment 部署信息表缓存

2) act_re_model  流程设计模型部署表并发

3) act_re_procdef   流程定义数据表框架

2,  运行时数据库表eclipse

1) act_ru_execution  运行时流程执行实例表

2) act_ru_identitylink  运行时流程人员表,
注意存储任务节点与参与者的信息

3)act_ru_task  运行时任务节点表

4)  act_ru_variable 运行时流程变量数据表


3, 历史数据库表

1)  act_hi_actinst  历史节点表

2)  act_hi_attachment  历史附件表

3)   act_hi_comment 历史意见表

4)  act_hi_identitylink  历史流程人员表

5) act_hi_detail  历史详情表,提供历史变量的查询

6)  act_hi_procinst 历史流程实例表

7)  act_hi_taskinst  历史任务实例表

8)  act_hi_varinst  历史变量表

4, 组织机构表

1) act_id_group  用户信息表

2) act_id_info  用户扩展信息表

3) act_id_membership  用户与用户组对应信息表

4)  act_id_user  用户信息表

这四张表很常见,基本的组织机构管理。关于用户认证方便建议仍是
本身开发一套,组件自带的功能太简单,使用中有不少需求难以知足

5, 通用数据表

1) act_ge_bytearray  二进制数据表

2) act_ge_property 属性数据表存储整个流程引擎级别的数据
初始化表结构时,会默认插入三条记录


8,使用eclipse activiti 插件生成
生成的 *.bpmn20.xml  是给 计算机进行流程的执行和信息的传递使用的
好比: HelloWorld.bpmn20.xml
早起可能还会生成 *.png 好比 HelloWorld.png  流程的 图片,目前生成了放在数据库里面了,是给 
客户进行查看的,进行理解

若是须要 流程图 png ,那么就能够在eclipse --Windows--Preference--Activiti--save Action 
将 Create process definition image... 勾上
这样当生成 bpmn 文件时候也会在下面生成图片的,这样能够保存给用户看了等等
由于在实际开发过程当中,经过 bpmn生成的 流程图,可能会因为坐标的缘由有偏差,
因此生成图片时候就 保存 显示给用户看便可


9,注意:
工做流activiti 的表使用存放流程数据的
而业务的数据须要程序员本身去建立和维护的
必定须要业务去和关联流程 才能去开发工做流系统

 

 


10, 

服务类说明:
RepositoryService  管理流程定义
RuntimeService  执行管理,包括启动,推动,删除流程实例等操做
TaskService  任务管理
HistoryService  历史管理  执行完的数据的管理
IdentityService  组织机构管理--成员组等
FormService   一个可选服务,任务表单管理


11, bpmn文件,在部署后,每次系统启动是都会被解析,把内容封装成流程定义放入项目缓存中,、、
Activiti 框架结合这个xml文件自动管理流程,流程的执行就按照bpmn文件定义的规则执行的

12, 流程定义是不能修改的
若是须要修改就 再生成一个 修改后的bpmn文件流程,而后再次部署,
key相同也就是 升级一个版本了


13, 
Deployment 类 部署对象
一次部署的多个文件的信息,对于不须要的流程能够删除和修改

ProcessDefinition  类
解析 .bpmnhou 获得的流程定义规则的信息,工做流系统就是按照流程定义的规则执行的

14, 一个 Task节点和 Execution 节点是 1对1 的状况,在task对象中使用 Execution 来表示
他们之间的关系

在activiti 任务中,主要分为两大类查询任务,(我的任务和组任务)
1),确切指定了办理者的任务,这个将成为指定者的私有任务,即我的任务

2), 没法指定具体的某一我的来办理的任务,能够把任务分配给几我的或一道多个小组,让这个
范围内的用户能够选择性来办理这类人,组任务


15, ProcessInstance 类
表明流程定义的执行实例,若是某一我的请了一天的加,就必须发出一个流程实例的申请,
一个流程实例包括了全部的运行节点,咱们能够利用这个对象来了解当前流程实例的进度等信息
流程实例就表示一个流程从开始到结束的最大分支

Execution类 ,去描述流程执行的每个节点,在没有并发的状况下,
Execution 就是 ProcessInstance .
执行中出现同时执行的分支时候,每一个分支就是 一个 Execution 

ProcessInstance 继承了 Execution 类 


16, 流程变量在整个工做流中很重要,
例如,请假流程中有请假天数,
请假缘由等一些参数都为流程变量的范围。
而流程变量的做用域范围是只对应一个流程实例,
也就是说各个流程实例的流程变量是不互相影响的。
流程实例结束后之后流程变量还保存在数据库中。

设置流程变量(名--值)
获取流程变量(经过 名--值)来获取的

流程变量 是有固定的支持类型的,能够去查看api 中文文档的
或者是 说明文档

taskService.setVariable :
设置流程变量的时候,流程变量名称相同的时候,后一次的值替换前一次的值,
并且能够看到 task_id的字段不会存听任务ID的值

taskService.setVariableLocal :
设置流程变量的时候,针对当前活动的节点设置流程变量,若是一个流程中存放2个
活动节点,对每一个活动节点都设置流程变量,即便流程变量的名称相同,后一次的版本的值也不会
替换前一次的值,它会使用不一样的任务ID task_id 做为标识,存放2个流程变量的值,
并且能够看到 TASK_ID 就是存听任务的id 
还有 taskService.setVariableLocal 绑定了当前的任务,当流程继续执行时,下个任务
获取不到这个流程变量(由于正在执行的流程变量中没有这个数据),
全部查询正在执行的任务时不能查询到数据,此时须要查询历史的流程变量的数据
去历史流程变量的表去查。

 

一些activiti 学习地址:

17,
activiti 官网

 http://www.activiti.org/download.html    http://jingyan.baidu.com/article/49ad8bce52e1515835d8fa56.html?st=2&os=0&bd_page_type=1&net_type=1    http://jingyan.baidu.com/article/48b37f8d67b8e21a646488c5.html    http://www.open-open.com/lib/view/open1350460225367.html    http://wenku.baidu.com/link?url=YbC3XYj__I7EUV8bSC0nH74p_cTNKg0uS7oJB0lwGYQrhUQVU8G7GVMiHxqh6CG0EVk-Fw7xb3kFfeAsdEpdQEgPPQNGXWPBlefemxwTa5_    插件eclipse 的activiti  http://www.itxxz.com/a/gaoji/2015/0116/eclipse_activiti_install.html  http://www.tuicool.com/articles/yUnURjy  http://www.cnblogs.com/strinkbug/p/4876819.html  https://my.oschina.net/githubhty/blog/690269?p={{currentPage+1}}      教程  http://blog.csdn.net/yangyi22/article/details/9225849    用户手册:  http://www.mossle.com/docs/activiti/index.html#license

相关文章
相关标签/搜索