`
ronghao
  • 浏览: 458248 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
E9473dd5-1985-3883-ac98-962354ca10b3
张小庆,在路上
浏览量:8836
社区版块
存档分类
最新评论

工作流资源模式之自动开始、可见性、多实例模式

阅读更多

六、自动开始模式

在前面的资源模式里,我们讨论了创建模式、推模式和拉模式,它们实际对应着工作项的一个正常生命周期:创建、提供 /指派、资源选取开始执行。在前面的讨论里,工作项的执行都是由资源驱动的(从工作项待办列表里选取执行),而自动开始模式则提供了一种系统驱动工作项执行的方式,系统直接驱动工作项执行往往表明了该工作项的最高优先级,需要马上开始执行。

 

5-42

如图 5-42所示,自动开始模式对应着红线标识着的工作项的状态变迁,共有 4种模式:创建即执行、指派即执行、成堆执行和链式执行。

 

1 、创建即开始执行( WRP_36: Commencement on Creation

描述

资源能够在工作项一创建完毕就开始执行。

 

5-43

如图 5-43所示,任务 A工作项一创建就插入员工甲的办理列表,需要员工甲马上开始执行。

 

应用

该模式应用在关键的优先级高的任务里,通过系统推送,强制资源优先执行该任务,省去任务的等待时间。

 

实现

该模式的实现实际是系统同时完成了工作项的创建和推送,系统需要确定具体的执行人,工作项不会分配给角色、岗位等资源组以提供给相应资源进行选择。

 

2 、指派即开始执行( WRP_37: Commencement on Allocation

描述

资源能够在工作项一指派完毕就开始执行。

 

5-44

如图 5-44所示,任务 A工作项一旦被员工甲从可拾取列表拾取就马上插入员工甲的办理列表,需要员工甲马上开始执行。

 

应用

该模式跳过了工作项的指派状态,实际是对创 建即开始执行模式的扩展,在创建即开始执行模式里,工作项必须预先确定明确的执行人,不能分配给角色、岗位等资源组,而在该模式里除了支持创建即开始执行 模式里的情况,同时也提供了对这种情况的支持,工作项可以提供给多个资源拾取,一旦一个资源拾取则必须马上开始执行(从这个角度看,该模式与资源驱动执行 -提供工作项模式是相同的)。

 

 

3 、成堆执行( WRP_38: Piled Execution

描述

资源能够成堆执行相同任务的不同工作项。

 

5-45

如图 5-45所示,员工甲有多个任务 A的工作项需要执行,这些注意的是,这些工作项并不是由一个任务实例所产生的,它们属于不同的流程实例,是由多个流程实例里的任务 A生成的。一旦员工甲开始任务 A工作项的执行,那么他将执行所有任务 A的工作项,即将任务 A相关的工作项全部打包执行。这一功能由系统驱动,系统将与任务 A相关的工作项依次推送至资源的办理列表。

 

应用

开发人员甲熟悉持续集成工具,此时同时有多个软件开发项目需要搭建持续集成环境。一旦他为某个项目组搭建了持续集成环境,那么处于执行效率的考虑,最好的方式无疑是他一鼓作气将所有的持续集成环境都搭建完毕。

相同 /相似的工作交由同一资源一并执行,这些工作具有完全或大部分相似的执行上下文(相同的知识、能力要求),从这个角度能够达到最高的工作效率。

 

实现

系统需要在进行工作项状态变迁操作时提供相应的钩子,以进行相应的回调操作。

 

4 、链式执行( WRP_39: Chained Execution

描述

在一个流程实例里,当前一个任务的工作项执行完毕后,能够自动开始执行下一个任务的工作项。

 

5-46

如图 5-46所示,任务 A和任务 B是两个连贯的任务,它们都分配给员工甲执行,当员工甲执行完毕任务 A的工作项后,任务 B生成的工作项将马上被系统发送至员工甲的办理列表,员工甲需要马上办理。

 

应用

该模式实际是将资源胶黏在一个流程实例上,同样是出于执行效率的考虑(两个任务位于同一流程实例里,具有相同的执行上下文)。该模式的应用具有前提条件:流程定义时,连续的任务由相同的资源进行处理。

 

七、可见性模式

可见性模式讨论各种不同资源对工作项的可见 性,不同的资源由于角色、权限的不同,对工作项拥有不同的可见范围。由于涉及到权限,那么根据不同的组织机构设置,必然会出现不同的工作项权限分配,这里 不讨论具体的工作项权限分配,仅从工作项的状态来讨论这些工作项区分可见性的必要性。

可见性模式包括 2种:未指派状态工作项的可见性和指派状态工作项的可见性。实际上,工作项处于执行状态或完成状态也存在不同的可见性。

 

1 、可配置的未指派工作项的可见性( WRP_40: Configurable Unallocated Work Item Visibility

描述

能够配置未指派工作项的可见性。

 

5-47

如图 5-47所示,可拾取列表里存在 3个工作项:任务 A工作项、任务 B工作项和任务 C工作项。员工甲可拾取的工作项包括:任务 A和任务 B工作项;员工乙可拾取的工作项包括:任务 B和任务 C工作项,那么由此产生的可见性是:员工甲只能看到任务 A和任务 B工作项,而员工乙则只能看到任务 B和任务 C工作项。而作为员工甲和员工乙的部门经理,他需要了解每个属下的工作情况,所以他可以看见所有甲乙可见的工作项。

 

应用

随着企业规模的发展,几乎所有企业的组织模 型都会形成金字塔型的结构,一方面是出于分工的需要,另一方面则是出于管理的需要,每一层级的人员都需要对上一级负责,同时管理下一层级的人员。处于管理 的需要,管理者必然需要了解下属的工作情况,这样权限就自然产生了,具体到工作流的任务里,管理者需要对其所管理下属的工作具有可见性。

其实不仅仅是对于工作项,对于流程实例本身 也具有可见性的分配。对流程负责的人必然具备最大的可见性和权限,流程根据任务分解,如果仅仅只对某一任务负责,那么则只对该任务具有可见性,而如果需要 对多个任务负责,那么就需要对多个任务具有可见性,最直接的负责人就是具体执行该任务的人员,但是引入管理的层级后,职责的承担也会形成层级的关系,从上 至下层层承担,此时担负最大职责的人员往往不再是具体的工作执行人员,而是相应的管理人员。

 

实现

在前面所描述的情况里,支持员工甲乙的可见性是比较简单的,因为每条工作项记录都携带有参与者信息,但是部门经理显然不在这些参与者信息里,所以需要引入与组织权限模型相匹配的工作项查询机制,即不同于工作项列表的查询列表。

 

2 、可配置的指派工作项的可见性( WRP_41: Configurable Allocated Work Item Visibility

描述

能够配置已指派工作项的可见性。

 

5-48

如图 5-48所示,待办列表里存在 3个工作项:任务 A工作项、任务 B工作项和任务 C工作项。指派给员工甲的工作项包括:任务 A和任务 B工作项;指派给员工乙的工作项包括:任务 C工作项,那么由此产生的可见性是:员工甲只能看到任务 A和任务 B工作项,而员工乙则只能看到任务 C工作项。而作为员工甲和员工乙的部门经理,他需要了解每个属下的工作情况,所以他可以看见所有甲乙可见的工作项。

 

八、多资源模式

到目前为止,我们讨论的工作项都是与某一特定资源一一对应的,即一个工作项只能由一个单一资源执行,或者严格来说,一个工作项在任何时间段都只能由一个单一资源执行(考虑到工作移交的情况);同时,一个资源在任何一个时间段都只能处理一个工作项。

多资源模式将会讨论两种不同的情况:一个资源同时执行多个工作项、多个资源执行同一个工作项。

 

1 、同时执行( WRP_42: Simultaneous Execution

描述

资源能够同时执行多个工作项。

 

5-49

如图 5-49所示,员工甲的办理列表里有三个工作项,他能够同时执行这三个工作项。

 

应用

和计算机一样,虽然在任何时刻都只能处理一项工作,但是通过将多项工作切分成多个线程交替执行,从某个时间段看,人能够同时处理多项工作。

人能够选取相关联的多个工作,同时开始执行,在执行的过程中,合理安排这些工作的执行时机和顺序。

 

实现

几乎所有的工作流系统都不会约束人员往自己的办理列表里增加多个工作项。

 

2 、增加资源执行( WRP_43: Additional Resources

描述

资源能够要求增加资源来处理他正在执行的工作项。

 

5-50

如图 5-50所示,员工甲和员工乙同时处理一个工作项。

 

应用

在一些复杂的场景里,一项工作往往需要多个资源共同协作完成。

典型的在一个会签任务里,一个发文需要多人签字通过,同时在会签过程中,经常出现动态加签的情况:需要新的人员加入进行签字。

在敏捷开发里,所有的开发工作都是由两个开发人员共同结对完成。

 

实现

工作项作为工作流系统里最小的工作单元,如果将其分配给多个资源,无疑会增加编程模型的复杂度。最常见的实现方式是增加工作项,一个任务节点对应多个工作项,对于需要增加资源的情况,增加工作项。

 

九、小结

在本章里,我们讨论了工作流的 43种资源模式,这些模式分为 7类,分别是创建模式、推模式、拉模式、折回模式、自动开始模式、可见性模式和多资源模式。

创建模式在系统创建工作项时生效,其位于工作项生命周期的创建阶段,创建模式作为流程模型的构成部分在流程设计期指定,通常在任务节点的定义里进行定义,与一个任务关联,其用来限定可执行该任务的资源范围。系统根据创建模式限定的资源范围生成工作项。

接下来,系统需要将工作项推送给相关的资源进行执行,这个推送的过程即是推模式所包含的内容。工作流系统通过工作项管理器即不同类型的工作项列表与用户进行交互,这里的推送可以理解为系统将生成的工作项推送至相应资源的工作项列表里。

推模式的主语是系统,由系统将工作项推送至资源的工作项列表,那么,接下来的主动权交由单个资源本身,由其拉动工作项的执行,这是拉模式所包含的内容。

实际工作中,工作的执行状态不可能总是与预想相符的,总会出现各种各样的情况,例如重新分配、重做、挂起等等。折回模式对应着这些情况,折回代表着工作项状态的反复、回退。

自动开始模式提供了一种系统驱动工作项执行的方式,系统直接驱动工作项执行往往表明了该工作项的高优先级,需要马上开始执行。

可见性模式讨论各种不同资源对工作项的可见性,工作项自身作为资源与权限相关。

多资源模式讨论一个资源执行多个工作项和多个资源执行同一个工作项的情况。

从这些模式的讨论可以看出,这些模式更多关 注的是对实际业务执行的场景描述,关注通过合理分配任务和调配工作的执行为组织带来最大的执行效率。从另一个角度看,由于这些模式都以业务作为出发点,这 给工作流系统的实现带来了复杂性,很多模式当前的工作流系统都无法完全支持或直接支持。在很多情况下,模式的支持需要很多的约束,而这种约束往往需要在工 作流实施阶段结合客户具体情况进行限定,这实际强调了工作流实施的重要性,工作流系统的应用是由工作流产品加实施两部分组成,很多时候,实施占据了更大的 比重,这就对工作流产品的可扩展性提出了要求。应用工作流不仅仅是选择工作流产品,更重要的还包括选择合适的实施团队。

在下一章里,我们将讨论另外一种工作流模式 -数据模式。

分享到:
评论

相关推荐

    工作流引擎平台解决方案

    工作流引擎WorkFlow通过工作流引擎使具体应用系统中的工作流从一个个体“流”向另外一个个体,实现工作流的自动化。它完全是一个后台驱动,对于用户来说是不可见的。它主要包括运行服务功能、监控管理功能等。 ...

    基于关系数据库的工作流系统设计与实现.pdf

    关系数据库是工作流系统的核心组件之一,主要负责存储和管理与工作流相关的数据,包括但不限于工作流模型、实例、任务状态、参与者信息、事件日志等。通过SQL查询语言,可以有效地检索、更新和维护这些数据,支持...

    工作引擎之工作流系统

    工作引擎之工作流系统是一种用于自动化业务流程的技术,它能够协调和管理组织内不同角色的任务分配、审批流程、文档流转等。在项目管理中,工作流系统扮演着至关重要的角色,确保任务按照预设的规则高效、有序地进行...

    二十三种设计模式【PDF版】

    所以很少存在简单重复的工作,加上Java 代码的精炼性和面向对象纯洁性(设计模式是 java 的灵魂),编程工作将变成一个让你时刻 体验创造快感的激动人心的过程. 为能和大家能共同探讨"设计模式",我将自己在学习中的心得...

    工作流管理技术基础

    工作流管理技术基础是信息技术领域中的一个重要组成部分,它主要涉及如何在组织中高效地协调、管理和自动化业务过程。清华大学的范玉顺教授在这方面有深入的研究和教学经验,他的讲解可以帮助我们理解这一领域的核心...

    通达OA工作流使用说明

    1. **工作流**:工作流是指通过一系列逻辑步骤,将一个业务活动从开始到结束的过程进行有序组织和控制的方法。在通达OA系统中,工作流可以用于处理各种类型的业务活动,如请假申请、报销审批、文件审批等。 2. **...

    工作流参考规范概述----

    这个接口被称为过程定义输入/输出接口,它定义了流程定义的交换格式和一组API调用,使得一个工具产生的定义可以在多个不同的工作流产品中使用。这种方式的好处在于提高了灵活性,用户可以根据需要选择不同的工作流...

    通达OA2009版工作流使用详解.pdf

    工作流能够帮助组织实现业务流程的自动化处理,确保任务能够按照预定的规则有序地进行。 **工作流**是将一项工作任务分解为多个步骤,并由多人协同完成的过程。这种模式不仅适用于办公环境,也广泛应用于各种行业的...

    UML及软件设计模式

    观察者模式定义了对象间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。 4. **装饰器模式(Decorator Pattern)** 装饰器模式动态地给对象添加新的职责,提供了比继承...

    工作流动态表单设计图(jbpm)

    工作流动态表单设计是企业信息化管理中的一个重要环节,它允许用户根据业务需求自定义工作流程中的表单,实现流程与表单的紧密关联。在本文中,我们将深入探讨使用jbpm实现工作流动态表单设计的相关知识点。 首先,...

    企业门户网站\Blog\论坛\B2C电子商务网站\OA办公自动化系统(工作流模块)

    3. SEO优化:定期发布原创文章有助于搜索引擎排名,增加网站可见性。 【论坛】 论坛是用户交流的平台,对于企业而言: 1. 用户社区:建立用户之间的联系,形成互动,提高用户黏性。 2. 口碑营销:用户分享经验和...

    jbpm4.4实例

    jbpm4.4实例是一个基于Java的企业工作流管理系统示例,它主要展示了如何利用jbpm框架来实现一个具体的业务流程,如本例中的请假流程。jbPM(Business Process Management)是一个开源的工作流管理系统,它提供了对...

    工作流系统设计.docx

    工作流系统设计是现代企业信息化建设的关键组成部分,它旨在实现业务流程的自动化和规范化,提高工作效率,确保信息的准确流转。工作流系统的核心是流程引擎,它允许用户自定义表单,配置审批流程,无需编程知识,...

    n8n:免费和开放的基于公平代码许可节点的工作流自动化工具。 轻松自动化跨不同服务的任务

    可用的集成n8n有200多个不同的节点来自动化工作流。 可以在以下位置找到该列表: : 文献资料官方的n8n文档可以在以下位置找到: ://docs.n8n.io n8n.io网站上的其他信息和示例工作流: ://n8n.io 更新日志可以发现和...

    VC++常用功能实例

    ◆如何让窗口产生一个图标(从应用程序资源中取出)◆ 24 ◆如何得到一个edit的录入的值◆ 24 ◆如何启动TIMER事件◆ 25 ◆如何使用ctrllist控件实现表格◆ 25 ◆如何从INI文件中得到值◆ 25 ◆如何将图标文件写到...

    DFD图建模实例(DFD图建模实例)

    要达到这个目标,系统分析的过程需要进行多方面的调查与分析,如系统调查、业务流程调查、数据流分析等。这些步骤共同构成了对软件功能和性能深入描述的过程,也是确定软件设计约束和接口细节的过程。 在系统分析与...

    23种模式详解-java附详细文档

    Java作为广泛应用的编程语言,其设计模式的理解与应用是开发者必须掌握的关键技能之一。"23种模式详解-java附详细文档"的资源正是为了帮助学习者深入理解这23个经典的设计模式。下面,我们将详细探讨这些设计模式...

    工作流管理技术PPT

    1. **工作流概念**:工作流是指一项任务从开始到结束的一系列有序步骤,涉及多个参与者和部门之间的协作。它可以是简单的审批流程,也可以是复杂的跨部门项目。 2. **工作流模型**:工作流模型描述了工作流的结构和...

    某公司协同办公系统表单型工作流说明手册.doc

    通过以上步骤,用户可以全面了解某公司协同办公系统表单型工作流的使用方法,有效提升审批效率,实现工作的自动化和规范化。在实际操作中,应结合企业具体业务需求,灵活运用这些功能,打造高效的工作流程。

Global site tag (gtag.js) - Google Analytics