工作流是一个比较难懂的概念,可能非计算机专业的人还好理解一些,也许是对于做项目的技术人员在这方面理解会有些不同。
百度百科上对工作流的解释是:
我个人对工作流的理解是工作流是对一个工作流程的具体描述,其中包括若干个事务,最常见的工作流比如一个员工请假工作流程,首先,员工提出请假申请,需要填写请假开始时间、请假时长,请假事由、请假人员,然后这个申请要提交到项目经理那去,项目经理经过若干步确认后确认审批,然后申请还可能会提交到部门经理那去,也可能还会提交到总经理那去,这就要视具体情况而定,在每个任务节点处都可能会有一些局部数据,这些数据不能让流程相关的所有用户看到,所有的这些节点最后连接起来其实就是一个流程图,不过,这个流程图是由若干业务操作组成的,而不仅仅是一些程序结构。工作流就是对一个流程的描述,说起来可能会比较简单,但在实际开发中这样一个业务流程是非常复杂的,所以就需要一个工作流引擎的东东出现了。对于工作流,其实已经出现了很我很好的引擎了,其中比较有名的就是JBMP系列、Spring workflow、Activiti,其中Activiti是基于BPMN2.0标准的,内部是一个BPMN2.0高速引擎,但在接口方面进行了很多优化,简化了开发过程。