我觉得学工作流还是要了解工作流的概念,上来就是activiti,jbpm这些框架很容易懵的!这篇博客的话,你不喜欢这样话,那么第二点你一定要看下,其他的可以过一下,工作流引擎在工作流中是很重要的
一、工作流概念 工作流(Workflow)Workflow(工作流)是“业务过程的部分或整体在计算机应用环境下的自动化,是对工作流程及其各操作步骤之间业务规则的抽象、概括描述”,它主要解决的是“使在多个参与者之间按照一种提前定义好的规则流程来传递与执行文档、信息或任务的过程,让这个过程可以自动进行或者部分自动执行,从而完成预期的业务目标”。
工作流管理联盟(WFMC)
提到工作流就不能不提到工作流管理联盟(WfMC,WorkflowManagementCoalition),它是一个由涉及工作流和业务流程管理的推广学者(adopters)、开发工程师、顾问、分析师、大学和研究团体的全球性组织,它的成立,标志着工作流技术开始进入相对成熟的阶段。该组织创建并完善了工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准,是唯一的致力于工作流标准的专业组织。 工作流管理系统(WFMS)
接下来要说的是工作流管理系统(WorkflowManagement System,WfMS),它完成了工作量的定义和管理,并按照在系统中预先定义好的工作流规则进行工作流实例的执行的软件系统,这里要说明一下的是,并不是我们企业自己的系统应用了工作流就是工作流管理系统了,工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。WfMS被用来定义、管理和执行工作流程,它的目标是管理工作的流程以确保工作在正确的时间被期望的人员所执行。同时也可以在自动化进行的业务过程中插入人工的执行和干预。
WFMS与工作流框架
WFMS一般习惯于称它为工作流框架,常见的工作流框Activiti、JBPM、OSWorkflow、ActiveBPEL、YAWL等。 二、工作流引擎
直接理解工作流引擎概念有点难度,我们可以先通过了解工作流引擎的职责再反过来理解工作流引擎,工作流引擎一般都做两件事情: 1.定义流程,也就是给我们提供某种规范来定义规则,以及如何定义一个流程的这种规范,同事我们可以根据工作流引擎提供的相关概念来定义更为复杂的流程,这就是工作流引擎做的第一件事叫做定义流程。 2.执行流程,也就是工作流引擎需要解释这个规则,还要负责流程,它相当于流程的调度者,监控每个流程的执行情况,并将流程操作发往下一步,或者根据条件休眠或终止流程的这么一个过程就叫做执行流程。 了解完工作流引擎的这两个职责,我相信对于什么是工作流引擎一定已经有了一定的认识了,我们在用一句稍微有点官方的话来总结一下工作流引擎,工作流引擎为我们提供相关规则概念的定义,给我们提供了相关的API来调用这个引擎去执行流程。流程的操作实际上就是工作流引擎提供相关的api我们去调用它。
三、工作流框架与工作流引擎
上面我们提及了常见了几个工作流框架,其中现在的Activiti和JBPM5.0之前的版本都是基于ProcessEngine 工作流引擎的工作流框架;JBPM5.0开始是基于DroolsFlow为工作流引擎的工作流框架;其中OSWorkflow是以工作流引擎命名的工作流框架,所以OSWorkflow是基于OSWorkflow工作流引擎的工作流框架;ActiveBPEL是基于工作流BPEL引擎的工作流框架……. 到这里关于工作流的相关概念就介绍完了,接下来我们先了解一下我们的主角activiti的前世今生。