欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    工作流基础知识.ppt

    • 资源ID:6115063       资源大小:1.60MB        全文页数:44页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    工作流基础知识.ppt

    工作流,深圳市远行科技有限公司鲁淳,工作流是什么?,工作流(Work Flow)就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看作是一条河,其中流过的就是工作流。工作流有时解释为可以产生某种结果的一系列任务。即:根据与业务流程相关联的操作和任务的顺序所进行的文档或项目的自动转移。,什么是流 什么是工作流,工作流在大多数的实际应用中的情况可以这样来简单地描述:在网络、服务器和多台计算机客户端的硬件平台上,业务过程按照预先设定的规则并借助应用程序和人对相关数据的处理而完成。例如,在日常办公中,当撰写好某份报告之后,可能需要将其提交给领导进行审阅或批示;审批意见可能需要汇集并提交给另外一个人,以便对报告进行进一步的修改。这样,可能会形成同一篇文档在多个人之间的顺序或同时传递。对于这样的情况,我们可以使用工作流技术来控制和管理文档在各个计算机之间自动传递,而非手工传递。这就可以称之为工作流。,工作流引擎,所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。例如开发一个系统最关键的部分不是系统的界面,也不是和数据库之间的信息交换,而是如何根据业务逻辑开发出符合实际需要的程序逻辑并确保其稳定性、易维护性(模块化和结构化)和弹性(容易根据实际业务逻辑的变化作出程序上的变动,例如决策权的改变、组织结构的变动和由于业务方向的变化产生的全新业务逻辑等等)。Workflow 引擎解决的就是这个问题:如果应用程序缺乏强大的逻辑层,势必变得容易出错(信息的路由错误、死循环等等)。就好比一辆汽车,外表做得再漂亮,如果发动机有问题就只是一个摆设。应用系统的弹性就好比引擎转速方面的性能,加速到100 公里需要1 个小时(业务流程发生变动需要进行半年的程序修改)还能叫好车吗?引擎动不动就熄火(程序因为逻辑的问题陷入死循环)的车还敢开吗?,工作流与ERP等 得区别,EXCEL 可以提高员工画表格的效率、财务软件可以规范财务人员的工作并提高账目查询的效率、CRM 可以规范客户管理从而使客户资源掌握在公司手中而不是被一部分业务人员把持并提高客户响应时间、ERP 解决的是如何配置企业资源:使企业的人力资源、财力资源和物资资源能够根据业务的需求实现最大化配置。workflow 关注的是如何缩短流程闲置时间,从而提高企业的业务处理能力并使企业能够关注于真正对企业有意义的增值业务上。从建立企业神经系统的角度也许更能理解两者的区别。传统软件不能解决工作流的问题,例如ERP 关注的是企业的资源配置,但不可能解决资源传输过程中的损耗和降低传输(流程)的成本;同样workflow也不能完全解决传统管理软件所能解决的问题,例如对生产管理的MRP 系统所能解决的生产过程控制通过workflow很难实现。但一个好的传统软件如果希望能自动化地在整个企业中应用起来,必须有一个强大的逻辑层,用以解决信息传递的逻辑判断和自动流转,这个时候就需要workflow的平台。,三大主流,我们转入正题,谈这里说的三大主流开源工作流引擎:Shark,osworkflow,jbpm。Shark的靠山是Enhydra。Enhydra做过什么呢?多了!从j2ee应用服务器,到o/r mapping工具,到这个工作流引擎等等。为什么Shark的持久层采用DODS来实现?就是因为他们是一家人。Jbpm的靠山是jboss。Jbpm3的持久层采用hibernate3来实现,也是因为这个原因吧。Jbpm3的图形化流程定义已经决定嵌入到jboss eclipse IDE中,大家看看jboss eclipse IDE preview 1.5版,我们已经可以用插件方式编辑一个jbpm3流程定义文件了。Osworkflow 在开发工作流管理系统时,我就推荐用它的另外一个东西:webwork2。笔者主持的开源工作流引擎AgileFlow就是基于ww2+spring+hibernate架构实现的。完成本段时说句题外话:现在基本上所有的J2EE应用程序服务器都有自己的工作流引擎。,动动脑,申请人申请一笔款项时,需要经过上级主管,再上级主管的层层审批,通过之后到财务领取请款请设计出你的 流程 尽可能的考虑其中各种情况,成功案例,目 录,一、工作流模型介绍,要介绍几种常见工作流模型,以及流程嵌套和整合1、任务与活动2、流程起点模型3、流程激活模型4、流程运转模型5、流程组合嵌套模型6、流程整合模型7、流程终止模型,任务与活动,活动(Activity)是WMFC 的标准模型元素,描述的是工作流中的一个逻辑步骤“A description of a piece of work that forms one logical step within a process”。活动是描述流程运转的最小单元一个任务表示的是流程的所需要完成的某一项工作,这项工作可能是一次操作(Action)即可完成,也可能是几次操作的组合。,任务与Block Activity,任务和Block Activity非常相似,但并不一样如图,task中的多个action没有顺序关系,Block Activity中,各个activity应该顺序执行,流程起点模型(一),任何一个工作流能够运行,需要条件“起点”来激活起点也是一种任务节点。这个节点可能会进行一定的操作,可能只涉及一些数据的改变。导致一个流程被激活,流程起点模型(二)单起点模型,流程起点模型(三)多起点模型1,在同一流程中,存在多个起点。重新申明:起点也是一种任务节点,而不是独立于工作流任务特殊节点。起点A 和起点B,它们都可以激活流程的运行,而且激活后,流程都会共同指向Task A。所以,对于Task B 来说,其不关心流程是如何激活的,其只关系从Task A是否正确的传递来正确的流程数据。,流程起点模型(四)多起点模型2,起点A 激活工作流后,导致流程沿着Task ATask BTask C 方向流转。而从起点B 激活工作流后,Task A 则被跳过。,流程起点模型(五)多起点模型3,虽然也存在多个起点,但是基本是按照一个统一流程方向运行的。这是与方式二最大的区别所在。在此,须要再此申明:一个起点(Start Node)同时也是一个任务节点(Task Node)。应用:在多个流程之间信息交互的时候,流程A 发送消息数据,激活流程B 的运行。但是未必是从流程B 的默认激活点激活,可能是从流程B 的中途某个任务激活。,流程激活模型(一)人工激活,大多数的流程激活,都是因为人为的信息数据输入或产生。比如一个订单处理流程,客户提交了订单信息(订单信息数据产生),则激活了订单处理流程的开始。,流程激活模型(二)定时或限时激活,在一个特定的时间,因为特定的情况,符合特定的条件,激活某个特定的流程(或任务)。这种激活方式,在现实中很少单独出现,大多数情况,都因为在某一个流程中,因为在限定的时间内,因某项任务未达到预期的状态,而激活另外的任务或新的处理流程。例子:订单处理流程中的催办流程。如果到时候没有发货,则激活催办流程,流程激活模型(三)外消息激活,大多是在多流程信息交互(或大小流程嵌套)应用中如下图所示,流程A,在结束的时候(在以下的所有图中,将采用红色框图,表示结束节点),会向流程B 发送Message,以激活流程B 的运行。,流程运转模型(一)简单运转模型,按照预定的任务列表,有序的执行,流程运转模型(二)自循环模型,同一个任务节点,重复的执行多次。模式1:人为选择模式2:既定规则选择,流程运转模型(三)发散运转模型并行,And 模式,在流程运行过程中,因为不同的条件或情况,或者处理的业务需要多部门(多任务)分开处理,而产生了流程分支。,流程运转模型(四)发散运转模型异或模型(显式),异或(XOR)显式模型,又叫Exclusive Choice(独占式选择)。当一个任务处理完后,发现其后面可允许走多个分支流程,但只允许选择其中某一个分支运行。,流程运转模型(五)发散运转模型异或模型(隐式),隐式和显式的区别不是太大。存在分支AC 和分支AD 都满足条件,但最终也依然只能有一个分支被激活。至于哪一个分支被激活,这可能是人为的操作,也可能是某种随机的自动选择。但必须只有一个分支被激活应用非常少,而且大多数的工作流引擎不支持这种模型,仅支持显式XOR 模型。,流程运转模型(六)发散运转模型鉴别模型,同前面的“独占式选择”很相似。当任务达到这个鉴别器的时候,鉴别器会根据当前流程所处的状态,对比预先设定的一些选择规则,自动判别接下来流程的流向,流程运转模型(七)发散运转模型抄送模型,意思是,存在主流程(AC),在一个任务(A)执行完毕后,会继续执行主流程上下一个预定任务(C),但是同时也会激活另一任务(B)(或另外的流程)的执行,但是任务B 以及任务B 的后续流程,不会对主流程运转造成影响。比如一个发文,在交司局会签的时候,可能会抄送一份给另外的司局备案,这个过程就或额外的激活一个不影响主会签流程的“抄送任务”,流程运转模型(八)发散运转模型发散模型,发散和并行最大的区别就是,各个分支(branch)的流程状态(或流程数据):1)在并行模型中,分支状态大多数情况下是不相等的。由任务A 执行后的状态进行一定条件下的“拆分”,形成了两个分支(或多个分支)流程。这多个分支流程,在最终需要重新聚合成一个主流程,以确保流程信息的完整性(当然,实际运行中,可能存在因为超时等特定原因而最终抛弃某个子流程)。2)在发散模型中,分支状态是绝对相等的。因发散而产生的多个分支流程,在最终未必聚合(可能因为种种原因,聚合的时候会抛弃一个和多个分支流程),聚合运转模型(一)同步聚合,如图,在And聚合点,会等待所有分支的到来,如果不考虑超时(一般流程回设定任务执行期限)和异常等情况下,流程必须等待所有的分支(Task B 和Task C)都执行完(到达And 汇聚点)后,才能激活后续的任务,也就说流程才能正确的往下运行。,聚合运转模型(二)异或聚合,这种聚合一般采用“多选一”的原则,或采用类似“先进先出”法则(人工干预除外)。在聚合的时候也有可能涉及到流程数据(状态)校验等问题。一旦某一个分支被通过。则余下的分支则被终止,或者运行到聚合点就结束,聚合运转模型(三)多重聚合,多分支在聚合的时候,采用类似于“先进先出”法则,但是不同于简单聚合的是,任何一个分支,在到达这个聚会点的时候,均会激活后续流程的运转。见WorkflowPatterns但是后续流程被多次激活,就需要解决这些产生的多实例问题,就将问题过于复杂化。,聚合运转模型(四)鉴别聚合,一般情况下,鉴别聚合在流程中不大会独立存在。通常会结合“同步聚合”或“简单聚合”之类的存在。鉴别的目的,就是更准确的聚合,让那些符合特定条件的分支聚合。通常通过一个“规则引擎”,来定义处理聚合规则,特殊运转模型(一)回退模型,有任务A 到任务B 属于正常发送,但从任务B 到任务A,则出现两种情况:(1)正常发送,如图中BA 蓝色线;(2)可能因为某些特殊原因,被任务B 退回,要求任务A 重新办理,如图中BA 红色线。虽然都是从B 到A,代表的意义却完全不同。在现实中应用比较多,特别是电子政务中的公文流转或审批。,特殊运转模型(二)自由流模型,表示的是一个任务执行完后,但其后续的运转不按照预定的顺序进行。而是人为地动态选择原先的是流程是按照ABC 顺序执行了。但是执行任务A 之后,人为地让流程沿AC 方向运转,直接跳过了原先的任务B。流程的打乱,会造成很多问题:数据的完整性,流程的可控性等等,特殊运转模型(三)委托代办,一个任务交给了员工A(角色A)处理,但是员工A 最近出差,无法正常办理,就可以委托给员工B(可能是角色A,也可能是角色B)处理,以保证流程能够正常的进行下去,特殊运转模型(四)催办,在执行完任务A 到任务B 的运转后,任务A 设定一个催办日期,在催办日期到来的时候,向任务B 发送催办请求,以催促任务B 的执行。其前提是,任务A 已经执行过,任务正在执行(有可能已经执行完),特殊运转模型(五)取回,取回,在流程中也是较为通用的动作:流程由任务A 运转到任务B,任务B 虽然接受了A所发送的请求或数据,但还没有确认执行的情况下,任务A 有权取回,重新执行。举例:科员起草了一份文件,交给处长审批。但处长还没有察看的情况,科员有权取回文件,重新修改。,流程组合嵌套模型(一),单一流程:流程嵌套:在一个主流程中,内嵌了一个或多个子流程。每个子流程自身可能是可独立运转的;也有可能是主流程的辅助性子流程,不可独立运行。,流程组合嵌套模型(二)内嵌模型1主流程等待方式,在这种方式下,当子流程运行的时候,主流程会暂停,等待子流程的完结。,流程组合嵌套模型(三)内嵌模型2主流程也运行方式,大多数采用“同步聚合”的方式:如果有一方未到达的情况下,另一方会等待。当然,这其中可能涉及到等待超时等不良因素,这时候主流程时选择继续等待,还是发催办消息,还是继续运行,就是工作流引擎的设计问题了。,流程组合嵌套模型(四)外嵌模型,外嵌的子流程,不返回主流程。在主流程激活子流程后,主流程继续运行,且不关心子流程的运行状态或运行结果。,流程终止模型,按分布分单结束点多结束点非标准结束点:流程结束的地方,不是原先定义的流程节点。有可能在流程中间因为异常,或人为的强制终止。按行为分1)正常终止2)异常终止:非正常因素,系统在运行过程中产生严重的异常,造成流程非正常终止。一般针对这种可能存在的情况,流程引擎都会制定一整套处理机制,而且系统监控模块也需要报告异常的来源和起因。3)激活新任务:一个流程虽然终止了,但正因为其终止,而引发其它系统的某些流程或应用实例运行。,

    注意事项

    本文(工作流基础知识.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开