Activiti工作流引擎基础入门【收藏可做笔记系列】

Activiti基础-Activiti7

  • 一、工作流介绍
    • 1.1 概念
    • 1.2 工作流系统
    • 1.3 适用行业
    • 1.4 具体应用
    • 1.5 实现方式
  • 二、Activiti7概述
    • 2.1 介绍
      • 2.1.1 BPM
      • 2.1.2 BPM软件
      • 2.1.3 BPMN
    • 2.2 使用步骤
      • 部署activiti
      • 流程定义
      • 流程定义部署
      • 启动一个流程实例
      • 用户查询待办任务(Task)
      • 用户办理任务
      • 流程结束
  • 三、Activiti环境
    • 3.1 开发环境
    • 3.2 Activiti环境
      • 3.2.1 下载activiti7
      • 3.2.2 流程设计器IDEA下安装
    • 3.3 Activiti的数据库支持
      • 3.3.1 Activiti 支持的数据库
      • 3.3.2 在MySQL生成表
        • 3.3.2.1 创建数据库
        • 3.3.2.2 使用java代码生成表
          • 1) 创建 java 工程
          • 2) 加入 maven 依赖的坐标(jar 包)
          • 3) 添加log4j日志配置
          • 4) 添加activiti配置文件
          • 5) 在 activiti.cfg.xml 中进行配置
            • 1、直接配置processEngineConfiguration
            • 2、配置数据源后,在processEngineConfiguration 引用
          • 6) java类编写程序生成表
    • 3.4 表结构介绍
      • 3.4.1 表的命名规则和作用
      • 3.4.2 Activiti数据表介绍
  • 四、Activiti类关系图
    • 4.1 类关系图
    • 4.2 activiti.cfg.xml
    • 4.3 流程引擎配置类
      • 4.3.1 StandaloneProcessEngineConfiguration
      • 4.3.2 SpringProcessEngineConfiguration
      • 创建processEngineConfiguration
    • 4.4 工作流引擎创建
      • 4.4.1 默认创建方式
      • 4.4.2 一般创建方式
    • 4.5 Servcie服务接口
      • 4.5.1 Service创建方式
      • 4.5.2 Service总览
        • RuntimeService
        • TaskService
        • HistoryService
        • ManagementService
  • 五、Activiti入门
    • 5.1 流程符号
      • 事件 Event
      • 活动 Activity
      • 网关 GateWay
        • 排他网关 (x)
        • 并行网关 (+)
        • 包容网关 (+)
        • 事件网关 (+)
      • 流向 Flow
    • 5.2 流程设计器使用
      • Activiti-Designer使用
        • Palette(画板)
        • 新建流程(IDEA工具)
      • 绘制流程
      • 指定流程定义Key
      • 指定任务负责人
  • 六、流程操作
    • 6.1 流程定义
      • 概述
      • .bpmn文件
      • 生成.png图片文件
        • 1、修改文件后缀为xml
        • 2、使用designer设计器打开.xml文件
        • 3、查看打开的文件
        • 4、解决中文乱码
        • 5、导出为图片文件
    • 6.2 流程定义部署
      • 概述
      • 单个文件部署方式
      • 压缩包部署方式
      • 操作数据表
    • 6.3 启动流程实例
    • 6.4 任务查询
    • 6.5 流程任务处理
    • 6.6 流程定义信息查询
    • 6.7 流程删除
    • 6.8 流程资源下载
    • 6.9 流程历史信息的查看

声明:本文整理自黑马程序员Activiti讲义资料,仅作为资料参考学习使用,如有侵权联系删除。

一、工作流介绍

1.1 概念

工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。

1.2 工作流系统

一个软件系统中具有工作流的功能,我们把它称为工作流系统,一个系统中工作流的功能是什么是对系统的业务流程进行自动化管理,所以工作流是建立在业务流程的基础上,所以一个软件的系统核心根本上还是系统的业务流程,工作流只是协助进行业务流程管理。即使没有工作流业务系统也可以开发运行,只不过有了工作流可以更好的管理业务流程,提高系统的可扩展性。

1.3 适用行业

消费品行业,制造业,电信服务业,银证险等金融服务业,物流服务业,物业服务业,物业管理,大中型进出口贸易公司,政府事业机构,研究院所及教育服务业等,特别是大的跨国企业和集团公司。

1.4 具体应用

1、关键业务流程:订单、报价处理、合同审核、客户电话处理、供应链管理等

2、行政管理类:出差申请、加班申请、请假申请、用车申请、各种办公用品申请、购买申请、日报周报等凡是原来手工流转处理的行政表单。

3、人事管理类:员工培训安排、绩效考评、职位变动处理、员工档案信息管理等。

4、财务相关类:付款请求、应收款处理、日常报销处理、出差报销、预算和计划申请等。

5、客户服务类:客户信息管理、客户投诉、请求处理、售后服务管理等。

