WF/WFE/WFMS
一、什么是工作流
工作流的英文全称是:Workflow,简单理解则是业务流程的计算机化或自动化。它是是针对工作中具有固定程序的常规活动而提出的一个概念,通过将工作活动分解定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的。
工作流技术发端于70年代中期办公自动化领域的研究工作,但工作流思想的出现还应该更早。1968年Fritz Nordsieck就已经清楚地表达了利用信息技术实现工作流程自动化的想法。1970年代与工作流有关的研究工作包括:宾夕法尼亚大学沃顿学院的Michael D. Zisman开发的原型系统SCOOP,施乐帕洛阿尔托研究中心的Clarence A. Ellis和Gary J. Nutt等人开发的OfficeTalk系列试验系统,还有Anatol Holt和Paul Cashman开发的ARPANET上的“监控软件故障报告”程序。SCOOP, Officetalk和Anatol Holt开发的系统都采用Petri网的某种变体进行流程建模。其中SCOOP和Officetalk系统,不但标志着工作流技术的开始,而且也是最早的办公自动化系统。
70年代人们对工作流技术充满着强烈乐观情绪,研究者普遍相信新技术可以带来办公效率的巨大改善,然而这种期望最终还是落空了。人们观察到这样一种现象,一个成功的组织往往会在适当的时候创造性的打破标准的办公流程;而工作流技术的引入使得人们只能死板的遵守固定的流程,最终导致办公效率低和人们对技术的反感。70年代工作流技术失败的技术原因则包括:在办公室使用个人计算机尚未被社会接受,网络技术还不普遍,开发者还不了解群件技术的需求与缺陷。
含有工作流特征的商用系统的开发始于1983年至1985年间,早期的商用系统主要来自于图像处理领域和电子邮件领域。图像处理许多时候需要流转和跟踪图像,工作流恰好迎合这种需求;增强的电子邮件系统也采用了工作流的思想,把原来点对点的邮件流转改进为依照某种流程来流转。在这些早期的工作流系统中只有少数获得了成功。
进入1990年代以后,相关的技术条件逐渐成熟,工作流系统的开发与研究进入了一个新的热潮。据调查,截至1995年共有200多种软件声称支持工作流管理或者拥有工作流特征。工作流技术被应用于电讯业、软件工程、制造业、金融业、银行业、科学试验、卫生保健领域、航运业和办公自动化领域。
由于工作流技术发展各异,为了给其制定相关规范,实现不同工作流产品的互操作,1993年,工作流管理联盟(Workflow Management Coalition,WfMC)成立了,并提出了工作流(Workflow)的严格定义:为了实现组织目标,有关业务活动依时序或逻辑关系相互连接构成业务流程。在 业务开展过程中,文档、信息或任务,依据组织规范在参与者之间传递、处理或执行。业务流程中,实现了基于计算机自动化的全部或部分称为工作流。简单地讲,工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化。在实际情况中可以更广泛地把凡是由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。一个工作流包括一组活动及它们的相互顺序关系,还包括过程及活动的启动和终止条件,以及对每个活动的描述。
二、什么是工作流引擎
工作流引擎的英文全称是:WorkFlow Engine,是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。
工作流引擎解决的就是这个问题:如果应用程序缺乏强大的逻辑层,势必变得容易出错(信息的路由错误、死循环等等)。就好比一辆汽车,外表做得再漂亮,如果发动机有问题就只是一个摆设。应用系统的弹性就好比引擎转速方面的性能,加速到100公里需要1个小时(业务流程发生变动需要进行半年的程序修改)还能叫好车吗?引擎动不动就熄火(程序因为逻辑的问题陷入死循环)的车还敢开吗?
参与者(Participant) :是各个处理步骤中的责任人,可能是人,也可能是某个职能部门,还可能是某个自动化的设备;
流程定义(Flow Definition) :是预定义的工作步骤,它规定了实体流动的路线。它可能是完全定义的,即对每种可能的情况都能完全确定下一个参与者,也可能是不完全定义的,需要参与者根据情况决定下一个参与者;
三、什么是工作流管理系统
工作流管理系统即Workflow Management System,简称WFMS,是定义、创建、执行工作流的系统。