关于java:工作流引擎你所不知道的事开源软件诞生16

7次阅读

共计 2084 个字符,预计需要花费 6 分钟才能阅读完成。

渊远流长的工作流 – 第 16 篇

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

【点亮星标】—- 祈盼着一个激励

博主开源地址:

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

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

工作流定义

工作流诞生于企业治理和办公自动化的须要,它是针对日常工作中的业务流程管控而产生的一个概念。目标是将工作步骤分解成的工作,依据肯定的准则和逻辑来实现这些工作并加以监控,从而实现更加无效的业务流程治理、更加标准的业务制度执行。

工作流不是审批流

看了工作流的定义,可能你认为曾经懂了或者你认为还很形象,没关系,咱们先来探讨一个常见的了解误区:工作流就是审批流。既然说了是误区,那这个了解必定就是谬误的。只是很多人在接触工作流时往往都是通过 OA 外面的审批流,所以才有了这个误区。当然审批流必定是属于工作流,但它只是工作流的一个利用。

上面咱们再次回到工作流上,其实这是两个词的组合,一个是工作、一个是流程,所以从特点上曾经表露无遗。首先它得是要实现的一个工作,肯定是企业对人的一个治理要求,喝水它不是工作。其次这个工作必须要经验一个流程能力做完,并且在过程中要产生数据的变动,也就是说流程中必须要做点什么影响它。比如说下班打卡,它就不是流程,不需应用工作流。

到此,我想大家应该曾经比拟清晰为什么工作流不是审批流,因为审批只是咱们日常工作中的一项工作而已,其余的工作只有波及流程,它也是工作流,能够应用工作流零碎实现管控。

工作流的利用

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

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

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

(4)财务相干类:收付款、发票治理、费用报销、打算估算等

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

(6)非凡服务类:ISO 治理流程、品质治理流程、进出口报关流程、物流跟踪解决流程等

举个栗子

下面说了很多工作流可利用的场景,上面咱们就来找一个典型的案例来剖析一下整个处理过程。以打算估算的制订为例来解说。失常每个公司都会在年底制订一套打算估算来管控第二年的支出和收入,以保障按计划实现一年的指标。个别流程如下:

(1)公司个别会制订一个顶层的规定,包含估算下限、估算事项和科目、估算制订的颗粒度等,而后下发。

(2)公司的所有部门会依据公司制订的规定以及部门外部本人的布局制订一个部门估算,包含:人力、行政、财务、信息、业务等各个部门。

(3)制订实现后,上报上级领导审批,并通过几轮商议并敲定。

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

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

打算估算这个例子,比拟典型,因为它蕴含了审批、蕴含了业务解决、甚至蕴含了不同零碎的合作。由此可见,波及到应用工作流的场景往往是业务或逻辑简单场景,工作流适宜帮忙企业把简单的事件变得简略,把逻辑梳理的清晰有序。

工作流零碎如何实现

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

(1) 流程图 ,不论是应用通用的工作流引擎还是本人开发,咱们肯定首先须要指定流程,指定流程的形式多种多样,能够采纳配置的模式,也能够间接通过画流程图的形式(最终也会造成一个可数据化的流程 xml)。不论用什么形式这一步是外围,通知零碎你的流转过程。

(2) 数据库 ,所有的流程信息、节点信息、工作信息、历史信息、用户信息都必须存储于数据表中,每一个操作也会间接反馈给表中的数据。

(3) 工作的应用 ,工作是一个重要的概念,流程流转的是工作,咱们无需记录工作的具体内容,这是业务零碎须要思考的事件,咱们只须要记录工作的流转过程即可。能够给工作做个分类,分为人工执行的和零碎主动执行的。

(4) 流程变量 ,这个概念也同样的重要,因为没有一个流程是相对固定的,它的流转分支以及逻辑断定必须是动静的才有意义。而动静也就意味着必须在流程启动时能力确定某些数据的值,这个值的传入就必须要通过流程变量实现。

(5) 历史记录 ,每一个曾经流转实现的流程都须要具体的历史记录,这是必须的,能够排除危险并确定责任。

(6) 可调用的工具类或接口 ,流程中执行的每一个操作:启动、终止、通过、退回,都须要用户手工或零碎主动触发,所以要提供所有可执行的 API。

在很多开源的流程引擎框架里,并没有思考太多的国内的应用须要,所以咱们在设计或客户化咱们的工作流零碎时,要思考到各种非凡状况。比方:撤回、终止、回调等。

后记

如果您对咱们正在做的开源软件感兴趣,欢送各种模式的单干,作为贡献者或间接退出咱们!让咱们一起打造一套开源的企业级信息化解决方案。

【码云】或【GitHub】搜寻“赤龙 ERP”点击星标,亦可退出咱们!让咱们从小开始做点平凡的事!与开发者交换 kzca2000

正文完
 0