一:什么是工作流
工作流是指“业务过程的部分或者整体在计算机应用环境下的自动化”,是对工作流程及其各操作步骤之间业务规则的抽象,概括描述。工作流致力于解决:为了实现某个业务目标,利用计算机在多个参与者之间按照某种预定规则自动传递文档,信息或者任务。从而达到提高工作效率,更好的控制过程,增强对客户的服务,有效管理业务流程等目的。
通俗点来说,工作流就是我们日常认识的一个工作流程,比如员工请假,需要员工向老板申请,然后需要老板同意反馈给员工,这样的一个简单流程其实就可以称为工作流。
二:为什么要用工作流
我个人认为工作流的出现,其实就是一个抽象管理的过程,正常一个工作流程的开发需要不同业务之间的合作,所以每次业务合作都要做相应的判断,完成一个工作流程需要多个界面,多个判断的复杂配合。还有更关键的是,这样的工作流程基本都是写死的,也就是说想要更改这个流程,需要重新修改代码,代价太大。
所谓的工作流其实就是抽象出一个“工作流引擎”,由这个引擎来负责管理和协调各个不同的业务的配合,信息交换和执行。
所以我们为什么要用工作流,也就是工作流的好处:
- 使用专门的流程数据系统,维护所有涉及流程流转的数据。
- 提供“流程设计”工具,帮助用户定义工作流程的模型,而且一般都提供了可视化的界面。
- 所有的流程都依靠流程引擎来处理,避免了需求更改与硬编码之间矛盾的产生。
- 工作流引擎还提供了众多的API,可以很方便的将工作流的管理和业务操作完美结合。
三:我们用什么工作流
市面上有很多.net方向开源的工作流,我们项目中应用的是一款名为 slickflow的开源工作流。
1:简介
工作流系统通常是作为中间组件嵌入到企业业务系统应用中取,作为业务流程构造和重组的重要工具,slickflow工作流引擎,选取BPMN(Business Process Modeling Notation)业务流程建模与标准模型作为工作流模型的语义表达,BPMN模型消除技术和业务之间的隔阂,注重业务人员对流程的需求和理解,而不是以技术为本位,相对来说,更进一步体现技术服务于业务需求的概念。
2:技术优势
1)选取BPMN模型,作为流程图元元素标识;
2) 中间件嵌入模式,专注流程流转控制环节;
3) 基于HTML5开发技术的 B/S 设计器;
4) DapperMicroORMapping 框架,底层支持多数据库扩展;
5) 组件引用或WebAPI 调用同时支持;