探索工作流(一)--概述

工作流我们经常提到,并且也一直在使用,有很多成熟的使用案例,但是对于工作流的具体定义,我们还是比较模糊的,它是标准?引擎?技术?解决思想?还是架构?工作流到底是什么呢?

对于从事计算机软件设计人员来说,它是一项技术,架构师可以通过这项技术来解决一些流程化的问题;对于从事软件信息管理(CIO首席信息官)人员来说,它就是一种思想,一种降低企业运维的指导思想;对于软件开发人员来说(咱们),那它就是一个框架,一套通过提供接口和服务来创建适应用户流程变化的技术架构。总而言之,工作流就是让软件开发人员从人、事、物、流程、时间、条件等多维的角度来分析和设计软件,从而帮助客户实现管理流程化的目标。

探索工作流(一)--概述_第1张图片

1 为什么要使用工作流
对于这个问题,我们可以从企业的发展、IT运维成本和企业信息管理的角度来分析这个问题。
首先从企业发展角度来说,企业的CTO总是面临着一个困境,就是我们为用户开发的软件不能跟随用户的需求的灵活变化。企业的发展总是根据社会环境来随时变化的,企业的发展策略也是随着市场和竞争对手而不断变化的,但是我们的软件交付用户以后,却不能随时根据用户需求而改变,这样就会给用户带来很多结构性的问题。工作流可以对这些问题提供解决方案,同时,工作流也为这种解决方案提供了相应的实现平台。
其次,从企业的IT运维成本来分析,企业的IT运维成本总体来说,处于缓慢提高的状态,由于企业的信息越来越多,数据也越来越复杂,企业的信息运维成本也越来越高,也就意味着我们的利益空间越来越小,如何降低IT运维成本,提升软件开发的利益空间越来越成为一个难题。工作流的出现,为解决这一难题提供了可能,我们将工作流和具体的公司业务隔离开,从而让企业的业务程序和流程隔离开,从而降低企业的IT运维成本。
从企业的信息管理角度来说,经典的企业级ERP系统、进销存系统、DRP系统都是事物处理系统,他们都是“管事”的系统,系统主要记录以事情为主的数据,这样我们在以这些数据为依托进行数据分析时就会遇到瓶颈,因为我们不能从多维的角度来分析,那么数据分析结果可能就不准确,这是很严重的问题。工作流的出现,可以帮助客户从人、事、物、时间等维度进行数据分析,为企业的发展提供更加严谨和准确的结果。
2 工作流有哪些类型

工作流分为业务流和审批流。业务流提供一系列有组织的步骤,步骤是依次执行的,每个步骤都需要事件触发来执行;审批流提供了一系列的状态,工作流从初始状态开始,到终止状态结束,两个状态之间定义行为进行过度,通常状态下,审批流对事件作出反应,从而改变自身状态。总结:业务流强调“人”与计算机之间的工作交互,审批流强调“人”与“人”之间的交互。

业务流模型图:

探索工作流(一)--概述_第2张图片

审批流模型图:

探索工作流(一)--概述_第3张图片

3 工作流用在哪里
工作流是一种软件开发技术,用在软件设计领域。凡是通过各种表单逐级手工流转可以完成的任务都可以通过工作流软件实现,典型的应用场景:
行政类:出差申请、加班申请、请假申请、购买申请等;
人事类:员工培训、绩效考评、职位变动、档案管理等;
财务类:付款请求、应收款处理等;
计划类:制定计划、计划调整、任务验收等;
4 那些人使用工作流及如何使用
工作流是个很模糊的概念,它不是一个具体的软件,也不是一个特定的框架,但是它存在于我们软件中的方方面面,我们从如何使用及那些人使用两方面来说明。
工作流引擎、工作流底层服务:是我们开发的软件本身来使用的;
工作流架构包括工作流引擎、接口、业务系统框架:是设计和开发人员使用的,设计和开发人员通过工作流引擎和服务接口开发出相应的工作流系统;
工作流平台包含流程设计器,可以理解为工作流系统后台程序:企业后台管理用户使用;

普通的工作流软件:普通的用户使用工作流系统来处理日常业务。

5 工作流系统开发

工作流系统的开发是一个很复杂的问题,包括技术选型、框架搭建、系统开发等必要环节。开发之前,我们必须要进行技术选型,目前比较常用的工作流技术有微软的Workflow和Java语言的BPM;搭建框架考虑的问题也比较多,常用并且必须要考虑的底层服务应该包括RepositoryService、RuntimeService、TaskService、IdentityService、ManagementService、HistoryService、FormService等;

探索工作流(一)--概述_第4张图片

6 总结
工作流可以改进和优化业务流程,提高业务工作效率;
工作流可以实现更好的业务过程控制,提高服务质量;
工作流可以提高业务流程的柔性;

你可能感兴趣的:(workflow,工作流引擎)