activity(流程引擎)从零入门到实战学习 1.什么是流程引擎?2.为什么需要学习流程引擎?3.为什么选择activiti?

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

1.什么是流程引擎?

流程引擎说白了就是用来驱动业务按照我设定的固定流程去流转的东西,在复杂多变的业务情况下,使用既定的流程能够大大降低我们设计业务的成本,并且保证了我们业务执行的准确性。
eg1 : 企业常见审批

eg2:网上购物业务

2.为什么需要学习流程引擎? 早期现在企业OA电商购物CRM金融出行流程审批中台支撑……

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

3.为什么选择activiti?

activiti官网
activiti与jBPM的对比:
1.目前这二者基本趋势可以看到activiti是越来越比jBPM运用广泛,这是大势所趋

2.二者主要特性对比如下:

技术组成ActivitijBPM5数据库持久层ORMMyBatis3Hibernate3持久化标准无JPA规范事务管理MyBatis机制/Spring事务控制Bitronix,基于JTA事务管理数据库连接方式Jdbc/DataSourceJdbc/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、jBPM4Drools Flow所属公司AlfrescojBoss.org

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