BPMN 和 Activiti 介绍
工作流介绍
在任何行业和企业中,都有各种各样的流程,例如:
- 请假流程
- 报销流程
- 入职流程
- 离职流程
- 出差流程
- 等等……
就算你自己没有设计过工作流,那么你每天肯定也在使用各种流程。
为什么要用 BPMN ?
对于流程控制,有一种比较初级的玩法是:在业务代码里面加入 Status(状态机)
字段维护流程状态,流程负责的审批人可能也是 Hard Code(硬编码)
,这种玩法实现流程初级会比较快,但是长远来看会出现几个问题:
- 流程健壮性差,但凡出现人员变动,或者组织结构调整,就需要修改代码,维护成本高
- 流程无法复用,当组织出现新的工作流程,又要重新写一套代码,开发成本非常高
- 流程和业务代码耦合,你中有我,我中有你(并不符合单一职责和解耦的设计原则)
BPMN:业务流程模型和标记法 工作流(Workflow)是对各个行业的流程进行抽象,例如电信、软件、制造、金融和办公自动化领域。为了给全部业务的参与者提供易于理解的标准标记法,由业务流程管理倡议组织 BPMI 开发出了“业务流程建模标记法” Business Process Modeling Notation, BPMN。 BPMI 组织 于 2005 年并入 OMG 国际规范组织(Object Management Group),当前 BPMN 规范由 OMG 组织进行维护。
为什么要遵循规范 ?
遵循市场行为
举例:我们日常的电池