么是工作流,工作流可以说是对业务处理过程的建模,当我们设计工作流的时候,我们首先要分析业务处理过程中要经历的步骤。然后,我们就可以利用WF创建工作流模型来模拟业务的处理过程。

WF工作流包含两种类型的工作流:顺序工作流和状态机工作流。

序工作流

提供了一系列有组织的步骤,一般情况下,步骤是逐一执行的。可能有的步骤需要等待某些事件的发生才可以继续执行,但通常情况下顺序工作流一般用于无需人工干预的操作。

使用顺序建模风格来构建的工作流非常易于理解和创作。它们可以用来模拟简单到难度适中的过程。由于程序性活动相当于编程语言中的程序性语句,你就可以使用这种类型的工作流来模拟几乎所有类型的过程。顺序工作流还很适合模拟简单的并且没有人类交互的过程(比如服务)。

态机工作流

提供了一系列的状态。工作流从初始状态开始,到终止状态结束。两个状态之间定义行为进行过渡。通常情况下,状态机工作流对事件作出反应,事件的发生将会使状态发生改变。

Flowchart

Flowchart是一种众所周知的、能够直观地表示业务过程的图表。业务分析师、架构师和开发人员经常使用Flowchart作为他们表达过程定义和逻辑流的共同语言。

  WF 3.x发布以来,客户向微软反馈了许多他们所喜欢的和不喜欢的。这些来自使用WF 3.x客户的反馈中,有一个共同点,就是“我们希望像Sequence、Parallel等一样简单。却像StateMachine一样灵活”。当微软深入发掘了这种观点背后的场景时,他们发现客户的过程(或者一部分过程)往往是顺序的,但在某些情况下还要求能够回退(对一些客户来说,这种情况属于“异常”,而对另外一些客户来说,它们则在“期望”之内)。Flowchart是WF 4.0的一个新的活动,它直截了当的解决了这种类型的情况(而且这种情况的数量并不小)。Flowchart是一种非常强大的结构,因为它提供了顺序的简单,再加上回退到上一个执行点的能力,可以用来模拟在处理外部输入时的重试逻辑,而这在现实世界中的业务过程中是非常常见的。

到底采用哪种类型的工作流,取决于具体的业务管理过程。

申请使用笔记本电脑流程:

员工提交申请表单信息(员工姓名、所在部门、职位)等信息--->如果当前公司空闲笔记本电脑数量=0则返回,否则继续--->如果当前员工为正式工则继续,否则返回--->如果当前员工为技术部、市场部、商务部则继续,否则返回--->通知综合部人员提取库存电脑发放给申请人并系统备案,流程结束。

申请笔记本电脑的流程由电脑自动根据用户提交的申请信息就可以完成,期间不需要人工交互或者因等待其它事件而暂停或者中止,这就是常见的顺序工作流。

公司请假流程:

员工提交申请请假表单信息(员工姓名、所在部门、职位)等信息--->如果是普通员工,自动流转到员工所在部门审批,如果部门审批通过且请假天数<=3则成功并系统备案,如果请假天数>3则自动流转到综合部审批,综合部审批通过则请假成功并备案--->如果是部门领导,自动流转到综合部门审批,综合部审批通过则请假成功并备案

假流程有些过程需要暂时中止并等待其他过程的开始,需要与人交互来完成的。所以这个常见的状态机工作流。

态机工作流的好处在于它可以定义状态,定义工作流如何从一个状态到另外一个状态。当外面的事件发生的时候,状态机工作流可以移动到不同的状态。外部行为可以是宿主程序引发工作流内部事件,也可以是宿主程序编程实现的下一个状态,也可以利用SetState Activity移动到下一个状态。

就是说,状态机工作流强调职工与职工之间的工作交互,而顺序工作流更强调职工与计算机之间的工作交互。

信息来自:http://blog.sina.com.cn/s/blog_6158b3f90100ysrh.html

