WFMC参考模型(1).ppt
《WFMC参考模型(1).ppt》由会员分享,可在线阅读,更多相关《WFMC参考模型(1).ppt(99页珍藏版)》请在三一办公上搜索。
1、东华大学计算机学院,WFMC参考模型,主要内容,主要内容,主要内容,WFMC参考模型,工作流管理联盟提出的WFMC参考模型,其中包括了有关工作流管理系统的一些规范,定义了工作流管理系统的结构及其与应用、管理工具和其他工作流管理系统之间的应用编程接口;其主要目的是为了实现工作流技术的标准化和开放性,从而支持异构工作流管理系统与产品之间的互操作,支持基础工作流管理系统的应用开发与扩展,并且使得其他的应用可以使用该结构和定义好的通用API(应用编程接口)访问不同的工作流管理系统提供的服务,实现与其他应用的快速有效集成。,工作流管理系统的主要功能,工作流管理系统是一个软件系统,它完成工作流的定义和管理
2、,并按照在计算机中预先定义好的工作流逻辑,推进工作流实例的执行。工作流管理需要一个过程定义工具、一个过程执行引擎、用户和应用接口用来访问和激活工作请求、监控和管理工具以及审计功能,有的系统还提供了适配集成工具,拓展了业务过程中工作流集成的柔性。每个业务过程都有一个生命周期,从几分钟到几天(甚至数月),由过程的复杂性与组成活动的持续时间来决定。有多种方法实现工作流管理系统,使用多种IT和通讯组件,运行环境可以从一个小的本地工作组到企业间。但所有的工作流管理系统都会展现一些共有的特性,这为不同产品间的集成和互操作性提供了一个基础。工作流参考模型为构建工作流系统和不同的实现方法提供了一个公共的基础。
3、,三个功能区,定义态功能:对工作流过程与其组成活动定义、建模;运行态控制功能:管理在运行环境中的工作流过程,调度工作流活动的演进;交互功能:在运行态,为处理不同活动步骤进行的与用户、IT应用工具间的交互。,基本特性以及主要功能之间的关系,建立时期功能,建立时期的功能负责产生业务过程的计算机化定义。通常把定义的结果称为过程模型、过程模板、过程元数据、或者过程定义。过程定义由一系列分散的活动、相关的计算机、人员操作、活动间控制过程进程的规则构成。有些工作流系统允许在运行时期改变过程定义,在上图中如反向箭头所示。WFMC没有把过程定义的初始阶段作为规范的一部分,但这是区分不同WFM产品的重要标志。,
4、运行时期过程控制功能,在运行时期,过程定义由负责创建、控制过程实例的软件所解释,这个软件并负责安排过程中各个活动的执行时间,调用适当的人员、IT应用程序资源等。这体现了工作流管理系统在运行时期的控制功能,这些控制功能,就像过程定义中描述的过程与现实所见到的实际过程间的联接,反映在运行时期的用户与IT应用程序间的交互。这些控制实现了流程的演进,也控制了工作中对资源的利用。在控制功能的表现中,核心组件是基本工作流管理控制软件(工作流引擎engine),负责过程的创建与删除,控制运行过程中活动的执行时间安排,以及与人、应用工具资源进行交互。工作流引擎经常是分布与多个计算机平台中的,用来处理在大的地域
5、跨度中操作的过程。,运行时期活动交互,工作流过程中的活动总是与人类的操作有关,交互经常是在使用特殊的IT工具后,或者信息处理操作需要一个特殊的应用程序来操作一些信息时,交互才被意识到。在活动间转移控制、确定过程的运行状态、调用应用工具、传递适当的数据等,都必须与过程控制软件进行交互。制定标准的框架来支持这种交互,有如下好处:在多工作流系统中使用一致的接口;可以开发工作于不同工作流产品中的通用应用工具。,参与者间分配任务,在参与者间分配任务和信息的能力是工作流运行时期组件的主要区分特性。分配功能可能在各种不同的级别上进行(从工作组到企业间),这要依靠工作流的范围,因此,这也许会使用多种不同的消息
6、机制(电子邮件、消息传递、分布式对象技术等)。工作流制定服务(任务分配)是核心功能组件,通过接口提供给用户、以及分布在工作流范围内的应用程序。每一个这样的接口都是一个潜在的、可以与其他工作流制定服务、其他基础组件或应用程序组件进行集成的点。,强调分配问题的上层工作流体系结构,WFMC定义的所有接口,过程定义数据,以及过程定义数据的转换规范 支持不同工作流系统间协同工作的接口 支持与各种不同IT应用程序交互的接口 支持与用户交互的接口 提供系统监视,以及标准功能来简化复合工作流应用环境管理的接口,工作流管理系统的体系结构,为了能够更好地支持企业业务过程建模、分析和实施,适应全球市场的多元化趋势,
7、以及实现各种独自开发的工作流系统之间的交互,需要对该类产品与技术建立相关标准,从系统结构、术语使用、接口实施方面提供标准化与规范化的定义,并以此为基础实现不同工作流产品之间的互操作,便于与其他应用系统的集成。,工作流参考模型的体系结构图,Amit Sheth的定义,工作流是涉及到多任务协调执行的活动,这些任务分别由不同的处理实体来完成。一项任务定义了需要做的某些工作,它可用各种形式来进行定义,包括在文件或电子邮件中的文本描述、一张表格、一条消息以及一个计算机程序。用来执行任务的处理实体可以是人,也可以是计算机系统(比如一个应用程序、一个数据库管理系统)。,工作流参考模型,1993 年,WfMC
8、的成立标志着工作流技术开始进入相对成熟的阶段。为了实现不同工作流产品之间的互操作,WfMC在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准。,工作流参考模型是一个经验模型,工作流参考模型确定了工作流管理系统的基本架构,该架构是开发工作流软件时应当采纳的系统模型,当然,一个工作流管理系统也可以不遵循这个模型标准,或只实现这个模型的一部分,但事实证明,这个模型结构是目前最为合理的。,系统的核心部分是工作流引擎,该引擎是驱动流程流动的主要部件,它负责解释工作流流程定义,创建并初始化流程实例,控制流程流动的路径,记录流程运行状态,挂起或唤醒流程,终止正在运行的流程,与其他引擎之
9、间通讯等等工作。WfMC没有针对引擎的实现提供具体的标准,因为对引擎做过多的约束并没有多大的现实意义。,工作流参考模型 构件和接口,五个方面的功能服务,接口1流程定义的导入导出接口2同客户端应用程序和工作列表处理程序之间的交互接口3软件工具和应用程序的调用接口4不同工作流管理系统之间的协同工作接口5管理和监视功能,什么是工作流执行服务器,“工作流执行服务器”定义由一个或多个工作流引擎构成的软件服务器,用来创建、执行、管理工作流实例。应用程序可能会通过WAPI来与这个服务交互。,设计逻辑上的分离,在模型中,过程与活动控制逻辑间有一个逻辑上的分离,活动控制逻辑构成工作流执行服务器;过程与应用工具间
10、、与终端用户任务间也有一个逻辑上的分离,应用工具和任务建立起对每个相关活动的处理。这种逻辑上的分离,为制定更多的行业标准提供了机会,也为在工作流程序中集成用户具体的应用工具提供了机会。,客户端应用程序接口,客户端应用程序接口(The client application interface),通过这个接口工作流引擎可以与任务表处理器交互,代表用户资源来组织任务。然后由任务表处理器负责,从任务表中选择、推进任务项。由任务表处理器或者终端用户来控制应用工具的活动。,应用程序调用接口,应用程序调用接口(The invoked application interface),允许工作流引擎直接激活一个应
11、用工具,来执行一个活动。典型的是调用以后台服务为主的应用程序,没有用户接口;当执行活动要用到的工具,需要与终端用户交互,通常是使用客户端应用程序接口来调用那个工具,这样可以为用户安排任务时间表提供更多的灵活性。,分布式的工作流执行服务器,在分布式的工作流执行服务器中,每个工作流引擎控制过程执行的一部分,并与这部分过程中的活动所要用到的用户、应用工具进行交互。在分布式的执行服务器中有公共的名称空间与管理范围的,从而过程定义、用户/应用程序的名称在一致的标准下被处理。分布式工作流系统,在工作流引擎间采用特殊的协议和信息转换格式,来同步工作流引擎的操作、过程交换和活动控制信息。也许工作流相关数据也要
12、在工作流引擎间进行传递。在单一的工作流执行服务器中,这些操作都是由开发商自己定义的。,工作流引擎能处理,解释过程定义;控制过程实例创建、激活、挂起、终止等;为过程的活动导航,可能要包含顺序或者平行的操作、最后时间期限、对工作流相关数据进行解释;参与者签名和退出;确定任务项目,实现用户意图,提供接口,支持用户交互;维护工作流控制数据和工作流相关数据,在应用程序间或者用户间传递工作流相关数据;提供调用外部程序的接口,连接所有工作流相关数据;提供控制、管理和审查功能。,异种的工作流执行服务器,在异种执行服务器间要有公共的命名方案;异种执行服务器都要支持公共的过程定义对象和属性;支持工作流相关数据在异
13、种执行服务器间的传递;支持过程、子过程或者活动在异种工作流机间的传递;支持公共的管理和监视功能。,过程实例的基本状态变迁方案,过程实例的基本状态变迁介绍,Initiated(初始化)过程实例被创建,包括与过程状态相关的日期、工作流相关数据,但是过程还没有满足条件,不能执行。Running(运行)过程实例已经执行,过程中的活动如果条件满足就可以执行。Active(激活)过程中的一个或者多个活动已经被执行。Suspended(挂起)过程实例被静止,并且过程中的活动不能执行,直到过程返回到running状态。Completed(结束)过程实例满足结束条件;所有的完成后操作都将被执行(例如记录日志、或
14、者统计信息),并且销毁过程实例。Terminated(终止)过程实例在正常结束前被停止;所有的完成后操作都将被执行(例如记录错误信息、或者恢复数据),并且销毁过程实例。,活动不能被中断,活动是不能被中断的,例如工作流执行服务器一旦开始了一个活动,就不能挂起或者终止这个活动。这就意味着,只有在所有运行中的活动结束后,并且过程返回到running状态,才能对过程执行挂起、重启、终止等命令。另外,可能需要把几个活动放在一起作为“原子单元”,这些原子单元要执行就全部被执行完,如果中途出现异常则返回到开始点,重新执行。,活动实例的基本状态和转移,活动的基本状态,Inactive 过程实例中的活动已经被创
15、建,但是还没有激活(例如,活动的进入条件没有满足),并且没有任务需要处理。Active 创建好的任务,分配这个活动来处理。Suspended 活动实例被静止,并直到活动返回到Inactive状态,才能为其分配任务。Completed 活动实例执行完成。,工作流应用编程接口与数据交换,WAPI可以被看作是一套由工作流执行服务器支持的API调用和数据交换集合,这个集合在在工作流执行服务器的边界处,负责与其他资源交互。尽管结构中涉及到了WAPI中的5个接口,但是每一个接口中的许多功能都是公共的(即,同时被2个或者多个接口共同拥有)。WAPI的主要功能由API调用组成。,工作流控制数据,工作流执行服务
16、工作流引擎通过内部的工作流控制数据来辨别每个过程或活动实例的状态。这些数据由工作流执行服务工作流引擎进行控制。用户、应用程序或其他的工作流引擎工作流执行服务不能对其直接进行读写操作,它们可以通过向工作流执行服务工作流引擎发消息请求来获得工作流控制数据的内容。,工作流相关数据,工作流管理系统通过工作流相关数据来确定过程实例状态转换的条件,并选择下一个将执行的活动。这些数据可以被工作流应用程序访问并修改,因此,工作流管理软件需要在活动实例之间传递工作流相关数据。,工作流应用数据,这种数据是指那些由应用程序操作的数据。它们是针对应用程序的,是企业完成具体的业务功能所需要的数据,如产品结构数据、定单数
17、据、生产作业计划数据等。工作流管理系统无法也不需要对它们进行访问。,数据交换,工作流相关数据和应用程序数据的交换,都需要访问WAPI,来支持在3个运行时期功能中的协同工作:任务表处理器(Interface 2)应用程序调用(Interface 3)工作流引擎交换(Interface 4),由Email驱动的工作流系统,由Email驱动的工作流系统是一种典型的应用程序数据的直接交换,在这样的系统中,应用程序数据“物理地”在活动间进行传递。这些情况下,不需要明确定义活动与应用程序数据间的关系;应用程序数据作为标准工作流活动导航的一部分进行传递,并且在应用程序调用时在本地直接(已经传递过来)与程序相
18、关。需要在活动间提供数据格式转换时,应用程序需要定义与之相关的数据类型,可以作为一个属性来定义。,工作流应用程序数据交换,客户端应用程序接口(Client applications)工作流相关数据可以包含在任务中。工作流相关数据也可以通过共享的对象存储形式来间接传递。应用程序调用接口(Invoked applications)依靠应用程序调用接口进行数据转换,可能需要在调用服务中,把数据包含在具体应用程序协议中。激活的工作流应用程序可以使用读/写工作流相关数据的API,或者用这些API来构造通用应用程序代理。工作流引擎协作接口(Workflow Engine Interoperability)
19、与客户端应用程序接口相似,尽管在不同的系统中支持不同的应用程序数据交换方法,但是网关功能的使用,需要在两种方法间进行影射,也要处理名称问题。,过程定义工具,有许多不同的工具可以用来分析、建模、描述业务过程;这样的工具有很大的不同,从非正式的(铅笔和纸)到成熟的、十分专业的。工作流模型不关心这些工具的特性,也不关心在过程建立时期它们是如何交互的。在以前指出过,这些工具可以作为工作流产品的一部分来提供,或者一个单独的产品,例如BPR工具集。有的工作流产品提供了其自己的过程定义工具,从而过程定义一般是保留在工作流产品范围内的,并且可能或者不能被读/写信息的编程接口所访问。而使用单独的过程定义和执行服
20、务器产品,过程定义能够在不同的产品间进行转换,并可以被其他产品访问。设计活动和最后的过程模型输出,称为过程定义。在运行时期过程定义可以被工作流引擎解释。,工作流定义转换(接口1),在建模或定义工具与运行时期工作流管理软件间的接口,被称为过程定义导入/导出接口。这个接口的特点是:转换格式和API调用,从而支持过程定义信息间的互相转换。通过这接口规范,许多不同厂商提供的工具可以进行工作流流程的分析、建模、描述和归档等工作。为这些工具提供公共的流程交换格式,以支持在这些不同的产品之间传送工作流流程定义。此外,接口1还定义了设计环境与运行环境之间交换的规范,以使不同的建模工具产生的流程定义可以输入到不
21、同的工作流产品的运行环境中。,过程定义信息间的互相转换,使用标准的过程定义格式有很多好处,首先,把建立阶段与运行时期环境进行了分离,可以使用一个建模工具来产生过程定义,这个过程定义可以作为很多个不同工作流运行时期产品的输入。从而用户可以单独地选择建模工具和工作流运行时期产品。其次,可以为几个工作流引擎输出过程定义,这几个工作流引擎合作来构成分布式的工作流执行服务器。,WFMC在过程定义作了两方面的工作,提出了一个元模型,可以用来表示过程定义中的对象、对象间的关系和属性。这个元模型为不同的产品间的过程定义相互转换奠定了基础,并形成了一套转换格式。定义了工作流系统间或工作流系统与过程定义产品间的A
22、PI调用,提供了公共的方法来访问工作流过程定义。访问可能是读、读/写或者只写操作,并且操作标准对象集合(在元模型中定义的对象集合),或者产品自己的对象集合。,基本元模型,所谓元模型一般是指描述模型的模型。这里的工作流模型的元模型是用来描述工作流模型内在联系的模型。它用于描述工作流模型内部包含的各个元素、元素之间的关系及元素的属性。这个元模型有利于建立可以在多个工作流产品之间交换信息的模型。WFMC开发了一个过程定义的元模型。元模型中定义了基本的对象类型集,来满足简单的过程定义相互转换。或者有开发者具体扩展,或者在增加的功能中定义另外的一直性级别来增加更多的对象类型。,基本元模型,工作流类型定义
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WFMC 参考 模型
链接地址:https://www.31ppt.com/p-2838962.html