转自http://blog.csdn.net/u014682573/article/details/29922093
1. 工作流技术
工作流(Workflow)
定义:工作流就是将一组任务组织起来,并且完成的经营过程。在国祚刘中定义了任务的触发顺序和触发条件,每个任务可以由一个或者多个人/组与软件系统协同完成,任务的触发顺序和触发条件用于定义并实现触发任务的触发,任务的同步和数据流的传递
就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。
工作流管理系统(Workflow Management System, WfMS)
主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。
2 工作流的功能与好处
工作流的主要功能:
----工作流管理系统(WorkflowManagementSystem,WFMS)是定义、创建、执行工作流的系统。在最高层上,WFMS应能提供以下三个方面的功能支持:
建造功能:对工作流过程及其组成活动定义和建模;
运行控制功能:在运行环境中管理工作流过程,对工作流过程中的活动进行调度;
运行交互功能:指在工作流运行中,WFMS与用户(业务工作的参与者或控制者)及外部应用程序工具交互的功能。
3.1.过程定义工具
过程定义工具被用来创建计算机可处理的业务过程描述。它可以是形式化的过程定义语言或对象关系模型,也可以是简单地规定用户间信息传输的一组路由命令。
3.2过程定义
过程定义(数据)包含了所有使业务过程能被工作流执行子系统执行的必要信息。这些信息包括起始和终止条件、各个组成活动、活动调度规则、各业务的参与者需要做的工作、相关应用程序和数据的调用信息等。
3.3.工作流执行子系统(WES)和工作流引擎
工作流执行子系统也称为(业务)过程执行环境,包括一个或多个工作流引擎。工作流引擎是WFMS的核心软件组元。它的功能包括:解释过程定义;创建过程实例并控制其执行;调度各项活动;为用户工作表添加工作项;通过应用程序接口(API)调用应用程序;提供监督和管理功能等。工作流执行子系统可以包括多个工作流引擎,不同工作流引擎通过协作共同执行工作流。
3.3.4.工作流控制数据
指被WES和工作流引擎管理的系统数据,例如工作流实例的状态信息、每一活动的状态信息等。
3.5.工作流相关数据
指与业务过程流相关的数据。WFMS使用这些数据确定工作流实例的状态转移,例如过程调度决策数据、活动间的传输数据等。工作流相关数据既可以被工作流引擎使用,也可以被应用程序调用。
3.6.工作表和工作表处理程序
工作表列出了与业务过程的参与者相关的一系列工作项,工作表处理程序则对用户和工作表之间的交互进行管理。工作表处理程序完成的功能有:支持用户在工作表中选取一个工作项,重新分配工作项,通报工作项的完成,在工作项被处理的过程中调用相应的应用程序等。
3.7.应用程序和应用数据
应用程序可以直接被WFMS调用或通过应用程序代理被间接调用。通过应用程序调用,WFMS部分或完全自动地完成一个活动,或者对业务参与者的工作提供支持。与工作流控制数据和相关数据不同,应用数据对应用程序来讲是局部数据,对WFMS的其他部件来说是不可见的。
6 工作流引擎的五大接口
工作流参考模型确定了工作流管理系统的基本架构。该架构是开发工作流软件时应当采纳的系统模型,当然,一个工作流管理系统也可以不遵循这个模型标准,或只实现这个模型的一部分,但事实证明,这个模型结构是目前最为合理的。
系统的核心部分是工作流引擎,引擎是驱动流程流动的主要部件,它负责解释工作流流程定义,创建并初始化流程实例,控制流程流动的路径,记录流程运行状态,挂起或唤醒流程,终止正在运行的流程,与其他引擎之间通讯等等工作
6.1接口1-流程定义的导入导出
6.2 接口2-同客户端应用程序和工作列表处理程序之间的交互
6.3接口3-软件工具和应用程序的调用
6.4接口4-不同工作流管理系统之间的协同工作
6.5接口5-管理和监视功能