状态机工作流,顺序工作流和Flowchart的更多相关文章

  1. javascript状态机及在工作流中的应用

    #javascript状态机及在工作流中的应用 ##状态机 什么叫状态机(Finite State Machine),书面上的解释可以自己借助搜索引擎寻找到.通俗地来讲是一个状态定义.查找.切换和事件 ...

  2. sharepoint 顺序工作流创建

    顺序工作流提供了一系列有组织的步骤,一般情况下,步骤是逐一执行的. 1.新建 > 项目,选择 SharePoint解决方案 > 空项目: 2.部署为场解决方案 3.添加 > 新项,选 ...

  3. 使用自定义任务审批字段创建 SharePoint 顺序工作流

    http://msdn.microsoft.com/zh-cn/library/hh824675(v=office.14).aspx#odc_sp14_ta_CreatingSPSeqWorkflow ...

  4. 工作流引擎在vivo营销自动化中的应用实践 | 引擎篇03

    作者:vivo 互联网服务器团队- Cheng Wangrong 本文是<vivo营销自动化技术解密>的第4篇文章,分析了在营销自动化业务引入工作流技术的背景和工作流引擎的介绍,同时介绍了 ...

  5. Workflow笔记1——工作流介绍

    什么是工作流? 工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象.概括.描述.BPM:是Business Process Management的英文字母缩写.即业务流程管理,是 ...

  6. 【转】WF事件驱动

    转自:http://www.cnblogs.com/Mayvar/category/315963.html 这系统的教程有代码可以下载 WF事件驱动(5) 摘要: 之前,我通过4篇文章介绍了在WF4中 ...

  7. [转]WF事件驱动

    本文转自:http://www.cnblogs.com/Mayvar/archive/2011/09/03/wanghonghua_201109030446.html 已经有不少朋友知道Workflo ...

  8. 关于WorkFlow的使用以及例子

    近期做项目,项目需要用到工作流方面的技术,我在这里与大家分享一个workFlow学习的地址,共大家学习. http://www.cnblogs.com/foundation/ 各文档的说明: F资料├ ...

  9. WF4.0(2)----设计工作流

    自从做了程序员,发现自己长胖了,而且自己的身体抵抗力也出了问题,最近身体不适,公司工作任务最近也很赶,上次写了WF4.0的简介,这次就工作中工作流设计的几种方式稍微总结一下.设计工作流包括四种方式:流 ...

随机推荐

  1. vmware上搭建kickstart 网络安装centos6.2的过程

    前言 什么是PXE? PXE(Pre-boot Execution Environment,预启动执行环境)协议使计算机可以通过网络启动.协议分client和server. PXE client 在网 ...

  2. 非常好!!!Linux源代码阅读——中断【转】

    Linux源代码阅读——中断 转自:http://home.ustc.edu.cn/~boj/courses/linux_kernel/2_int.html 目录 为什么要有中断 中断的作用 中断的处 ...

  3. Less的用法

    Less常用来写样式,比较多的用法是使用第三方软件编译成CSS文件,然后在HTML页面引入CSS文件.而不是直接在HTML页面里引入编译文件和Less文件.如此以来,在后期修改方便的多.当然,在写小项 ...

  4. linux硬盘分区表为gpt

    由于mbr最大支持2T不够用,给5T的新硬盘弄成GPT的 yum install -y parted#指定硬盘parted /dev/#p 查看分区#rm 1p 删除指定分区#改成gptmklabel ...

  5. 安全提示“X-Frame-Options头未设置”的解决方法

    漏洞检测提示“X-Frame-Options头未设置”,意思是网页可能被别人用iframe框架使用.事实上,我的网页已经通过js程序禁止被iframe框架嵌入使用了.不过,对于使用iis的网站来说,可 ...

  6. 记录常见的HTTP请求错误

    服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF 解决方案:winfrom 在app.config种添加 web 在 web.config种添 ...

  7. C#实时读取数据----局部页面刷新【转】

    I)现在刚开始学习C#,对一些基本的控件了解的不够,有个实时监控的系统,需要页面中的数据每5秒钟刷新一次, 要是每5秒钟页面全部的刷新,那页面根本就没法看了,对这个问题在CSDN上也专门开了帖子,问了 ...

  8. c语言自动对齐原则

    转载一篇博客: http://blog.csdn.net/hairetz/article/details/4084088 1:数据成员对齐规则:结构(struct)(或联合(union))的数据成员, ...

  9. Javascript 中的 apply与call详解

    一.方法定义 1.call 方法 语法:call(thisObj,arg1, arg2, argN) 参数 thisObj 可选项.将被用作当前对象的对象. arg1, arg2, , argN 可选 ...

  10. HttpRunner 接口自动化测试进阶

    前面说到了httprunner的安装与简单使用,参见: https://www.cnblogs.com/chengtch/p/8735160.html 这里我们介绍一下通过调试源码的方式来做接口测试: ...