打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
OSWorkflow基本概念
最近打算深入了解一下工作流,经过考察,OSWorkflow轻便灵活,从它入手吧。先备忘几个概念性的东东。
Step
大致相当于流程所在的位置。譬如企业年检,年检报告书在企业端算一个step,在工商局算第二个step,在复核窗口算第三个step。每个step可以有多种状态(status)和多个动作(action),用Workflow.getCurrentSteps()可以获得所有当前的step(如果有并列流程,则可能同时有多个step,例如一次年检可能同时位于"初审"step和"广告经营资格审查"step)。
Status
流程在某个step中的状态。很容易理解,譬如"待认领"、"审核不通过"之类的。OSWorkflow中的状态完全是由开发者自定义的,状态判别纯粹是字符串比对,灵活性相当强,而且可以把定义文件做得很好看。
Action
导致流程状态变迁的动作。一个action典型地由两部分组成:可以执行此动作的条件(conditions),以及执行此动作的结果(results)。条件可以用BeanShell脚本来判断,因此具有很大的灵活性,几乎任何与流程相关的东西都可以用来做判断。
Result
执行动作后的结果。这是个比较重要的概念。result分为两种,conditional-result和unconditional-result。执行一个动作之后,首先判断所有conditional-result的条件是否满足,满足则使用该结果;如果没有任何contidional-result满足条件,则使用unconditional-result。unconditional-result需要指定两部分信息:old-status,表示"当前step的状态变成什么";后续状态,可能是用step+status指定一个新状态,也可能进入split或者join。
conditional-result非常有用。还是以年检为例,同样是提交年检报告书,"未提交"和"被退回"是不同的状态,在这两个状态基础上执行"提交"动作,结果分别是"初次提交"和"退回之后再次提交"。这时可以考虑在"提交"动作上用conditional-result。
Split/Join
流程的切分和融合。很简单的概念,split提供多个result;join则判断多个current step的状态,提供一个result。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
JR - 精品文章 - OSWorkFlow分析
OSWorkflow深层讲解系列(一)初始化的原理 - 胡长城(银狐999)BLOG - ...
OSWorkflow使用问答
OSWorkFlow深入浅出(2)
OSWorkflow - OSWorkflow - Testing your workflow
Java开源工作流对比
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服