OSWorkflow工作流程描述
OSWorkflow的核心是工作流描述文件。这个描述文件是一个XML文件(实际上并不一定,但是这是直接就内置支持的。)
(可能由别的如JDBCWorkflowFactory代替,但是XML是一个通用的格式,强烈建议使用)。
- 一个工作流描述文件描述了针对一个特定workflow的所有的steps,states,transitions,functions.
- 一个工作流(workflow)由多个步骤(step)来表示流程(flow)。
- 每一个动作至少有一个无条件结果(unconditional result)和零到多个条件结果(conditional result)
- 如果定义了多个conditional result,第一个符合所有条件的result将会被执行,如果没有定义conditonal results或者没有符合的conditions,就会执行unconditional result。
- 执行完当前步骤,它可能会停留在当前步骤,跳转到另一个新的步骤,或者是一个split,或者是一个join中去。以上所有的情况下,workflow的的状态可以随之改变(例如状态是Underway,Quened,Finished)。
- 如果一个动作执行的result(结果)是一个分支(split),result中的split属性会指向splits元素中定义的一个split元素。
- 一个分支可以有一个或者多个无条件结果,但不会有条件结果。这些结果指向来自于split里面的步骤。
- 注册器(register)是一个全局变量,它在工作流运行时被解析,可以被每个function和condition 使用
- propertyset是全局范围的持久数据集合(——译者注:如果用数据库存储,它为os_propertyentry表。)
- transientVars是一个保存临时数据的Map对象,它应用于所有的functions和conditons。这个transientVars里面包括所有的registers(全局变量),用户输入,以及当前工作流的上下文和状态。它仅在一次工作流调用的生命周期中存在。

这篇文章目前没有评论