测试80-掉线

activity工作流引擎
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工作流引擎