一、什么是工作流,为什么使用工作流
工作流指“业务过程的部分或整体在计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。
TODO
二、什么情况下使用工作流,工作流场景是什么
流程节点不同,但是各节点的操作相似情况下用工作流
常用于:办公软件、CRM系统、ERP系统、OA系统。。。。。。
三、BPM、BPMN、工作流、工作流引擎之间的关系
四、三大工作流引擎
4.1、JBPM
特点: 从jbpm5以后全新设计,给之前的开发者带来很多不便,采用了Apache Mina异步通信技术,采用JPA/JTA持久化方面的标准,以功能齐全的Guvnor作为流程仓库,有RedHat(http://jBoss.org被红帽收购)的专业化支持;但其劣势也很明显,对自身技术依赖过紧且目前仅支持BPMN2
4.2、activiti
官网:Open Source Business Automation | Activiti
特点:
采用了PVM(流程虚拟机),支持除了BPMN2.0规范之外的流程格式,与外部服务有良好的集成能力,延续了jBPM3、jBPM4良好的社区支持,服务接口清晰,链式API更为优雅;
二次开发难度也挺大,门槛高;
流程设计器官网好久不维护了,idea下不方便用,页面设计器需要汉化,而且有bug;
团队转向flowable;
新版本发展朦胧;
主要版本
4.3、flowable
特点:
支持jms、rabbitmq、mongodb方式处理历史数据;
支持事务子流程;
支持条件表达式中自定义juel函数;
修复了dmn规范设计器,activit用的dmn设计器还是旧的框架,bug太多;
对activiti的代码大量的进行了重构;
官网可见,在大力发展商业版产品,部分功能已经不再开源。