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

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

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

java activiti 工作流引擎_Activiti工作流引擎简介详解相关推荐

  1. MySQL存储引擎 lnnoDB逻辑架构 innodb存储引擎表空间(ibd文件)详解 回滚日志的物理空间

    文章目录 存储引擎 一 MySQL组织架构 二 查看存储引擎信息 三 修改存储引擎 3.1 配置文件修改存储引擎 3.2 临时修改存储引擎 3.3 建表时修改存储引擎 四 存储引擎实验 五 数据库升级 ...

  2. Java开源生鲜电商平台-Java分布式以及负载均衡架构与设计详解(源码可下载)

    Java开源生鲜电商平台-Java分布式以及负载均衡架构与设计详解(源码可下载) 说明:主要是针对一些中大型的项目需要进行分布式以及负载均衡的架构提一些思路与建议. 面对大量用户访问.高并发请求,海量 ...

  3. java中sleep()、wait()相同与不同详解

    java中sleep().wait()相同与不同详解 相同 java中Thread#sleep和Object#wait方法都是暂停当前线程,当前线程让出CPU占用.并不存在调用sleep后还占用CPU ...

  4. 蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载【2013年(第4届)~2021年(第12届)】

    蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载[2013年(第4届)~2021年(第12届)] 百度网盘-CSDN蓝桥杯资料(真题PDF+其它资料)   提取码:6666 2013年 ...

  5. Java中的宏变量,宏替换详解。

    转载自 Java中的宏变量,宏替换详解. 群友在微信群讨论的一个话题,有点意思,特拿出来分享一下. 输出true false 来看下面这段程序,和群友分享的大致一样. public static vo ...

  6. java加密算法入门(三)-非对称加密详解

    1.简单介绍 这几天一直在看非对称的加密,相比之前的两篇内容,这次看了两倍多的时间还云里雾里的,所以这篇文章相对之前的两篇,概念性的东西多了些,另外是代码的每一步我都做了介绍,方便自己以后翻阅,也方便 ...

  7. java的数组与Arrays类源码详解

    java的数组与Arrays类源码详解 java.util.Arrays 类是 JDK 提供的一个工具类,用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用. 类的 ...

  8. Java 11中的新功能和API详解系列1

    Java 11中的新功能和API详解系列1 2018.9.27 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载. JDK 11在语言语法方面有一个小改动,增加了相当数量的新API,以及 ...

  9. Java: static,final,代码块 的详解

    Java: static,final,代码块 的详解 每博一文案 山本文绪说过这样一句话:哪些决定放弃了的事,就请放弃得干干净净.哪些决定再也不见面的人,就真 的不要再见面了,不要再做背叛自己的事,如 ...

  10. JAVA算法:回文字符串相关问题详解(回文字符串总结)

    JAVA算法:回文字符串相关问题详解(回文字符串总结) Q1. 编写一个工具方法判断给定的字符串是否为回文字符串 例如:给定一个字符串"aabbaa",判断该字符串是否为回文字符串 ...

最新文章

  1. C#控制远程计算机的服务
  2. 网站优化中搜索引擎为何重视原创内容呢?
  3. PieLove 之 数据分析帝.(ZZ)(is2120)
  4. 判断机器学习算法或深度学习算法优势常考虑的点
  5. 电商的折扣体系是如何搭建的?
  6. 乱骑共享单车?黑名单见!
  7. python中的.idea文件夹是干嘛的
  8. linux中的ip地址、子网掩码、端口
  9. java与html关联_HTML页和ashx页之间的关联
  10. HEVC: 整个编码流程以及相关的函数介绍
  11. IIS 301重定向跳转
  12. Egret入门学习日记 --- 第十四篇(书中 5.4~5.6节 内容)
  13. 最详细的ECLIPSE Android SDK下载安装及配置教程
  14. 韩荣温控器nx2使用说明书_如何查看您的Ecobee温控器的使用历史记录
  15. 国家信息安全漏洞库最新动态发布,墨云科技成为CNNVD技术支撑单位
  16. 汉诺塔问题(递归算法)
  17. 机器学习基础--math(20)--流形/黎曼流形
  18. lombok导入报错,版本1.18.12已在maven本地仓库中
  19. KubeEdge SIG AI发布首个分布式协同AI Benchmark调研
  20. linux打包文件恢复,修复损坏的gz或tar.gz压缩文件之原理篇

热门文章

  1. C++关于头文件中定义变量出现LNK2005
  2. HaaS EDU K1设备资源总体介绍
  3. 求100以内奇数的和
  4. 表情商店竞争加剧,陌陌和微信的“另一桩”生意
  5. 计算机打印机无法打印,电脑打印机无法打印怎么办 打印机无法打印解决教程...
  6. Hash表的平均查找长度ASL计算方法
  7. Java原生实现多线程下载Tim
  8. gbq可以算出土建量吗_广联达土建算量软件必备操作指南
  9. WPS Office 简明教程
  10. 8Manage助力迈迪思创项目业务一体化