以前,我们对标准工作流进行过简单梳理,今天,我们再来看一下混合工作流。
了解混合工作流,我们必须要先分清角色、内容、流程之间的关系——即角色与内容是挂在流程节点上的功能点。在实际操作中,我们需要将流程节点控制好,再将不同的角色,以及对应的操作内容挂靠上去即可,这样一来是可以方便理清关系,另外也可以使系统更有层次。
控制好非标准流程节点,可以由以下几个方面着手。
1.如果流程配置者有配置SQL的能力,那么将数据库流程配置权限开放,让配置者自行配置,这样的开发工作压力会小一些。
2.画流程图的方式。一个流程的执行可以通过流程图来表现,对于产品经理来说是再熟悉不过了。通过流程图的基本逻辑,可以将流程中遇到的各种情况可视化的展示出来,条理清晰而且操作简单。缺点即开发难度过大,一般小团队难以胜任。
3.通过一一配置功能来进行配置,这种方式虽然表面上看起来十分的繁琐,但是相对于前两种来说开发难度小,且对于配置者的能力要求不高。
具体来说,要单独配置每一项功能的流程,先确定流程的主流程有几个节点,如果碰到判断的节点选择是,碰到并发流程或执行的节点选择最长的一个流程。确定之后,将所有节点的内容操作与角色配置出来,然后再配置该节点是否进行判断,是否进行或操作,是否进行与操作。
如果有判断操作时,则分出一个子流程,再将子流程按照上述方式进行配置,最终归于主流程的某一个节点。如果有与操作时,要确定配置与操作的分支节点时是要配置在单个节点还是多个节点。
单个节点的话则需满足这两个节点才往下进行,多个节点时则将这几个节点作为一个小流程单独按照上述方式进行配置再合并至主流程,看是否满足与行为。
如果有或操作判断时,同样要确定在哪个节点的或操作至哪个节点可以进行另外的节点流转。
以上这些情况对于开发团队来说也是一个巨大的考验,因为不同的工作流程代表着不同权限的操作,不同状态的流转,而可定制化的流程则代表着其中的变化无穷,对于服务器的压力,数据库的冗余情况都不容乐观。
那么,如何设计高效的混合工作流呢?
设计一个后台压力小,操作简单的高效混合工作流,可以有两种方式。
第一:将非标准工作流拆分成多个标准工作流。
第二:开辟独立与配置权限之外的工作流角色模块。
1. 将混合工作流拆分成多个标准工作流
一个非标准工作流固然麻烦,可是在大多数的情况下,其可以拆分为几个标准工作流。比如,某个非标准工作流可以线性拆分为多个分支流程,并发流程与执行、并发流程或执行。
将其每一个组合到一起,即可形成完整的工作流,那么我们就可以在系统中提供组合模板,让配置者可以进行选择,组合到一起形成一个非标准工作流。
如果是非线性的,比如可能为分支套分支,并发套并发的情况,我们可以将每一种情况都拆分成一个工作流,然后将生产端入口保持统一,每一步的不同操作可以进入不同的工作流,最终流转的出口保持一致即可。有点类似于开发中设计模式的工厂模式。
2. 开辟独立与配置权限之外的工作流角色模块
一般来说,我们在配置工作流角色的时候,都是使用类似权限控制的角色,比如到这个节点角色为库管,另一个节点角色为商管。其实换个角度想想,再说设计工作流的时候,完全可以设计一个独立于权限之外只配置工作流的角色。
比如“分支节点角色1号”“流程角色1号”“并发或角色2号”,然后再通过穷举法,将所需要用到的使用流程都列出来,把角色放置于节点上。
这样,一个活的需要配置的流程就变成了一个个的死流程。
再将这些角色赋予权限角色。再定义一些规则:比如若没有配置此节点的角色则此节点默认通过,将某个工作流角色配置两个权限角色则为或操作/与操作。这样也就解决了上述的问题。
工作流可以说是后台系统中比较复杂的一部分。即便某些系统中一开始没有工作流,随着系统功能的增加,也不可避免会用到工作流,所以提前了解下工作流的设计方法,对于产品来说很有帮助,在开始设计的阶段也可以考虑将内容设计进去以免后期维护成本过大。
相关推荐
ASP.NET 服务器控件:DropDownCheckBoxList ,支持下拉多选,支持.NET3.5 支持主流浏览器IE8及以上版本 FF3.5+,Chrome 9+,Safari 5 等浏览器。
asp.net网站后台模板asp.net网站后台模板asp.net网站后台模板asp.net网站后台模板asp.net网站后台模板asp.net网站后台模板asp.net网站后台模板asp.net网站后台模板
ASP.NET后台管理框架,ASP.NET后台管理框架,ASP.NET后台管理框架
开源部分是仓库系统后台管理系统, 在给客户实施的过程中利用到了很多硬件设备, 设计到Wince系统,Android系统等PDA设备,各种打印机,条码打印机,感应设备等,而且这些可能在整个项目中占据主导,而后台管理系统只是...
asp.net mvc后台管理系统 数据库
适合asp.net开发的后台框架模板 EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有...
一个基于EXT的ASP.NET后台管理框架例子源码程序
精通ASP.NET 4.0网络编程:基础、框架与项目实战_源码
通过实际动手练习,您将学到关于构建Web站点的第一手信息,同时能够深刻理解在浏览器中查看ASP.NET 4页面时,后台到底发生了什么。 这是第七版,也就是本源码书的介绍 The ultimate programming guide to ASP.NET ...
收藏版mvc asp.net 后台模版,你总会用到的,赶紧收藏起来把
文章:http://blog.csdn.net/yysyangyangyangshan/article/details/19361837
asp.net 软件及web不错的后台管理框架模式。很方便拿过来就使用
一个超级好的ASP.NET后台管理框架,可用于行业网站后台管理系统的框架~~~
文章: http://blog.csdn.net/yysyangyangyangshan/article/details/39679823
3. 提供单一后台支持多前台应用配置 4. 提供单点登录 5. 集成系统认证授权模块 6. 提供角色,部门,用户,菜单,前台应用程序授权 角色对用户授权 角色对菜单授权 角色对部门授权 角色对应用程序授权(多个前台...
笨框架基于vs2008开发,简单、高效、使用,是后台管理的最好选择。
ASP.NET后台通用MVC+EF6+Bootstrap开发框架,全部采用最新的技术,后代代码采用IOC+AOP+DDD模式,灵活性强。绝对的asp.net开发者的福利,绝对的asp.net开发者的福利,绝对的asp.net开发者的福利,绝对的asp.net...
文章:http://blog.csdn.net/yysyangyangyangshan/article/details/20571705
ASP.NET开发实战详解:入门、模块、系统 胡勇辉 曹倬皇 兰湘涛 等编著 <br/>电工工业出版社
采用三层搭建Asp.net管理后台,漂亮的后台框架,可用做于企业网站开发,自带数据库。