一、工作流相关概念
- 工作流定义:
- 工作流是对工作流程及其各操作步骤之间业务规则的抽象、概括、描述。
- 工作流建模:
- 即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算中以恰当的模型进行表示并对其实施计算。
- 要解决的问题:
- 是为了实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。
- 工作流管理系统:WfMS【Workflow Management Systems】
- 是处理工作流的电脑软件系统
- 主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。
- 工作流需要依靠工作流管理系统来实现的
- 计算机支持的协同工作:CSCW【Computer Supported Cooperative Work】
- 是普遍地研究一个群体如何在计算机的帮助下实现协同工作的
- 工作流属于计算机支持的协同工作(CSCW)的一部分
- 工作流管理联盟:WFMC【WorkFlow Management Coalition】
- 工作流技术标准化的工业组织,成立于1993年8月
- 工作流管理联盟发布了用于工作管理系统之间相互操作的工作流参考模型,并相继制定了一系列工业标准。
二、为什么需要工作流
- 产品需求遗漏,开发上线后需求经常改
- 业务代码如此复杂,DDL【deadline截止日期】的时间紧急
- 时间流逝,文档缺失,PM【Project Management项目管理】让RD【Research and Development engineer研发工程师】刨代码梳理流程
三、使用工作流的好处
- 流程对项目的好处:
- 可以快速响应、灵活调整线上流程。
- 业务和开发基于流程模型沟通,基于业务构建模块快速部署
- 流程可视化,方便查看流程的运行进展
- 工作流对团队的好处:
- 提供效率,减少等待
- 规范行为,落实制度
- 协同内外,快速响应
- 监控全面,提升执行
四、工作流的技术选型
- 主流工作流引擎
- Activiti
- Flowable
- jBPM
- Snaker
- ccflow
- 对比Activiti和jBPM
- Activiti6.0的优势
- 老牌、成熟、稳定、满足BPMN2.0规范。
- 用户众多、社区活跃、趋势良好。
- 易于上手基于spring、mybatis常用互联网技术堆栈。