Activiti快速入门(一)——认识Activiti

前言:
个人使用Activiti工作流引擎断断续续差不多快半年了,关于Activiti我的个人感受就是系统且全面的教程太少了,除了咖啡兔的教程大多都是零零散散的几篇文章,非常不利于系统化的学习Activiti,所以我希望通过出这样一个简单的教程来迫使自己更加深入的学习Activiti。由于本人能力所限,文中难免会有错误,还请大家指出,我会及时更改。同时非常感谢咖啡兔所著的《Activiti实战》一书,我在入门阶段主要参考此书来学习的。


什么是Activiti

我们先来看看官方是如何介绍的吧

Activiti是一个轻量级的工作流程和业务流程管理(BPM)平台,面向业务人员,开发人员和系统管理员。它的核心是使用Java开发的极速且稳定的的BPMN 2流程引擎。它是开源的,并在Apache许可下分发。Activiti可在任何Java应用程序,服务器,群集或云中运行。它与Spring完美集成,非常轻巧。

关于bpm和bpmn2.0的相关概念这里就不做具体介绍了。

Activiti发展情况:

Activiti是Tijs Rademakers 领导的团队开发的,直到Activiti6.0后开发团队内部出现了比较大的分歧,所有原有开发团队在Activiti6.0上新开了一个分支叫做Flowable,在写这篇文章的时候Flowable 已经更新到6.4 beta了,而Activiti已经更新到了Activiti7了。
作为一个吃瓜群众我的看法就是Activiti5.22 Activiti6.0以及Flowable6.X 应该都是一个血脉的。所以大家可以先学习Activiti6.0后续切换到Flowable也不是什么大问题。
希望详细了解Activiti和Flowable的区别的可以阅读这篇文章 Activiti和Flowable的区别

Activiti的特点

1. 七大Service接口

这七个Service可以说是整个Activiti的核心了,几乎你能用到的所有功能都需要调用它们,它们就是我们目前学习的主要目标。

接口名 作用
RepositoryService 流程仓库Service,用于管理流程仓库,例如:部署,删除,读取流程资源
IdentityService 身份Service,可以管理,查询用户,组之间的关系 查询任务的候选组/人
HistoryService 历史Service,可以查询所有历史数据,例如:流程实例,任务,活动,变量,附件等
RuntimeService 运行时Service,可以处理所有正在运行状态的流程实例,任务等
TaskService 任务Service,用于管理、查询任务,比如查询某人待办任务,完成某个任务等
FormService 表单Service,用于读取和流程,任务相关的表单数据
ManagementService 引擎管理Service,和具体业务无关,主要是可以查询引擎配置,数据库,作业等
2. 流程设计器

目前一共有3款流程编辑器,Eclipse的插件,IDEA 的插件,还有一个Web编辑器Activiti modeler 需要下载这个编辑器项目运行,或者集成到自己的项目。

  • Eclipse 流程设计插件在线安装地址已经失效了,可以在GitHub的官方地址下载离线安装包
  • IDEA 在插件仓库搜索actiBPM安装即可(这个插件,我非常想吐槽,画个直线是真的难,即便在编辑器里面是直线,后面用Activiti的API生成的图也是弯的。)
  • Activiti modeler的集成教程后续更新。
3. 原生支持Spring

咳咳,这一点我感觉没啥好说的了,总之就是非常方便的和Spring集成,只需要简单配置几个Bean实例,就可以启动Activiti流程引擎,下一个小节中就会讲解如何与Spring整合。

4. 当前和历史数据的分离

Activiti在数据库表结构设计上将不同类型的数据分表存放,尤其是正在运行的流程和已经结束的流程是分成两大类表的,所以这将大幅度的提高查询效率,即使一个系统使用了很久之后大量流程数据也不会对正在运行的流程产生太大的影响。

Activiti 数据库设计

数据库表的创建可以在第一次启动流程引擎的时候由Activiti自动创建,也可以手动创建,后续会有一篇数据库详解的文章,这里只需大概知道有几种分类,以及他们的作用。

表分类 表名 详情解释
通用数据 1.ACT_GE_BYTEARRAY 通用的流程定义和流程资源
2.ACT_GE_PROPERTY 系统相关属性
历史流程 3.ACT_HI_ACTINST 历史的活动节点表
4.ACT_HI_ATTACHMENT 历史的流程附件
5.ACT_HI_COMMENT 历史的说明性信息
6.ACT_HI_DETAIL 历史的流程运行中的细节信息
7.ACT_HI_IDENTITYLINK 历史的流程运行过程中用户关系
8.ACT_HI_PROCINST 历史的流程实例
9.ACT_HI_TASKINST 历史的任务实例
10.ACT_HI_VARINST 历史的流程运行中的变量信息
用户组表 11.ACT_ID_GROUP 身份信息-用户组信息表
12.ACT_ID_INFO 身份信息-用户扩展信息表
13.ACT_ID_MEMBERSHIP 身份信息-用户和组关系的中间表
14.ACT_ID_USER 身份信息-用户信息
15.ACT_RE_DEPLOYMENT 部署信息表
16.ACT_RE_MODEL 模型信息表
17.ACT_RE_PROCDEF 已部署的流程定义表
运行实例表 18.ACT_RU_DEADLETTER_JOB 作业死信表-作业失败超过重试次数
19.ACT_RU_EVENT_SUBSCR 运行时事件
20.ACT_RU_EXECUTION 运行时流程执行实例
21.ACT_RU_IDENTITYLINK 运行时人员表
22.ACT_RU_JOB 运行时作业
23.ACT_RU_SUSPENDED_JOB 运行时作业暂停表 6.0新增
24.ACT_RU_TASK 运行时任务
25.ACT_RU_TIMER_JOB 运行时定时器作业表 6.0新增
26.ACT_RU_VARIABLE 运行时变量表
其他表 27.ACT_EVT_LOG 流程引擎的通用事件日志记录表
28.ACT_PROCDEF_INFO 流程定义的动态变更信息 6.0新增
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容