测试80-掉线
2023年4月4日发(作者:百度魔图pk大咖)
Activity⼯作流配置
⼀、什么是⼯作流
⼯作流(Workflow),就是“业务过程的部分或整体在计算机应⽤环境下的⾃动化”,它主要解决的是“使在多个参与者之间按照某种
预定义的规则传递⽂档、信息或任务的过程⾃动进⾏,从⽽实现某个预期的业务⽬标,或者促使此⽬标的实现”。
⼯作流管理系统(WorkflowManagementSystem,WfMS)是⼀个软件系统,它完成⼯作量的定义和管理,并按照在系统中预先定义
好的⼯作流逻辑进⾏⼯作流实例的执⾏。⼯作流管理系统不是企业的业务系统,⽽是为企业的业务系统的运⾏提供了⼀个软件的⽀撑环境。
⼆、常见的⼯作流框架
流⾏的⼯作流框架有:Activity5.13、JBPM4.4、OSWorkFlow、WorkFlow
⼯作流框架底层需要有提供⽀持,activiti5.13版本,有23张表。
JBPM4.4框架底层有数据库⽀持,18张表。
JBPM底层使⽤操作数据库。
Activiti框架底层使⽤的mybatis操作数据库。
三、Activiti5介绍
Activiti5是由Alfresco软件在2010年5⽉17⽇发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、⼯作流、服务协作等领域
的⼀个开源的、灵活的、易扩展的可执⾏流程语⾔框架。Activiti基于Apache许可的开源BPM平台,创始⼈TomBaeyens是JBossjBPM
的项⽬师,它特⾊是提供了eclipse插件,开发⼈员可以通过插件直接绘画出业务流程图。
四、安装activiti流程设计器插件
第⼀步:获得下载activiti-eclipse插件的安装包
第⼆步:解压安装包,复制解压⽂件⾥⾯的activiti到eclipse中的dropins⽬录中
第三步:重启eclipse,勾选save选项
第四步:如果重启eclipse⽆法显⽰activiti图标,表明所使⽤的eclipse版本不⽀持该插件,可以选择换myeclipse或其他版本的eclipse
五、初始化activiti框架数据表
5.1下载activiti框架
5.2创建⼀个数据库
5.3使⽤activiti框架的⾃动建表功能
activiti框架提供了和hibernate类似的⾃动建表功能
搭建开发环境:
第⼀步:创建⼀个项⽬activiti1110
第⼆步:导⼊jar包(从下载下来的activiti-5.13⼯作流引擎下⾯的DEMO导⼊jar包),还需要导⼊驱动包
1、不使⽤配置⽂件(不建议)
代码:
2、使⽤配置⽂件
配置⽂件如下:
[java]
ti;
2.
sEngine;
sEngineConfiguration;
;
6.
classHelloWorld{
8./**
9.*使⽤activiti框架提供的⾃动建表(没有配置⽂件)
10.*/
11.
12.@Test
voidtest1(){
14.//创建⼀个流程引擎配置对象
sEngineConfigurationconfiguration=StandaloneProcessEngineConfiguration();
16.//配置数据源
cDriver("");
cUrl("jdbc:mysql://localhost:3306/activiti_1110?useUnicode=true&characterEncoding=UTF-
8");
cUsername("root");
cPassword("root");
21.//设置⾃动建表
abaseSchemaUpdate("true");
23.//创建⼀个流程引擎对象,在创建流程引擎对象过程中会⾃动创建表
sEngineprocessEngine=rocessEngine();
25.}
26.}
测试代码:
3、使⽤配置⽂件(使⽤默认配置)
要求配置⽂件名称必须为或者因为,因为默认的配置aultProcessEngine();会
初始化这两个⽂件的其中⼀个,默认的配置信息如下:
[html]
1.
:context="/schema/context"
:tx="/schema/tx"
:xsi="/2001/XMLSchema-instance"
:schemaLocation="/schema/beans
:///schema/beans/
:///schema/context
:///schema/context/
:///schema/tx
:///schema/tx/">
11.
12.
13.
="loneProcessEngineConfiguration">
15.
16.
17.
18.
19.
20.
21.
[java]
1./**
2.*使⽤框架提供的⾃动建表(提供配置⽂件)---配置⽂件可以从框架提供的例⼦程序中获取
3.*/
4.@Test
voidtest2(){
resource="";//配置⽂件名称
beanName="processEngineConfiguration";//配置id值
sEngineConfigurationconf=ProcessEngineConfiguration
9..createProcessEngineConfigurationFromResource(resource,
me);
sEngineprocessEngine=rocessEngine();
12.}
测试代码:
六、了解23张表
Activiti的后台是有数据库的⽀持,所有的表都以ACT_开头。第⼆部分是表⽰表的⽤途的两个字母标识。⽤途也和服务的API对应。
1)ACT_RE_*:'RE'表⽰repository。这个前缀的表包含了流程定义和流程静态资源(图⽚,规则,等等)。
2)ACT_RU_*:'RU'表⽰runtime。这些运⾏时的表,包含流程实例,任务,变量,异步任务,等运⾏中的数据。Activiti只在流程实
例执⾏过程中保存这些数据,在流程结束时就会删除这些记录。这样运⾏时表可以⼀直很⼩速度很快。
3)ACT_ID_*:'ID'表⽰identity。这些表包含⾝份信息,⽐如⽤户,组等等。
4)ACT_HI_*:'HI'表⽰history。这些表包含历史数据,⽐如历史流程实例,变量,任务等等。
5)ACT_GE_*:通⽤数据,⽤于不同场景下。
资源库流程规则表
1)act_re_deployment部署信息表
2)act_re_model流程设计模型部署表
3)act_re_procdef流程定义数据表
运⾏时数据库表
1)act_ru_execution运⾏时流程执⾏实例表
2)act_ru_identitylink运⾏时流程⼈员表,主要存储任务节点与参与者的相关信息
3)act_ru_task运⾏时任务节点表
4)act_ru_variable运⾏时流程变量数据表
历史数据库表
1)act_hi_actinst历史节点表
[java]
1./**
2.*使⽤框架提供的⾃动建表(使⽤配置⽂件)
3.*/
4.@Test
voidtest3(){
sEngineprocessEngine=aultProcessEngine();
7.}
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历史变量表
组织机构表
1)act_id_group⽤户组信息表
2)act_id_info⽤户扩展信息表
3)act_id_membership⽤户与⽤户组对应信息表
4)act_id_user⽤户信息表
这四张表很常见,基本的组织机构管理,关于⽤户认证⽅⾯建议还是⾃⼰开发⼀套,组件⾃带的功能太简单,使⽤中有很多需求难以满
⾜
通⽤数据表
1)act_ge_bytearray⼆进制数据表
2)act_ge_property属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插⼊三条记录
更多推荐
activity工作流引擎
发布评论