osworkflow概念

1. Step:工作流所在的位置,整个工作流的步骤,也可以是一系列工作中的某个工作,比如某个审批流程中的文件交到某个领导处审批,此过程可能包括接收秘书交来的文件、然后阅读、提出自己的意见、签字、叫给秘书继续处理,这整个过程可以是一个Step。但并不是FSM中的Status。

2. Status:某个Step的状态,每个Step可以有多个Status。比如上例中阅读,等待提意见,等待签字,等待交秘书处理,都是Step的状态。Step+Status共同组成了工作流的状态,也就实现了FSM中的Status。Step的Status在OSWorkflow中就是一段文本,状态的判断其实就是自定义的一段文本的比较,非常灵活。

3. Action:造成工作流状态转换的动作,比如”阅读文件“动作,造成了工作流状态从”领导审批+等待阅读"转换成“领导审批+等待提出意见”。由于工作流的状态是Step+Status,所以Action可以造成Stats的变化,也可以造成Step的变化。

4. Result:工作流状态的转换,也就是Action造成的结果。也就是FSM中的Transition。每个Action中至少包含一个unconditional result和包含0或多个conditional result,Result的优先级顺序是 第一个符合条件的conditional result > 其他符合条件的conditional result  > unconditional result。

5.Split/Join:字面意思就可以解释。Split可以产生多个unconditional result;而Join可以判断多个Step的状态,如果都满足条件的时候,Join产生一个unconditional result。可以用来实现其他工作流产品定义中的同步区的作用,比如一个投标文件的评标过程,分别要在技术方面和商务方面对标书进行评分,这样就可以使用Split将工作流分开进入商务评标组和技术评标组分别进行评标,当两个评标过程都完成后使用Join将两个流程合并,并对两个评标做的评分进行汇总。

6.External Functions:执行的功能和动作。任何的工作流引擎都要与实际的业务操作相结合,External Functions就是OSWorkflow中执行业务操作的部分,比如审批流程中,领导填写意见后将领导的意见更新到业务数据库中的过程。Functions有两种类型,pre step function和post step function,分别发生转移前和发生转移后执行。Functions可以被定义到Step中和Action中。

7.Trigger Functions,一种不是定义在Action中的Function,依靠计划自动执行。

8.Validators:用来检验用户输入是否符合条件,只有符合条件,Action对应的转移才能执行,如果不符合条件,返回InvalidInputException异常。

你可能感兴趣的:(工作)