工作流参考模型

来源:互联网 发布:淘软件 编辑:程序博客网 时间:2024/05/03 03:59
导读:

  工作流参考模型

  WFMC的WFMS参考模型,它描述了WFMS体系结构中的主要模块以及模块之间的接口。该参考模型中主要涉及到的以下几种数据[23]:

  1. 工作流控制数据(Workflow Control Data):由WFMS或工作流执行服务中的内部数据。工作流执行服务器维护内部控制数据,来确定过程实例或活动实例的状态,并支持其他内部状态信息。这种内部控制数据不能被访问,也不能进行转换。但用户可以通过接口对某些数据进行查询。

  2. 工作流相关数据(Workflow Relevant Data)[23]:WFMS用来判断过程中状态转移是否可以执行的数据。WFMS使用工作流相关数据来判断转移条件是否满足,并选择下一个要执行的活动。这些数据能被工作流应用程序访问,这些数据也需要通过工作流执行软件在活动间传递。

  3. 工作流应用数据(Workflow Application Data):应用程序的具体数据,并且不能被WFMS访问。工作流应用程序数据不能被工作流执行软件所使用,只与应用程序或者用户任务的执行相关。

  该参考模型中的主要模块包括[10]:

  1. 流程定义工具(Process Definition Tools)[5]:主要是进行工作流的建模,并输出一个能被工作流引擎识别并解释执行的过程定义。它可以作为特定的工作流产品的一部分体统给用户,也可以作为一个单独的产品提供给用户。

  2. 工作流执行服务(Workflow Enactment Services):是WFMS的核心。它实际上是企业经营过程的调度器,在某种程度上还是企业的资源分配器。在采用WFMS支持经营过程运行的企业中,它可以看成是企业的业务操作系统,企业的业务过程在它的管理、监控和调度下运行。它由一个或多个工作流引擎组成,提供了流程实例执行的运行环境,主要完成流程实例化以及执行流程模型、为流程和活动的执行进行导航、与外部资源交互完成各项任务、维护工作流控制数据和工作流相关数据等功能。

  3. 工作流客户端应用(Workflow Client Application)[6]:提供用户操作WFMS分配的任务或者活动的功能。它由工作流任务表管理器和用户操作共同完成。工作流任务表是指分配给一个特定用户(或一组特定用户)处理的由任务项组成的队列。工作流任务管理器是一个软件模块,负责管理工作流任务表,并完成与最终用户的操作进行交互。它可以作为WFMS的一部分提供给用户,也可以是用户自己编写的程序。

  4. 工作流引擎直接调用的应用(Invoked Applications)[6]:在工作流任务执行过程中,有一些不需要人员参与的活动会直接启动一些应用。在简单的情况下,引擎是通过流程模型中定义的活动信息、应用程序类型和所需要的数据来激活应用程序。有关工作流引擎直接调用的应用的详细分析在后面的系统分析一章中有介绍。

  5. 其他工作流执行服务(Other Workflow Enactment Services)[7]:在大型的WFMS中,工作流可能需要多个工作流机共同完成,甚至需要其他异构的工作流执行服务来辅助来完成。在异构的工作流系统之间需要传输的信息流和控制流有:活动或子过程的实例状态、工作流相关数据与应用数据的传输、同步点协作以及流程模型的读写操作等。

  6. 系统管理及监控工具(Administration &Monitoring Tools)[19]:能够对工作流在整个组织内部的流动状况进行监视,并提供一系列的管理功能,实现安全性、流程控制和授权操作等方面的操作。主要功能包括:对流程模型进行实例化;对流程模型中的角色进行实例化;将运行中的流程实例、活动实例和数据分发到各个引擎中;启动、挂起、恢复和终止流程实例;管理正在执行的过程实例,并对正常结束或异常介绍的流程实例的历史数据进行统计和分析。

  7. WAPI与接口(Workflow Application Programming Interface &Interchange):WAPI是一组工作流应用程序编程接口及其相应的数据交换格式,调用这些接口函数可以完成工作流联盟定义的5类接口的功能。WFMC定义的5类接口是:

  接口1:过程定义输入输出接口,它是工作流服务和工作流建模工具之间的接口,包括工作流模型的解释和读写操作;

  接口2:客户端函数接口,它是工作流服务和客户应用之间的接口,这是最主要的接口规范,它约定所有客户方应用与工作流服务之间的功能操作方式;

  接口3:激活应用程序接口,它是工作流服务和直接调用的应用程序之间的接口;

  接口4:工作流执行服务之间的互操作接口;

  接口5:管理系统和监控接口;

  有了工作流接口的规范,就使得工作流系统的各个部分成为独立的组件。在理想的状态下,组件的开发要遵循统一的接口,各个组件就可以独立地进行开发。一个完整的系统是集成各个组件而实现的。统一的标准接口为各个工作流系统的协作提供了基础。

  TOP



本文转自

http://soa.5d6d.com/redirect.php?fid=7&tid=66&goto=nextoldset
原创粉丝点击