什么是Activiti

Activiti属于工作流引擎的一个开源实现。Activiti由Tom Bayen发起。在2010年5月发布了第一个版本。命名也很有意思的采取了Activities(活动)的化简方式命名了该项目。现在最新的Acitiviti版本已经更新到了7.1.0

什么是工作流引擎

工作流框架则是为了解决业务流程诞生的。对于同一件事件,从起始到结束中间会经历非常多的状态甚至事件回退等操作。通过业务代码的方式实现该套逻辑较为复杂,且不可复用。而工作流框架是针对此种情况(购物流程、请假流程等等)提取出来的通用解决方案,让开发省去事件流转状态的操作

现在绝大部分的工作流引擎都是根据2011年发布的BPMN2.0规范实现,BPMN2.0统一了业务流程图的标准,让各种工作流引擎的流程设计器可以通用

Acitviti特点

  1. 数据持久化

    Activiti在数据存储上依赖了数据库,启动时会自动的创建表单。并且内部使用了Mybatis完成数据库的表查询等功能

  2. 引擎Service接口

    Service接口 作用
    RespositoryService 管理流程仓库,如部署、删除、读取流程资源等
    IdentifyService 管理和查询用户、组之间的关系
    RuntimeService 处理所有正在运行状态的流程实例、任务
    TaskService 管理查询任务,如签收、办理、指派等
    FormService 用于读取和流程、任务相关的表单数据
    HistoryService 查询所有历史数据,如流程实例、任务、活动、变量、附件等
    ManagementService 引擎管理,和具体业务无关,如查询引擎配置、数据库、作业等
  3. 原生支持Spring

    在Spring Boot流行的今天,Activiti 7 已经可以快速的和Spring Boot 2.0进行整合了

  4. 分离运行时与历史数据

    表结构设计上遵循运行时数据与历史数据分离,可快速读取运行时数据。需查询历史数据再从专门的历史表中读取。提高了当前执行流程的存取效率

Acitviti架构与组件

  1. Activiti Engine

    核心模块,提供对BPMN2.0规范的解析、执行、创建、管理(如无、流程实例)、查询历史记录并根据结构生成报表等

  2. Activiti Modeler

    模型设计器,帮助业务人员把需求转换成规范的流程定义

  3. Activiti Designer

    类Activiti Modeler,但由Activiti团队自行研发

  4. Activiti Explorer

    用于管理仓库、用户、组、启动流程、任务办理等。是基于REST风格的API

  5. Activiti REST

    也是Restful风格的服务,允许客户端以JSON方式与引擎的API进行交互

总结

Activiti作为流程引擎,提供了任务流转所需的所有功能。并且提供了设计器、API等多个组件用于进行流程的定义和流程的管理

什么是Activiti的更多相关文章

  1. 流程开发Activiti 与SpringMVC整合实例

    流程(Activiti) 流程是完成一系列有序动作的概述.每一个节点动作的结果将对后面的具体操作步骤产生影响.信息化系统中流程的功能完全等同于纸上办公的层级审批,尤其在oa系统中各类电子流提现较为明显 ...

  2. activiti工作流的web流程设计器整合视频教程 SSM和独立部署

    本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...

  3. activiti工作流的web流程设计器整合视频教程 SSM 和 独立部署

    本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...

  4. 文档分享-Activiti 5.16 用户手册

    今天在翻看工作流相关的网页的时候,在开源中国上http://www.oschina.net/question/915507_149175发现activiti的中文文档:http://www.mossl ...

  5. 1. Activiti 运行时表信息总结

    Activiti的后台是有数据库的支持,所有的表都以ACT_开头. 第二部分是表示表的用途的两个字母标识. 用途也和服务的API对应. ACT_RE_*: 'RE'表示repository. 这个前缀 ...

  6. Activiti学习(二)数据表结构

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

  7. Activiti学习(一) 环境搭建

    原料:Activiti5.4  MyEclipse 10 1.先将activiti文件夹放置myeclipse的安装目录dropins文件夹下2.将activiti文件夹里activiti.link中 ...

  8. Activiti工作流学习(三)Activiti工作流与spring集成

    一.前言 前面Activiti工作流的学习,说明了Activiti的基本应用,在我们开发中可以根据实际的业务参考Activiti的API去更好的理解以及巩固.我们实际的开发中我们基本上都使用sprin ...

  9. activiti当前任务高亮(解决乱码问题)

    package com.xinwei; import java.io.File; import java.io.InputStream; import java.util.ArrayList; imp ...

  10. activiti 中文文档

    http://www.mossle.com http://www.mossle.com/docs/activiti/index.html

随机推荐

  1. 在select2插件中append下拉选,点击没反应的解决

    今天前端大佬帮我解决了一个棘手的问题:克隆了已有系统的网页,尝试把复制下来的html改造成jsp.基本功能正常,然而点击新增按钮,出来的行无法点击下拉选,控制台也没报错. 项目用的是jeesite2. ...

  2. 吴裕雄--天生自然python机器学习:K-近邻算法介绍

    k-近邻算法概述 简单地说,谷近邻算法采用测量不同特征值之间的距离方法进行分类. 优 点 :精度高.对异常值不敏感.无数据输入假定. 缺点:计算复杂度高.空间复杂度高. 适用数据范围:数值型和标称型. ...

  3. CentOS6与CentOS7的网络区别

    回顾:物理层 关注的是接口物理特性,传输介质数据链路层 MAC地址,数据帧,以太网,交换机网络层 IP地址,数据包,IP\ICMP\ARP协议,路由器传输层 TCP.UDP,端口号,数据段应用层 HT ...

  4. 扩展 ajaxupload.js ,支持客户端判断上传文件的大小

    onSubmit: function(file, extension){}, 修改为 onSubmit: function(file, extension, size){}, if (! (setti ...

  5. Hibernate之Query.uniqueResult()结果为数值的注意事项

    在日常练习中使用Query.uniqueResult()获取查询总数量,想当然的把返回结果值直接强转成Integer类型,实现运行报错,具体代码如下: 控制台错误信息如下: 返回值为Long型,使用时 ...

  6. 可用倍增LCA解题

    http://codevs.cn/problem/2370/ #include<bits/stdc++.h> using namespace std; ; ; struct node{ i ...

  7. 漫谈2014年人机交互(CHI)大会

    编者按:2014年度以人机交互为主题的顶级会议ACM SIGCHI已经落下帷幕.微软研究院在此次会议的入选论文总数仅次于卡耐基•梅隆大学,位列第二.此次会议中,有哪些创新想法或技术让人眼前一亮?听微软 ...

  8. 牛客-Corn Fields

    题目传送门 sol:状压和动规,把每一行的m个01压缩成一个int 状压dp #include "bits/stdc++.h" using namespace std; ; con ...

  9. python掉包侠与深浅拷贝

    今日所得 包 logging模块 hashlib模块 openpyxl模块 深浅拷贝 包 在学习模块的时候我们了解过模块的四种表现形式,其中的一种就是包. 什么是包? 它是一系列模块文件的结合体,表示 ...

  10. [LC] 243. Shortest Word Distance

    Given a list of words and two words word1 and word2, return the shortest distance between these two ...