2.1 工作流基础
工作流(workflow)起源于生产组织和办公自动化领域,是业务过程的整体或部分在计算机应用环境下的自动化,是计算机支持的协同工作的一部分。
2.1.1 基本定义
工作流管理联盟(Workflow Management Coalition,WfMC)对工作流的定义如下:“工作流指一类能够完全或者部分自动执行的经营过程,能根据一系列过程规则,使文档、信息或任务在不同的执行者之间进行传递或执行”。
简单说,工作流就是一系列相互衔接、自动进行的业务活动或任务。一个工作流包括一组业务活动及它们的相互顺序关系、流程及活动的启动和终止条件,以及对每个活动的描述。例如,在日常工作中,填写好请假申请表后,需要将其提交给领导进行审批,有时还需要提交给更上一级领导进行审批。这样一个请假申请文档就会在多人之间顺序或同时传递。对于这样的场景,可以使用工作流技术来控制和管理文档在各个计算机之间自动传递。文档自动化处理只是工作流技术的一种简单应用,在现实生活中工作流技术还能够完成更多更复杂的任务,如企业内部各种数据或信息的自动处理,多种业务流程的整合,企业之间的数据交换,甚至跨地域数据传输和处理等。
2.1.2 发展历程
20世纪70年代,信息技术飞速发展,当时的流程管理研究者们普遍相信,利用信息技术可以实现工作流程的自动化,从而带来办公效率的巨大改善。工作流技术正是发端于这个时期。由于当时个人计算机与网络技术尚未普及,所以工作流技术发展较为缓慢。
20世纪80年代,图像处理领域和电子邮件领域相继出现了含有工作流特征的商用系统。图像处理领域利用工作流进行图像的流转和跟踪。电子邮件领域利用工作流将点对点的邮件流转改进为依照某种流程流转的形式。这些早期的工作流系统只有极少数获得了成功。
20世纪90年代,随着工作流相关技术条件的逐渐成熟,工作流系统的开发与研究进入新的阶段。工作流技术被广泛应用于企业管理、软件工程、制造业、金融业、科学试验和卫生保健等领域。1993年WfMC成立,标志着工作流技术逐步走向成熟。1994年,WfMC发布了工作流参考模型,并相继制定了一系列工业标准。这些标准的制定,进一步促进了工作流技术的发展。
进入21世纪后,随着Web服务技术的兴起,多个标准化组织相继制定了与工作流技术相关的Web服务标准。2002年,IBM、Microsoft等企业联合发布了业务流程执行语言(Business Process Execution Language,BPEL)规范。BPEL是一种基于XML、描写业务过程的编程语言,可以将一组现有的服务组合起来,从而定义一个新的大型的复杂Web服务,实现控制流、异步协作、事务支持等功能。随着分布式系统和面向服务的架构的崛起,BPEL成为当时流行的工作流语言之一。
2004年,业务流程管理倡议组织(Business Process Management Initiative,BPMI)发布了业务流程建模标记法(Business Process Modeling Notation,BPMN)。这是一种工作流中特定业务流程的图形化表示法。2005年,该组织并入对象管理组织(Object Management Group,OMG),此后BPMN由OMG维护。OMG对BPMN进行了重新定义,于2011年发布了BPMN 2.0标准。
BPMN 2.0是一套图形化的标准方法,用于业务流程建模和详细说明业务流程。它能直观地表现复杂的流程语义,便于业务分析师、技术开发者、流程经理、用户等人理解与使用。BPMN 2.0的出现结束了多种工作流Web服务标准多年的竞争。目前,BPMN 2.0已成为BPM及工作流的主流建模语言标准之一。