昨天说了那么多,想必有些人对OSWorkFlow 有一个大体上的认识,但是还是不够详细,那么我们就对照着第一篇中的脑图进行逐个突破,先来说说最为重要的Step元素吧
一个workflow的实例是由一个或者多个step组成,在某一个特定的时刻,workflow可执行的step也存在一个或者多个,甚至会有并发执行的情况(split我们在后面介绍),先来看看step的结构,从他的dtd来看最合适不过了!
<!ELEMENT step (meta*, pre-functions?, external-permissions?, actions?, post-functions?)>
<!ATTLIST step
id CDATA #REQUIRED
name CDATA #REQUIRED
>
<!ELEMENT steps (step+)>
从DTD的描述中可以看到steps必须有一个以上的step标签,而step中的元素详解如下:
1、meta:0~n个,主要起到解释的作用,没有很多实际的意义,比如你要描述这一段step代表什么,就可以填充meta标签;
2、pre-functions:0~1个,主要是在进入step之后,执行Action之前调用的函数,我们也会有专门的章节介绍这个标签,并且自己实现一个pre-functions。
3、external-permissions:0~1个,主要是进行外部权限的判断,比如我们在oswf中加入了角色之后,这个标签就会起到他的作用,在后文中介绍。
4、Actions:0~1个,进入step之后触发的动作,这也是我们在后面需要重点讲解的标签;
5、post-function:0~1个,主要是当step执行完之后需要触