本编文章将详细介绍什么是流程引擎,为什么学习,以及为什么选择activiti作为学习的开源框架。并且将介绍本专栏的一个详细学习目录。

1.什么是流程引擎?

流程引擎说白了就是用来驱动业务按照我设定的固定流程去流转的东西,在复杂多变的业务情况下,使用既定的流程能够大大降低我们设计业务的成本,并且保证了我们业务执行的准确性。
eg1 : 企业常见审批
(一)什么是流程引擎?为什么学习流程引擎?(的顺序是什么)-冯金伟博客园(一)什么是流程引擎?为什么学习流程引擎?(的顺序是什么)-冯金伟博客园
eg2:网上购物业务
在这里插入图片描述在这里插入图片描述

2.为什么需要学习流程引擎?

早期 现在
企业OA 电商购物
CRM 金融出行
流程审批 中台支撑

流程引擎较为常见的应用系统是在“OA”等需要企业办公系统中,为无纸办公,信息化办公带来了巨大的作用。目前成熟的流程引擎已经广泛运用到“电商”等领域,新的应用则是在中台系统中做业务拓展的支撑。
为什么要学习流程流引擎总结为以下几点:
1.流程引擎在互联网公司快速盛行,不可或缺
2.流程引擎是java中高级工程师进阶利器
3.掌握流程引擎技术可以提升技术架构和业务建模能力
4.为你的技能栈填上重重的一笔,有效提高你大型互联网公司面试的资本
流程引擎对业务和开发可以起到非常良好的作用:可以快速响应、灵活调整线上流程;业务和开发基于流程模型进行沟通,基于业务建模快速部署;流程可视化,方便查看流程的运行进展
流程机制对团队的作用:提高效率,减少等待;规范行为,落实制度;协同内外,快速响应;监控全面,提升执行。

3.为什么选择activiti?

activiti官网
activiti与jBPM的对比:
1.目前这二者基本趋势可以看到activiti是越来越比jBPM运用广泛,这是大势所趋
(一)什么是流程引擎?为什么学习流程引擎?(的顺序是什么)-冯金伟博客园(一)什么是流程引擎?为什么学习流程引擎?(的顺序是什么)-冯金伟博客园
2.二者主要特性对比如下:

技术组成 Activiti jBPM5
数据库持久层ORM MyBatis3 Hibernate3
持久化标准 JPA规范
事务管理 MyBatis机制/Spring事务控制 Bitronix,基于JTA事务管理
数据库连接方式 Jdbc/DataSource Jdbc/DataSource
支持数据库 Oracle、SQL Server、MySQL等多数数据库 Oracle、SQL Server、MySQL等多数数据库
设计模式 Command模式、观察者模式等
内部服务通讯 Service间通过API调用 O基于Apache Mina异步通讯
集成接口 SOAP、Mule、RESTful 消息通讯
支持的流程格式 BPMN2、xPDL、jPDL等 目前仅只支持BPMN2 xml
引擎核心 PVM(流程虚拟机) Drools
技术前身 jBPM3、jBPM4 Drools Flow
所属公司 Alfresco jBoss.org

总结如下:
activiti是java实现了工业领域BPMN2.0的规范标准框架,老牌、成熟稳定
目前用户众多、社区活跃、趋势较好
易于上手,基于Spring、MyBatis常用互联网技术堆栈