并发流程与执行指的是多个流程共同执行,所有流角色程都执行完毕后才流转到下一个节点,比如某次项目的开始需要招商部,企划部,工程部共同完成。只有当这些角色都审批完成了才能开始。并发流程或执行指的是多个流程共同开始,只要有一个角色进行审批了,则流转到下一个节点。在此不做赘述。在一般涉及到工作流的后台中,这几种情况大致就可以满足。 以上可以称之为标准工作流,即后台给予固定的模板,相关配置人员进行配置即可。但是,在有些复杂的后台系统中,可能是以上几种情况共同出现的,也可能是出现了其他情况,这个时候,就需要整体流程定制化的操作。 那么,要设计一个非标准工作流,首先是分清上文提到的角色、内容、流程之间的关系——即角色与内容是挂在流程节点上的功能点。所以我们只需要将流程节点控制好,再将不同的角色,以及对应的操作内容挂靠上去即可,这样一来是可以方便理清关系,另外也可以使系统更有层次。 所以接下来我们只需要将流程节点控制好即可。 控制好非标准流程节点,可以由以下几个方面着手。 第一、如果流程配置者有配置SQL的能力,那么将数据库流程配置权限开放,让配置者自行配置,这样的开发工作压力会小一些,但与此同时,风险也会很大。 第二、画流程图的方式。一个流程的执行可以通过流程图来表现,对于产品经理来说是再熟悉不过了。通过流程图的基本逻辑,可以将流程中遇到的各种情况可视化的展示出来,条理清晰而且操作简单。缺点即开发难度过大,一般小团队难以胜任。 第三、通过一一配置功能来进行配置,这种方式虽然表面上看起来十分的繁琐,但是相对于前两种来说开发难度小,且对于配置者的能力要求不高。具体来说,要单独配置每一项功能的流程,先确定流程的主流程有几个节点,如果碰到判断的节点选择是,碰到并发流程或执行的节点选择最长的一个流程。确定之后,将所有节点的内容操作与角色配置出来,然后再配置该节点是否进行判断,是否进行或操作,是否进行与操作。如果有判断操作时,则分出一个子流程,再将子流程按照上述方式进行配置,最终归于主流程的某一个节点。如果有与操作时,要确定配置与操作的分支节点时是要配置在单个节点还是多个节点。单个节点的话则需满足这两个节点才往下进行,多个节点时则将这几个节点作为一个小流程单独按照上述方式进行配置再合并至主流程,看是否满足与行为。如果有或操作判断时,同样要确定在哪个节点的或操作至哪个节点可以进行另外的节点流转。 以上这些情况对于开发团队来说也是一个巨大的考验,因为不同的工作流程代表着不同权限的操作,不同状态的流转,而可定制化的流程则代表着其中的变化无穷,对于服务器的压力,数据库的冗余情况都不容乐观。接下来的部分,我会简单的分享一下如何才能高效的设计非标准工作流。 三、如何设计高效的非标准工作流 设计一个后台压力小,操作简单的高效非标准工作流,我总结了两个方式:第一、将非标准工作流拆分成多个标准工作流。第二、开辟独立与配置权限之外的工作流角色模块。 第一、将非标准工作流拆分成多个标准工作流 一个非标准工作流固然麻烦,可是在大多数的情况下,其可以拆分为几个标准工作流。比如,某个非标准工作流可以线性拆分为多个分支流程,并发流程与执行、并发流程或执行。将其每一个组合到一起,即可形成完整的工作流,那么我们就可以在系统中提供组合模板,让配置者可以进行选择,组合到一起形成一个非标准工作流。 如果是非线性的,比如可能为分支套分支,并发套并发的情况,我们可以将每一种情况都拆分成一个工作流,然后将生产端入口保持统一,每一步的不同操作可以进入不同的工作流,最终流转的出口保持一致即可。有点类似于开发中设计模式的工厂模式。 第二、开辟独立与配置权限之外的工作流角色模块 (责任编辑:admin) |