Activiti的基本配置

工作流的定义

Activiti的介绍

Activiti的基本配置

Activiti数据库表介绍

什么是工作流(WorkFlow)

工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。
比如员工请假,就是由:员工申请、主管审批、人事确认等工作流程组成,在软件系统中这套流程就被看作一个工作流。

各种企业和事业机构都有可能用到工作流,如:

关键业务:订单、报价处理、采购处理、合同审核、客户电话处理、供应链管理等
行政管理:出差申请、加班申请、请假申请、用车申请、各种办公用品申请、购买申请、日报周报等凡是原来手工流转处理的行政表单。
人事管理:员工培训安排、绩效考评、职位变动处理、员工档案信息管理等。
财务相关:付款请求、应收款处理、日常报销处理、出差报销、预算和计划申请等。
客户服务:客户信息管理、客户投诉、请求处理、售后服务管理等。
特殊服务:ISO系列对应流程、质量管理对应流程、产品数据信息管理、贸易公司报关处理、物流公司货物跟踪处理等各种通过表单逐步手工流转完成的任务均可应用工作流软件自动规范地实施。

什么是Activiti

Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。

创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师Joram Barrez,一起加入到创建Alfresco这项首次实现Apache开源许可的BPMN 2.0引擎开发中来。

Activiti是一个独立运作和经营的开源项目品牌,并将独立于Alfresco开源ECM系统运行。Activiti将是一种轻量级,可嵌入的BPM引擎,而且还设计适用于可扩展的云架构。 Activiti将提供宽松的Apache许可2.0,以便这个项目可以广泛被使用,同时促进Activiti BPM引擎和BPMN 2.0的匹配,该项目现正由OMG通过标准审定。 加入Alfresco Activiti项目的是VMware的SpringSource分支,Alfresco的计划把该项目提交给Apache基础架构,希望吸引更多方面的BPM专家和促进BPM的创新。

Activiti的基本配置

开发环境:IDEA + Maven + Activiti6.0

1、Idea安装Activiti插件

打开Idea 选择File-settings-plugings-点击选择Browse repositories

然后在搜索框输入:actiBPM,看到如下窗体,未安装的情况下会出现Install按钮,点击按钮安装插件,然后重启Idea。

2、点击File-New-Project选择Maven项目(IDEA和Maven的配置可以参考:

https://jingyan.baidu.com/article/a3a3f811cd5f0b8da2eb8abf.html)

在Maven的项目模板中选择webapp,创建项目

3、引入相关的包,activiti的数据库操作由mybatis实现,还需要依赖spring框架进行配置,数据库这里我们使用MySQL以及c3p0连接池。

在pom.xml的dependencies中添加:

dependency

groupIdjunit/groupId

artifactIdjunit/artifactId

version4.12/version

scopetest/scope

/dependency

dependency

groupIdorg.mybatis/groupId

artifactIdmybatis/artifactId

version3.4.4/version

/dependency

dependency

groupIdmysql/groupId

artifactIdmysql-connector-java/artifactId

version5.1.40/version

/dependency

dependency

groupIdcom.mchange/groupId

artifactIdc3p0/artifactId

version0.9.5.2/version

/dependency

dependency

groupIdorg.springframework/groupId

artifactIdspring-context/artifactId

version4.3.11.RELEASE/version

/dependency

dependency

groupIdorg.springframework/groupId

artifactIdspring-jdbc/artifactId

version4.3.11.RELEASE/version

/dependency

dependency

groupIdorg.springframework/groupId

artifactIdspring-test/artifactId

version4.3.11.RELEASE/version

/dependency

dependency

groupIdlog4j/groupId

artifactIdlog4j/artifactId

version1.2.12/version

/dependency

!-- https://mvnrepository.com/artifact/org.activiti/activiti-engine --

dependency

groupIdorg.activiti/groupId

artifactIdactiviti-engine/artifactId

version6.0.0/version

/dependency

dependency

groupIdorg.activiti/groupId

artifactIdactiviti-spring/artifactId

version6.0.0/version

/dependency

4、添加配置文件,在项目的resources文件中添加配置文件:

1、配置log4j日志文件log4j.properties

log4j.rootLogger=INFO,Console

#Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern=%-5p - %m%n

2、Activiti的核心配置文件:activiti.cfg.xml,注意:这个文件名会由Activiti框架自动识别,所以不要写错。

?xml version=1.0 encoding=UTF-8?

beans xmlns=http://www.springframework.org/schema/beans

xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance

xsi:schemaLocation=http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd

!-- 配置数据库连接池 --

bean id=dataSource class=com.mchange.v2.c3p0.ComboPooledDataSource

property name=driverClass value=com.mysql.jdbc.Driver/

property

name=jdbcUrl value=jdbc:mysql://localhost:3306/act?useUnicode=trueamp;characterEncoding=UTF-8amp;useSSL=true/

property name=user value=root /

property name=password value=123456/

/bean

!-- 配置事务管理 --

bean

id=transactionManager class=org.springframework.jdbc.datasource.DataSourceTransactionManager

property name=dataSource ref=dataSource/

/bean

!-- Activiti的配置 --

bean

id=processEngineConfiguration class=org.activiti.spring.SpringProcessEngineConfiguration

property name=dataSource ref=dataSource/

property name=transactionManager ref=transactionManager/

property name=databaseSchemaUpdate value=true/

/bean

!--配置工厂,用于创建流程引擎 id必须为processEngine--

bean id=processEngine class=org.activiti.spring.ProcessEngineFactoryBean

property

name=processEngineConfiguration ref=processEngineConfiguration/

/bean

/beans

Activiti数据库表介绍

单元测试:

1、在项目的src目录上右键-New-Directory添加test目录,

2、点击test目录右键选择Mark Directory As-- Test Source Directory

3、添加单元测试类ActivitiTest

/**

* 工作流单元测试

*/

public class ActivitiTest {

@Test

public void testInitActiviti(){

//获得流程引擎,自动读取activiti.cfg.xml中的配置

ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();

}

}

4、运行单元测试,会在MySQL的act数据库中创建23张表

所有表都是以act开头,ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。

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

ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。

ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。

ACT_GE_*: 通用数据, 用于不同场景下。

具体说明:

IMG_256

到此我们就完成了Activiti框架的基本配置,后面我们还会学习如何创建和部署工作流,使用工作流完成启动、查询和审核流程的工作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值