工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。
工作流管理系统(WfMS)是处理工作流的电脑软件系统,其主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。
工作流属于计算机支持的协同工作(CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。
工作流技术发端于1970年代中期办公自动化领域的研究工作,但工作流思想的出现还应该更早,1968年弗理兹·诺西克(Fritz Nordsieck)就已经清楚地表达了利用信息技术实现工作流程自动化的想法。1970年代与工作流有关的研究工作包括:宾夕法尼亚大学沃顿学院的迈可·D·吉斯曼(Michael D. Zisman)开发的原型系统SCOOP,施乐帕洛阿尔托研究中心的克莱伦斯·A·艾里斯(Clarence A. Ellis)和盖瑞·J·纳特(Gary J. Nutt)等人开发的OfficeTalk系列试验系统,还有安纳托尔·霍尔特(Anatol Holt)和保罗·卡钖曼(Paul Cashman)开发的ARPANET上的“监控软件故障报告”程序。SCOOP, Officetalk和安纳托尔·霍尔特开发的系统都采用Petri网的某种变体进行流程建模。其中SCOOP和Officetalk系统,不但标志着工作流技术的开始,而且也是最早的办公自动化系统。
1970年代人们对工作流技术充满着强烈乐观情绪,研究者普遍相信新技术可以带来办公效率的巨大改善,然而这种期望最终还是落空了。人们观察到这样一种现象,一个成功的组织往往会在适当的时候创造性的打破标准的办公流程;而工作流技术的引入使得人们只能死板的遵守固定的流程,最终导致办公效率低和人们对技术的反感。1970年代工作流技术失败的技术原因则包括:在办公室使用个人计算机尚未被社会接受,网络技术还不普遍,开发者还不了解群件技术的需求与缺陷。
含有工作流特征的商用系统的开发始于1983年至1985年间,早期的商用系统主要来自于图像处理领域和电子邮件领域。图像处理许多时候需要流转和跟踪图像,工作流恰好迎合这种需求;增强的电子邮件系统也采用了工作流的思想,把原来点对点的邮件流转改进为依照某种流程来流转。在这些早期的工作流系统中只有少数获得了成功。
进入1990年代以后,相关的技术条件逐渐成熟,工作流系统的开发与研究进入了一个新的热潮。据调查,截至1995年共有200多种软件声称支持工作流管理或者拥有工作流特征。工作流技术被应用于电讯业、软件工程、制造业、金融业、银行业、科学试验、卫生保健领域、航运业和办公自动化领域。
1993年8月,工作流技术标准化的工业组织-工作流管理联盟(WfMC)成立。 1994年,工作流管理联盟发布了用于工作流管理系统之间互操作的工作流参考模型,并相继制定了一系列工业标准。
关于工作流技术的学术研究也十分活跃,许多原型系统在实验室里开发出来,人们从工作流模型、体系结构、事务、适应性、异常、安全、语言、形式化、正确性验证、资源管理、开发过程等各方面对工作流技术进行探讨,大量论文被撰写出来。
尽管工作流技术取得了进步,但理论基础的研究还很不够。现有的工作流管理系统从功能、可靠性、健壮性上与数据库管理系统无法相提并论。
进入2000年以后,随着Web服务技术的兴起,多个标准化组织制定了各自和工作流技术相关的Web服务标准,如XLANG,WSFL等。 2002年8月,IBM、微软等企业联合提交并发布了BPEL规范。