Flowable流程引擎实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.2 核心实现

Flowable引擎核心是一个状态机。这里的状态机一般指有限状态机(Finite-State Machine,FSM),表示有限个状态及在这些状态之间的转移和动作等行为的数学计算模型。

BPMN 2.0流程定义由事件、任务和网关等元素通过顺序流连接组成。当这样的流程定义部署在流程引擎中,并且在新的流程实例启动后,按顺序及条件逐个执行BPMN 2.0元素。这个流程执行过程类似于状态机,通过条件激活状态,让对象由一个状态执行发展到另一个状态。下面通过图1.3来看一看Flowable引擎的核心实现。

图1.3 Flowable引擎的核心实现

在Flowable引擎中,大多数BPMN 2.0元素都是以状态实现的。它们的转换与BPMN 2.0中顺序流的到达和离开有关。每个状态或者相应的BPMN 2.0元素都可以在流程实例进入到该状态时,附加一段自己的行为。

所以,当您在本书后续章节中看到一个复杂的BPMN 2.0实例时,请记住,在本质上,它是一个相当简单的状态机。