工做流引擎你所不知道的事--开源软件诞生16

渊远流长的工做流--第16篇git

用日志记录“开源软件”的诞生github

【点亮星标】----祈盼着一个鼓励数据库

博主开源地址:框架

码云:https://gitee.com/redragon/redragon-erp工具

GitHub:https://github.com/redragon1985/redragon-erp设计

工做流引擎你所不知道的事

 

工做流定义

工做流诞生于企业管理和办公自动化的须要,它是针对平常工做中的业务流程管控而产生的一个概念。目的是将工做步骤分解成的任务,根据必定的原则和逻辑来完成这些任务并加以监控,从而实现更加有效的业务流程管理、更加规范的业务制度执行。日志

工做流不是审批流

看了工做流的定义,可能你认为已经懂了或者你认为还很抽象,不要紧,咱们先来探讨一个常见的理解误区:工做流就是审批流。既然说了是误区,那这个理解确定就是错误的。只是不少人在接触工做流时每每都是经过OA里面的审批流,因此才有了这个误区。固然审批流确定是属于工做流,但它只是工做流的一个应用。xml

下面咱们再次回到工做流上,其实这是两个词的组合,一个是工做、一个是流程,因此从特色上已经表露无遗。首先它得是要完成的一个工做,必定是企业对人的一个管理要求,喝水它不是工做。其次这个工做必需要经历一个流程才能作完,而且在过程当中要发生数据的变化,也就是说流程中必需要作点什么影响它。好比说上班打卡,它就不是流程,不需使用工做流。blog

到此,我想你们应该已经比较清晰为何工做流不是审批流,由于审批只是咱们平常工做中的一项工做而已,其余的工做只要涉及流程,它也是工做流,可使用工做流系统实现管控。接口

工做流的应用

  (1)主业务流程:订单、采购、合同审核、供应链管理、仓储管理等

  (2)行政管理类:出差申请、加班申请、请假申请、用车申请、各类办公用品申请、日报周报等

  (3)人事管理类:员工培训、绩效考核、工资发放流程、职员招聘等

  (4)财务相关类:收付款、发票管理、费用报销、计划预算等

  (5)客户服务类:客户信息管理、客户投诉、售后服务等

  (6)特殊服务类:ISO管理流程、质量管理流程、进出口报关流程、物流跟踪处理流程等

举个栗子

上面说了不少工做流可应用的场景,下面咱们就来找一个典型的案例来分析一下整个处理过程。以计划预算的制定为例来说解。正常每一个公司都会在年末制定一套计划预算来管控第二年的收入和支出,以保证按计划完成一年的目标。通常流程以下:

(1)公司通常会制定一个顶层的规则,包括预算上限、预算事项和科目、预算制定的颗粒度等,而后下发。

(2)公司的全部部门会根据公司制定的规则以及部门内部本身的规划制定一个部门预算,包括:人力、行政、财务、信息、业务等各个部门。

(3)制定完成后,上报上级领导审批,并经过几轮商议并敲定。

(4)各部门的预算肯定后,会有专人汇总预算并核对公司的规则,接着交给董事会审批。

(5)审核后,会有专人负责从新下发给各部门以及内部发文通知。

计划预算这个例子,比较典型,由于它包含了审批、包含了业务处理、甚至包含了不一样系统的协做。因而可知,涉及到使用工做流的场景每每是业务或逻辑复杂场景,工做流适合帮助企业把复杂的事情变得简单,把逻辑梳理的清晰有序。

工做流系统如何实现

工做流引擎你所不知道的事

 

因为篇幅缘由,下一篇文章我会具体介绍工做流的框架,以及如何整合部署。本篇我就先用本身的语言总结一下,要实现一个工做流引擎都须要哪些功能。

(1)流程图,不论是使用通用的工做流引擎仍是本身开发,咱们必定首先须要指定流程,指定流程的方式多种多样,能够采用配置的形式,也能够直接经过画流程图的方式(最终也会造成一个可数据化的流程xml)。无论用什么方式这一步是核心,告诉系统你的流转过程。

(2)数据库,全部的流程信息、节点信息、任务信息、历史信息、用户信息都必须存储于数据表中,每个操做也会直接反馈给表中的数据。

(3)任务的使用,任务是一个重要的概念,流程流转的是任务,咱们无需记录任务的具体内容,这是业务系统须要考虑的事情,咱们只须要记录任务的流转过程便可。能够给任务作个分类,分为人工执行的和系统自动执行的。

(4)流程变量,这个概念也一样的重要,由于没有一个流程是绝对固定的,它的流转分支以及逻辑断定必须是动态的才有意义。而动态也就意味着必须在流程启动时才能肯定某些数据的值,这个值的传入就必需要经过流程变量实现。

(5)历史记录,每个已经流转完成的流程都须要详细的历史记录,这是必须的,能够排除风险并肯定责任。

(6)可调用的工具类或接口,流程中执行的每个操做:启动、终止、经过、退回,都须要用户手工或系统自动触发,因此要提供全部可执行的API。

在不少开源的流程引擎框架里,并无考虑太多的国内的使用须要,因此咱们在设计或客户化咱们的工做流系统时,要考虑到各类特殊状况。好比:撤回、终止、回调等。

后记

若是您对咱们正在作的开源软件感兴趣,欢迎各类形式的合做,做为贡献者或直接加入咱们!让咱们一块儿打造一套开源的企业级信息化解决方案。

 

【码云】或【GitHub】搜索“赤龙ERP”点击星标,亦可加入咱们! 让咱们从小开始作点伟大的事!与开发者交流 kzca2000

相关文章
相关标签/搜索