`
mfdefs
  • 浏览: 6980 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

【转载】工作流的模式

 
阅读更多

http://www.cnblogs.com/foundation/archive/2006/09/26/515025.html

工作流的模式

流模式(Sequential)
1.适合一个比效机械化的流程
2.在这种流程中,参与者处于一种被动的局面,他必须沿设定的路线一步一步完成。
例1:在MIS系统中,一个操作机器的工作流:
(开使->关1闸 –> 关2闸 -> 修理 -> 开2闸-> 开1闸 -> 结束)
在这个工作流中,需要严格按流程操作。而且在[修理]结点处可能还要调用一个修理某类设备的工作流。

例2:比如一个购物的工作流:
(开使->浏览->选择->缴费->取货 -> 结束)
在该例中,流程序顺的严格性就显得不是很重要,比如[缴费]与[取货]结点谁先谁后就不是很重要,只要[缴费]与[取货]都完成了就可以结正常[结束]该流程。
对于像这样的业务需求,就可以使用状态机模式

流模式的执行并非完全是顺序的。它们仍然可以接收外部事件或者启动并行任务,在这种情况下,可能会有状态机模式的表现形式。但就其设计与维护方式来说仍是 流模式

状态机模式(State Machine )
在状态机模式下,参与者的自主性比效大,工作流更多的是一个提醒的作用
例:一个审批流程:有六个部门批准才能通过,这六个部门的审批行为是独立进行的,不受其他部门结果的影响,可以使用状态机模式,配合规则实现
A.六个部门审批行为是并行模式
B.规则可以使用:全票通过,一票通过,简单多数,绝对多数,额定通过,等
另外状态可以由一种进入到另一种,如上例出现平票状态后,将进入联合听证流程

如何选择工作流模式
一个简单的判断标准
影响工作流程的一些重要的选择是否发生在工作流外部?是否由用户进行控制?
如果是,那就不适合采用流模式。而最好选用状态机模式

因为流模式本质上是对工作流的路径建模,将路径信息都编码到了模型之中。但是在某些时候,业务并不关心路径,而只关心结果,并且不关心结果是如何实现的。
这时要用流模式,就需要画出许多复杂的路径流程,但是这些复杂的路径却并非我们所关注的问题。而最后往往是维护路径的付出远远大于维护业务模块。

实际设计中的模式:
在实际设计中,模式的应用并不是泾渭分明的。同一工作流,在不同参与者的眼中就有不同的模式。
如一个请假的工作流,参与都有两种:申请人、审批人
在申请人眼里,他所参与的工作流是[流模式]
在审批人眼里,他所参与的工作流是[状态机模式]

以上是本人在开发各类工作流中的一些心得。在WWF中可能也会有一定的适用性

分享到:
评论

相关推荐

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

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

    asp.net知识库

    从NUnit中理解.NET自定义属性的应用(转载) 如何在.NET中实现脚本引擎 (CodeDom篇) .NET的插件机制的简单实现 我对J2EE和.NET的一点理解 难分难舍的DSO(一) InternalsVisibleToAttribute,友元程序集访问属性 ...

    SDB11G是一款升压型转换器原装SHOUDING

    该SDB11G使用电流模式,固定频 率架构来调节LED电流,这是通过外部电 流检测电阻测量 该SDB11G包括欠压锁定,电流限制 和热过载保护,防止在输出过载的情 况下损坏。 优化的工作频率可以满足LC滤波值小、 工作电流低...

    计算机二级C语言考试题预测

    今年9月份参加计算机二级考试的同学请转载 作者:天使~之戀 已被分享1次 评论(0) 复制链接 分享 转载 删除 下面的138道题目,在二级考试中命中率极高。 一、选择题 (1) 下面叙述正确的是(C) A. 算法的执行效率与...

    区块链行业2020年投资策略:“正规军”入局迎变革,泛5G融合促落地-20191219-国盛证券-68页(1).pdf

    网络转载、短视频、动漫、网络直播、知 识分享、有声读物、网络影视、网络文学、网络音乐等领域,以及电 子商务平台、应用商店、网络云存储空间等平台都是盗版侵权的灾区。中国版权协会数据显示,2017 年仅网络视频...

    心理咨询网站设计方案(1).doc

    应用支撑平台及功能模块包括内容管理平台、工作流引擎、统一用户认证系统 、安全与防火墙以及服务构件平台。内容管理平台可以实现网站的建设、信息的发布; 工作流平台可以作为各种业务系统的业务流程引擎使用,集中...

    jdbc连接数据库的方式2

    当能够在单一的SQL命令中完成任务,何必要让数据在网上流来流去的?我建议用户认真学习如何最大限度地发挥SQL的功能。 1、查找驱动程序 MySQL目前提供的java驱动程序为Connection/J,可以从MySQL官方网站下载,并...

    [原创]FavChat爱聊全能隐蔽穿透型聊天平台完整源码源程序包(Hedda)

    ■ 考虑FavChat实际工作中的计算机因素和网络延迟,平台充分地利用线程并发运作和多阶段队列缓冲机制,保证事务处理的顺畅和聊天过程中最重要的全双工能力的完美实现。(参考附件流程图) ■ 语音部分则使用...

    基于无线电源方案,打造一个无线台灯,适合位置较固定的场合-电路方案

    项目简介: IDT-P9038-R-EVK无线电源发射板和IDT-P9025AC-R-EVK无线电源接收板,为一站式5W无线电源能量传送设备,可以很方便的制作5W左右的无线台灯,本次测试,选用高亮度发光管,通过恒流进行...【转载自电子发烧友】

    流光4.71 for.zip

    注意:本段关于cracklib的说明转载于[网络工作室] B、Proactive Checking 这个程序能在输入口令时进行一系列的口令检查,这会对避免不安全口令出现于你的系统有帮助作用。它与一般的shadow和NIS(也就是yellow ...

    MYSQL培训经典教程(共两部分) 2/2

    mysql 的输入行编辑器 54 3.2.4 批处理模式连接 55 3.2.5 总结 56 3.3 有关数据库的操作 56 3.3.1 用SHOW显示已有的数据库 56 3.3.2 用Create Dabase 创建数据库 57 3.3.3 用DROP DATABASE删除...

    MYSQL培训经典教程(共两部分) 1/2

    mysql 的输入行编辑器 54 3.2.4 批处理模式连接 55 3.2.5 总结 56 3.3 有关数据库的操作 56 3.3.1 用SHOW显示已有的数据库 56 3.3.2 用Create Dabase 创建数据库 57 3.3.3 用DROP DATABASE删除...

    Local Board BBS(极地论坛)

    ##################################################################### # Local Board BBS Ⅱ2003.1005/极地论坛 Ⅱ2003.1005 # 版权所有: 金木匠工作室[晓晓工作室] # 程序制作: coshinvi(许声辉)...

    最好的asp CMS系统科讯CMSV7.0全功能SQL商业版,KesionCMS V7.0最新商业全能版-免费下载

    当有不合适不合时的言论,管理员只需审核这些评论即可,这一功能,大大减少了管理员的工作量,维护了网站的正常运行。 可以对任意频道和模块里的任意内容附加评论,支持评论中加入表情图标,可对单一评论回复和投...

Global site tag (gtag.js) - Google Analytics