OSWorkflow是基于FSM(finite state machine,有限状态机)理论。每一个state表示了step及其所属的status(state=stepID+status)。
首先,有必要简要介绍一下FSM:
最基本的FSM包含三部分:States,Start State,Transtion/Actions
如下图所示:
一个state到另一个state就称为Transtion。
下面,我们来看看OSWorkflow的核心设计思想:
一个state到另一个state的转移(Transtion),依赖于action的发生。在一个workflow的生命周期中,总会存在至少一个或多个state:这就是osworkflow engine的最核心理念。
OSWorkflow的最基本的元素:
OSWorkflow主要包含如下几个基本元素:Step,Status,Action,Result;还有两个特殊的元素,用于描述聚合分散的:Split和Join。
这几个概念的详细解释,在此就不像再解释了,如果有必要,大家可以看看gigix兄blog,上面有篇《OSWorkflow基本概念》。
针对这些基本元素之间的关系,我画了如下的图:
说道这儿,可以说一句了:OSWorkflow其实是很简单的,理解了这些(state,step,status,action,transtion),就可以知道osworkflow最为核心的本质了。