「工作流Activiti」介绍-新手上路,注意安全 - 第320篇
概述
假如你还不知道Activiti是什么,解决Activiti和工作流知识盲点,看到到这里就对了。Android同学会误以为是“Activity”,工作流引擎Activiti和Android开发的Activity这是两码事儿,Activiti是什么东东呐?往下看你就知道了。
一、Activiti介绍
通过官网我们可以看到目前主流的几个版本:7.0、6.0、5.0
1.1 什么是Activiti
1.1.1 Activiti 7.0
Activiti7.0是由salaboy等人团队与2018年08月13日发布的业务流程管理(BPM)框架(即Activiti Beta1 released),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架,这次新版本的发布还包括了两大核心内容:Activiti Core 与 Activiti Cloud Beta1。Activiti基于Apache许可的开源BPM平台,Activiti7.0除了保持原有提供的 Eclipse 插件,使开发人员可以通过插件直接绘画出业务流程图以外,还集成或支持:docker、microservices、kubernetes、activiti cloud、activiti cloud、cloud native、spring boot 2.0(相关API还在持续的完善中!!!)。
1.1.2 Activiti 6.0
当BPMN2.0规范在2011年发布时,各个工作流引擎的供应商均向其靠拢,包括jBPM5和本书所介绍的Activiti。Activiti的第一个版本为5.0alpha1,一直到2010年12月发布了Activiti5.0的正式版,此过程经历了4个alpha版本、2个beta版本和1个rc版本,直到5.0正式版本才出现对BPMN2.0规范的支持。Activiti6.0于2017年5月发布,已经开始实现DMN规范。
1.1.3 Activiti 5.0
Activiti5是在jBPM3、jBPM4的基础上发展而来的,Activiti5使用Spring进行引擎配置以及各个Bean的管理,综合使用IOC和AOP技术,使用CXF作为Web Services实现的基础,使用MyBatis进行底层数据库ORM的管理,预先提供Bundle化包能较容易地与OSGi进行集成,通过与Mule ESB的集成和对外部服务(Web Service、RESTful等)的接口可以构建全面的SOA应用。
1.1.4 什么是Activiti
上面说明了5.x、6.x、7.x版本的一个情况,这么信息有一个简单的了解即可,我们只要记住这么一句话就行:
Activiti是一个业务流程管理框架或者是一个工作流引擎框架。
1.2 BPMN
1.2.1 BPMN 1.0
BPMN规范1.0版本由BPMI组织于2004年发布,全称是Business Process Modeling Notation,BPMN规范的发布是为了让业务流程的全部参与人员对流程可以进行可视化管理,提供一套让所有参与人员都易于理解的语言和标记,为业务流程的设计人员(非技术人员)和流程的实现人员(技术人员)建立起一座桥梁。BPMI组织于2005合并到OMG(Object Management Group)组织中,2008年1月发布BPMN1.1规范。BPMN2.0规范于2011年1月正式发布,并且全称改为BusinessProcess Model And Notation(业务流程模型和符号)。
在1.0版本的BPMN规范中,只注重流程元素的图形,这使其在流程分析人员中非常受欢迎,而BPMN2.0版本则继承了1.0版本的内容,并且注重流程执行语法和标准交换格式。
1.2.2 BPMN 2.0
BPMN2.0规范定义了业务流程的符号以及模型,并且为流程定义设定了转换格式,目的是为了让流程的定义实现可移植性,那么用户可以在不同的供应商环境中定义流程,并且这些流程可以移植到其他遵守BPMN2.0规范的供应商环境中。
1.2.3 什么是BPMN
BPMN是一套业务流程建模符号。
再记不住你就理解为BPMN就是一套规范。
1.3 Activiti的出现
Activiti的创始人Tom Baeyens是jBPM的创始人,由于在jBPM的未来架构上产生意见分歧,Tom Baeyens在2010年离开了JBoss并加入Alfresco公司,Tom Baeyens的离开使得jBPM5完全放弃了jBPM4的架构,基于Drools Flow重新开发,而在2010年的5月,Tom Baeyens发布了第一个Activiti版本(5.0alpha1),由此看来,Activiti更像是jBPM4的延续,也许为了让其看起来更像jBPM4的延续,Activiti团队直接将Activiti的第一版本定义为5.0。
1.3 Activiti的发展
从2010年5月发布第一个Activiti版本至今(2020年),Activiti经历了近几十个版本的演化。Activiti采用了宽松的Apache Licence2.0开源协议,因此Activiti一出,就得到了开源社区的大力支持,在开源社区的支持下,Activiti可以吸引到更多的工作流专家参与到该项目中,并且可以促使Activiti在工作流领域的创新。
2010年5月 Activiti 5;
2017年5月Activiti 6;
2018年08月Activiti 7;
1.4 其它一些概念
1.4.1 工作流
工作流(Workflow):是一系列相互衔接、自动进行的业务活动或任务。采用工作流软件,使用者只需在电脑上填写有关表单,会按照定义好的流程自动往下跑,下一级审批者将会收到相关资料,并可以根据需要修改、跟踪、管理、查询、统计、打印等,大大提高了效率。
1.4.2 BPMN
BPMN即业务流程建模与标注(Business Process Model and Notation,BPMN) ,描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram)。
BPMN是BPM及workflow的建模语言标准之一。
1.5 其它同类引擎
常见开源工作流引擎框架 :OSWorkFlow、jBPM(jboss business process management),Flowable (Flowable作为Activiti的一个分支),Activiti工作流(是对jBPM升级)
悟纤小结
师傅:好了,这一节都是概念性的东西,徒儿你先消化消化,下节我们讲进行实战一下,实战是不可能了,我们还有一些还没有搞明白,这一节概念太多了,为师自己都要搞的睡觉了。
悟纤:师傅,你稍微休息下,我来和大伙总结下。
(1)Activiti是一个业务流程管理框架或者是一个工作流引擎框架。
(2)Activiti有三个版本5.x、6.x、7.x
(3)其它同类的框架:OSWorkFlow、jBPM、Flowable
购买完整视频,请前往:http://www.mark-to-win.com/TeacherV2.html?id=287