6、特殊服务类:ISO系列对应流程、质量管理对应流程、产品数据信息管理、贸易公司报关处理、物流公司货物跟踪处理等各种通过表单逐步手工流转完成的任务均可应用工作流软件自动规范地实施。

1.5 实现方式

在没有专门的工作流引擎之前,我们之前为了实现流程控制,通常的做法就是采用状态字段的值来跟踪流程的变化情况。这样不用角色的用户,通过状态字段的取值来决定记录是否显示。

针对有权限可以查看的记录,当前用户根据自己的角色来决定审批是否合格的操作。如果合格将状态字段设置一个值,来代表合格;当然如果不合格也需要设置一个值来代表不合格的情况。

这是一种最为原始的方式。通过状态字段虽然做到了流程控制,但是当我们的流程发生变更的时候,这种方式所编写的代码也要进行调整。

那么有没有专业的方式来实现工作流的管理呢且可以做到业务流程变化之后,我们的程序可以不用改变,如果可以实现这样的效果,那么我们的业务系统的适应能力就得到了极大提升。

二、Activiti7概述

2.1 介绍

Alfresco软件在2010年5月17日宣布Activiti业务流程管理(BPM)开源项目的正式启动,其首席架构师由业务流程管理BPM的专家 Tom Baeyens担任,Tom Baeyens就是原来jbpm的架构师,而jbpm是一个非常有名的工作流引擎,当然activiti也是一个工作流引擎。

Activiti是一个工作流引擎, activiti可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言BPMN2.0进行定义,业务流程按照预先定义的流程进行执行,实现了系统的流程由activiti进行管理,减少业务系统由于流程变更进行系统升级改造的工作量,从而提高系统的健壮性,同时也减少了系统开发维护成本。

官方网站:https://www.activiti.org/

请添加图片描述

目前最新版本:Activiti7.0.0.Beta

2.1.1 BPM

BPM(Business Process Management),即业务流程管理,是一种规范化的构造端到端的业务流程,以持续的提高组织业务效率。常见商业管理教育如EMBA、MBA等均将BPM包含在内。

2.1.2 BPM软件

BPM软件就是根据企业中业务环境的变化,推进人与人之间、人与系统之间以及系统与系统之间的整合及调整的经营方法与解决方案的IT工具。

通过BPM软件对企业内部及外部的业务流程的整个生命周期进行建模、自动化、管理监控和优化,使企业成本降低,利润得以大幅提升。

BPM软件在企业中应用领域广泛,凡是有业务流程的地方都可以BPM软件进行管理,比如企业人事办公管理、采购流程管理、公文审批流程管理、财务管理等。

2.1.3 BPMN

BPMN(Business Process Model AndNotation)- 业务流程模型和符号 是由BPMI(BusinessProcess Management Initiative)开发的一套标准的业务流程建模符号,使用BPMN提供的符号可以创建业务流程。

2004年5月发布了BPMN1.0规范.BPMI于2005年9月并入OMG(The Object Management Group对象管理组织)组织。OMG于2011年1月发布BPMN2.0的最终版本。

具体发展历史如下:

请添加图片描述

活动用圆角矩形表示,一个流程由一个活动或多个活动组成

Activiti工作流引擎基础入门【收藏可做笔记系列】

Bpmn图形其实是通过xml表示业务流程,上边的.bpmn文件使用文本编辑器打开:

definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">  process id="myProcess" name="My process" isExecutable="true">    startEvent id="startevent1" name="Start">startEvent>    userTask id="usertask1" name="创建请假单">userTask>    sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1">sequenceFlow>    userTask id="usertask2" name="部门经理审核">userTask>    sequenceFlow id="flow2" sourceRef="usertask1" targetRef="usertask2">sequenceFlow>    userTask id="usertask3" name="人事复核">userTask>    sequenceFlow id="flow3" sourceRef="usertask2" targetRef="usertask3">sequenceFlow>    endEvent id="endevent1" name="End">endEvent>    sequenceFlow id="flow4" sourceRef="usertask3" targetRef="endevent1">sequenceFlow>  process>  bpmndi:BPMNDiagram id="BPMNDiagram_myProcess">    bpmndi:BPMNPlane bpmnElement="myProcess" id="BPMNPlane_myProcess"> bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">omgdc:Bounds height="35.0" width="35.0" x="130.0" y="160.0">omgdc:Bounds> bpmndi:BPMNShape> bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">omgdc:Bounds height="55.0" width="105.0" x="210.0" y="150.0">omgdc:Bounds> bpmndi:BPMNShape> bpmndi:BPMNShape bpmnElement="usertask2" id="BPMNShape_usertask2">omgdc:Bounds height="55.0" width="105.0" x="360.0" y="150.0">omgdc:Bounds> bpmndi:BPMNShape> bpmndi:BPMNShape bpmnElement="usertask3" id="BPMNShape_usertask3">omgdc:Bounds height="55.0" width="105.0" x="510.0" y="150.0">omgdc:Bounds> 来源:
                                                        

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月2日
下一篇 2021年7月2日

相关推荐