Activiti工作流引擎简介

一、概述

  Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程语言框架。

   Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss JBPM的项目架构师,它的特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务流程图。

  工作流引擎:

    ProcessEngine对象,这是Activiti工作的核心。负责生成流程运行时的各种实例及数据,监控和管理流程的运行。

  BPMN标准:

    业务流程建模与标注(Business Process Model and Notation,BPMN),描述流程的基本符号,

  包括这些图元如何组合成一个业务流程图  (Business Process Diagram)。

二、开发环境

  Activiti软件环境:

  • JDK1.6或者更高版本
  • 支持的数据库有:h2,mysql,oracle,mysql,db2等
  • 支持Activiti运行的jar包,可以通过maven依赖引入
  • 开发环境为Eclipse3.7或者以上版本,myeclipse为8.6版本

三、Activiti表说明

  1,流程部署相关表:

    act_re_deployement 部署对象表

    act_rep_procdef 流程定义表

    act_ge_bytearray 资源文件表

    act_ge_prperty 主键生成策略表(对于部署对象表的主键ID)

  2,流程实例相关表:

    act_ru_execution 正在执行的执行对象表(包含执行对象ID和流程实例ID,如果有多个线程可能流程实例ID不一样)

    act_hi_procinst 流程实例历史表

    act_hi_actinst 存放历史所有完成的任务

  3,Task 任务相关表:

    act_ru_task 代办任务表(只对应节点是UserTask的)

    act_hi_taskinst 代办任务历史表 (只对应节点是UserTask的)

    act_hi_actinst  所有节点活动历史表 (对应流程的所有节点的活动历史,从开始节点一直到结束节点中间的所有节点的活动都会被记录)

  4,流程变量表:

    act_ru_variable 正在执行的流程变量表

    act_hi_variable 流程变量历史表

四、核心API

  1,ProcessEngine

   说明:Activiti中最核心的类,其他的类都是由他而来。

//用法
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//例如:生成RepositoryService(管理流程定义 )
RepositoryService
repositoryService =processEngine.getRepositoryService();
//例如:生成RuntimeService (执行管理,包括启动,推进,删除流程实例 等操作)
RuntimeService
runtimeService = processEngine.getRuntimeService();
//例如:生成TaskService(任务管理)
TaskService
taskService =processEngine.getTaskService();

  2,RepositoryService

  说明:Activiti的仓库服务类。所谓的仓库指流程定义文档的两个文件:bpmn文件和流程图片 该service可以用来删除部署的流程定义

  3,RuntimeService

  说明:Activiti的流程执行服务类,可以从这个服务类中获取很多关于流程执行的相关的信息。

  4,TaskService

  说明:是Activiti的任务服务类。可以从这个类中获取任务的相关信息,如当前正在执行的个人待办和用户组待办任务。

  5,HistoryService

  说明:Activiti的查询历史信息的类,在一个流程执行完成后,这个对象为我们提供查询历史信息,可以跟踪流程实例对应所有待办节点的运行情况。

  6,ProcessDefinition

  说明:流程定义类,可以从这里获得资源文件等。

  7,ProcessInstance

  说明:代表流程定义的执行实例,当一个部署的流程图启动后,该流程只有一条流程实例数据,但是它的流程任务可以有多个,

  每个任务对应流程图中相应的流程节点。

    

Activiti工作流引擎简介的更多相关文章

  1. Activiti工作流引擎参考资料

    Activiti工作流引擎使用 工作流-Activiti核心API介绍 传智播客Activiti工作流视频教程(企业开发实例讲解) 工作流引擎Activiti演示项目 http://www.kafei ...

  2. Activiti工作流引擎数据库表结构

    Activiti工作流引擎数据库表结构 一.数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. ACT_RE_ ...

  3. Activiti工作流引擎开发系列

    Activiti工作流引擎开发系列-01 作者:Jesai 没有伞的孩子,只能光脚奔跑! 前言: 初次接触工作流这个概念是自从2014年11月份开始,当时是由于我的毕业设计需要,还记得当时我毕业设计的 ...

  4. activiti工作流引擎

    参考文章 Activiti-5.18.0与springMvc项目集成和activiti-explorer单独部署Web项目并与业务数据库关联方法(AutoEE_V2实现方式) https://blog ...

  5. Activiti工作流引擎核心介绍

    引言 Activiti 作为一个遵从 Apache 许可的工作流和业务流程管理开源平台,其核心是基于 Java 的超快速.超稳定的 BPMN 2.0 流程引擎,强调流程服务的可嵌入性和可扩展性,同时更 ...

  6. Activiti工作流引擎使用

    http://www.kafeitu.me/activiti/2012/03/22/workflow-activiti-action.html 1.简单介工作流引擎与Activiti 对于工作流引擎的 ...

  7. 基于Activiti工作流引擎实现的请假审核流程

    概要 本文档介绍的是某商用中集成的Activiti工作流的部署及使用,该框架用的Activiti版本为5.19.0.本文档中主要以一个请假流程为例子进行说明,该例子的流程图如下: 这是一个可以正常运作 ...

  8. Activiti工作流引擎使用详解(一)

    一.IDEA安装activiti插件 在插件库中查找actiBPM,安装该插件,如果找不到该插件,请到插件库中下载该包手动安装,插件地址 http://plugins.jetbrains.com/pl ...

  9. activiti工作流框架简介

    常见的工作流框架:activiti, JBPM, OSWorkflow activiti框架基于23张基础的表数据, 基于Mybatis操作数据库. JBPM框架基于18张基础的表数据, 基于hibe ...

随机推荐

  1. 在Win64系统上动态加载无签名驱动:WIN64LUD

    1.WIN64LUD的全称是WIN64 Load Unsigned Driver,功能如其名,在WIN64系统上加载无签名的驱动. 2.支持Windows 7/8/8.1/2008R2/2012/20 ...

  2. c++11——lambda表达式

    lambda表达式 函数式编程的一个语法,有如下优点: (1)声明式编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或者函数对象.以更直接的方式写程序,好的可读性和可维护性. (2) ...

  3. 【mysql】查看版本的四种方法

    1:在终端下:mysql -V. 以下是代码片段: [test@login ~]$ mysql -V mysql Ver 14.7 Distrib 4.1.10a, for redhat-linux- ...

  4. C++面向对象类的实例题目十二

    题目描述: 写一个程序计算正方体.球体和圆柱体的表面积和体积 程序代码: #include<iostream> #define PAI 3.1415 using namespace std ...

  5. outline的兼容性及使用限制

    outline 和 border的区别: outline不占据文档空间,border占据文档空间. outline无法单独设置上下左右,只要设置outline,必须所有的边都设置:border可以设置 ...

  6. Sql Server 关于SET IDENTITY_INSERT的问题

    想要将值插入到自动编号(或者说是标识列,IDENTITY)中去,需要设定 SET IDENTITY_INSERT 示例: 1.首先建立一个有标识列的表: CREATE TABLE products ( ...

  7. mysql如何用sql增加字段和注释?

    alter table warn_user_binding add is_valid varchar(10) default 'true' COMMENT '删除标识:true 有效:false 删除 ...

  8. 遍历DataSet

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  9. Oracle数据类型clob和blob

    clob(size)变长 字符型大对象,最大8tb 应用场景:如果varchar2不够用了使用clob blob(size)变长 二进制数据,可以存放图片声音 8tb 但是,实际工作中很少把图片和声音 ...

  10. java 常见几种发送http请求案例

    import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java ...