精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-11-16
六、自动开始模式 在前面的资源模式里,我们讨论了创建模式、推模式和拉模式,它们实际对应着工作项的一个正常生命周期:创建、提供 /指派、资源选取开始执行。在前面的讨论里,工作项的执行都是由资源驱动的(从工作项待办列表里选取执行),而自动开始模式则提供了一种系统驱动工作项执行的方式,系统直接驱动工作项执行往往表明了该工作项的最高优先级,需要马上开始执行。
图 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类,分别是创建模式、推模式、拉模式、折回模式、自动开始模式、可见性模式和多资源模式。 创建模式在系统创建工作项时生效,其位于工作项生命周期的创建阶段,创建模式作为流程模型的构成部分在流程设计期指定,通常在任务节点的定义里进行定义,与一个任务关联,其用来限定可执行该任务的资源范围。系统根据创建模式限定的资源范围生成工作项。 接下来,系统需要将工作项推送给相关的资源进行执行,这个推送的过程即是推模式所包含的内容。工作流系统通过工作项管理器即不同类型的工作项列表与用户进行交互,这里的推送可以理解为系统将生成的工作项推送至相应资源的工作项列表里。 推模式的主语是系统,由系统将工作项推送至资源的工作项列表,那么,接下来的主动权交由单个资源本身,由其拉动工作项的执行,这是拉模式所包含的内容。 实际工作中,工作的执行状态不可能总是与预想相符的,总会出现各种各样的情况,例如重新分配、重做、挂起等等。折回模式对应着这些情况,折回代表着工作项状态的反复、回退。 自动开始模式提供了一种系统驱动工作项执行的方式,系统直接驱动工作项执行往往表明了该工作项的高优先级,需要马上开始执行。 可见性模式讨论各种不同资源对工作项的可见性,工作项自身作为资源与权限相关。 多资源模式讨论一个资源执行多个工作项和多个资源执行同一个工作项的情况。 从这些模式的讨论可以看出,这些模式更多关 注的是对实际业务执行的场景描述,关注通过合理分配任务和调配工作的执行为组织带来最大的执行效率。从另一个角度看,由于这些模式都以业务作为出发点,这 给工作流系统的实现带来了复杂性,很多模式当前的工作流系统都无法完全支持或直接支持。在很多情况下,模式的支持需要很多的约束,而这种约束往往需要在工 作流实施阶段结合客户具体情况进行限定,这实际强调了工作流实施的重要性,工作流系统的应用是由工作流产品加实施两部分组成,很多时候,实施占据了更大的 比重,这就对工作流产品的可扩展性提出了要求。应用工作流不仅仅是选择工作流产品,更重要的还包括选择合适的实施团队。 在下一章里,我们将讨论另外一种工作流模式 -数据模式。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 1563 次