什么是BPM
BPM是Business Process Management的缩写,中文含义是业务流程管理,是一套达成企业各种业务环节整合的全面管理模式
可以简单的理解成是一种管理模式,气概念包括两种含义,一个是管理规范,一个是软件工程,由此引出工作流的概念
什么是BPMN
Business Process Modeling Notation,简称BPMN,中文译为业务流程建模标注,是由BPMN标准组织发布的,其第一版BPMN 1.0规范于2004年5月发布。经过多年的改进新的规范BPMN 2.0于2011年发布。之后各大厂商、开源社区均基于2.0规范设计自己的流程引擎,结束了各个厂商“各自为政”的局面,相应地统一了标准,从而利于以后的产品迁移。
什么是工作流
工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。 工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表達并对其实施计算。 工作流要解决的主要问题是:为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务
工作流引擎
简单理解: 工作流是概念,工作流引擎是实现,可以理解是一个框架
应用
- CRM系统
- ERP系统
- OA系统
- 办公软件
工作流发展
- 各个发展
-
-
JBPM
-
-
官网
-
目前最新版本
-
-
7.38.0
-
分水岭jbpm5
-
- BPM5使用http://jBoss.org社区的大多数组件,以Drools Flow为核心组件作为流程引擎的核心构成,以hibernate作为数据持久化ORM实现,采用基于JPA/JTA的可插拔的持久化和事务控制规范,使用Guvnor作为流程管理仓库,能够与Seam、Spring、OSGi等集成
-
特点
-
- 从jbpm5以后全新设计,给之前的开发者带来很多不便,采用了Apache Mina异步通信技术,采用JPA/JTA持久化方面的标准,以功能齐全的Guvnor作为流程仓库,有RedHat(http://jBoss.org被红帽收购)的专业化支持;但其劣势也很明显,对自身技术依赖过紧且目前仅支持BPMN2
-
-
-
activiti
-
-
官网地址
-
历史渊源
-
-
activiti的创始人,Tom Baeyens,也是jbpm的创始人,由于jbpm的未来架构上产生意见,Tom Baeyens在2010年离开jboss,同年发布activiti5.0版本
-
第一个版本5.0
-
- Activiti5是在jBPM3、jBPM4的基础上发展而来的,是原jBPM的延续,而jBPM5则与之前的jBPM3、jBPM4没有太大关联,且舍弃了备受推崇的PVM(流程虚拟机)思想,转而选择jBoss自身产品Drools Flow作为流程引擎的核心实现,工作流最为重要的“人机交互”任务(类似于审批活动)则由单独的一块“Human Task Service”附加到Drools Flow上实现,任务的查询、处理等行为通过Apache Mina异步通信机制完成。
-
优势
-
- 采用了PVM(流程虚拟机),支持除了BPMN2.0规范之外的流程格式,与外部服务有良好的集成能力,延续了jBPM3、jBPM4良好的社区支持,服务接口清晰,链式API更为优雅;
-
缺点
-
- 二次开发难度也挺大,门槛高
- 流程设计器官网好久不维护了,idea下不方便用,页面设计器需要汉化,而且有bug
- 团队转向flowable
- 新版本发展朦胧
-
-
主要版本
-
-
5.13
-
- 历史项目
- 23张表
-
5.22
-
- 当前主流
- 25张表
-
6.0
-
- 主要版本
- 28张表格
-
7.X
-
- 团队重心转移发展activiti-cloud
- 主要还是基于6.0开发,新特性并不多
-
-
现状
-
- 很多商业公司多以5.22为主流,
-
未来发展?
-
-
flowable
-
-
官网
-
优点
-
- 支持jms、rabbitmq、mongodb方式处理历史数据
- 支持事务子流程
- 支持条件表达式中自定义juel函数
- 修复了dmn规范设计器,activit用的dmn设计器还是旧的框架,bug太多
- 对activiti的代码大量的进行了重构
- .......
-
缺点
-
- 官网可见,在大力发展商业版产品,部分功能已经不再开源
-
-
camunda
-
- 曾经是activiti5比较大的贡献者
-
对比
-
Activiti7.1, jBPM7.25, Camunda, Flowable6.3技术组成对比:序号 帓技术组成 帓Activiti7.1 帓jBPM7.25 帓Camunda帓Flowable6.3.1帓1 帓数据库持久层ORM 帓MyBatis3.4.2 帓JPA2.2二次封装 帓Hibernate4.2.0 帓JPA 2.2帓帓持久化标准 帓 JPA规范 帓 JPA规范 帓 JPA规范 帓JPA规范帓3 帓事务管理 帓MyBatis机制/Spring事务控制帓 Bitronix,基于JTA事务管理 帓hibernate机制/Spring事务控制 帓hibernate机制,Spring事务控制帓4 帓数据库连接方式帓Jdbc/DataSource帓Jdbc/DataSource帓Jdbc/DataSource帓Jdbc/DataSource帓5 帓支持数据库 帓Oracle、SQL Server、MySQL、db2帓Oracle、SQL Server、MySQL、db2帓Oracle、SQL Server、MySQL、db2帓Oracle、SQL Server、MySQL、db2帓6 帓设计模式 帓Command模式、观察者模式等 帓帓帓帓7帓内部服务通讯 帓Service间通过API调用帓基于Apac...h
-
- 活跃度
- 统计时间:截至日期:2020-06-30 参考网站:https://www.openhub.net/
-
主要人物和发展历史
-
-
Tom Bayen
-
- jbpm创始人
- activiti创始人
- 2010年5月第一版
-
Tijs Rademakers
-
-
算是activiti5以及6比较核心得leader。现在是flowable框架得leader
-
-
activiti5
-
- 一开始参与者有作者,十几位核心开发人员,加上其他一些公司得员工参与
-
activiti6
-
flowable
-
-
-
Joram Barrez
-
- 算是activiti5以及6比较核心的leader了。目前从事flowable框架开发
-
Salaboy
-
-
Activiti Cloud BPM leader(Activiti Cloud BPM 也就是目前的activiti7框架)
-
- activiti7
- 维护activiti5和6工作
-
2019年6月中旬离职
-
-
-