WfMC工作流标准接口一课件_第1页
WfMC工作流标准接口一课件_第2页
WfMC工作流标准接口一课件_第3页
WfMC工作流标准接口一课件_第4页
WfMC工作流标准接口一课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WfMC工作流标准--接口一pjj文档简介(一)WFMC为工作流系统定义了5种接口,本文档重点介绍接口1--过程定义输入输出接口接口1包含了1个用于描述过程定义的公共元模型,以及过程定义间进行相互转化的XMLSchemaWfMC制定了一个工作流过程定义元模型,给出了一些经常用到的实体,并为这些实体制定了不同的属性-----以元模型为基础,利用公共转换格式,各种工作流软件均可对模型定义进行解释文档简介(二)XPDL是一个通用框架,无论开发者如何实现,用什么图形描述,只要外部接口符合xpdl规范,对外表示形式均相同详细参见资料 “wfmc工作流标准--接口一.pdf”, “hl--基于活动网络的工作流过程建模研究与实践.pdf”过程定义内部总览什么是过程定义:表示一种由工作流管理系统设定的自动操作为商业过程,过程定义由各种活动及相互之间的关系组成,标识了过程的开始和终止,并且包含了个体行为的信息(参与者信息,相关应用程序和数据)

WFMC术语表-WfMC-TC-1011必须采用XPDL语法来实现过程定义导入与输出的一致性,但一定要包含一个最小对象、属性集,这是过程运行所必须的。这个集合中的一些对象将被过程中的所有实例继承过程定义相互转换方法规范使用了XML作为相互转换机制。Xpdl指定了一个公共转换标准,可实现内部转换格式和公共转换标准互相映射。无论什么情况,过程定义都必须表示成基于公共对象、关系、属性集的一致性形式元模型元模型描述了过程定义所需要的上层实体,并且为过程定义划分相应的过程模型、在不同的过程定义与模型中交叉使用公共定义数据提供了多方面的协定定义了过程定义转换中需要的基本实体集上层实体图例工作流过程活动过程定义由一个或多个活动构成,一个活动代表一个需要处理的任务与活动相关的信息包括:活动是否是automatic、资源冲突时的优先级等一个活动可能是一个子流程,可能在本地执行,可能在远程执行。允许子流程包含自己的活动定义、内部转换、资源和应用程序的分配。使用输入/输出参数可以实现父流程与子流程之间必要的工作流相关数据的交互可能是一个区块活动,负责执行一个活动集,或者对转移与活动进行映射。活动集中的活动、转移共享过程的名字空间虚活动:它是一个活动骨架,不执行任务处理(因此不需要分配资源和应用程序等)。但它负责在转移间判断,选择路由转移信息每个转移(简单)有3个基本信息:源活动,目的活动和转移条件一个转移离开一个活动的相关信息(离开动作)以及这个转移进入另外一个活动的条件(进入动作),都在相应的活动中定义离开动作:在一个活动结束,转移要发生时在源活动中定义进入动作:在一个转移要结束、目标活动要开始时在目标活动中处理复杂转移需要虚活动来构造虚活动做为一些活动的中间步骤,可以把一些离开动作和进入动作联系在一起使用附加虚活动的基本转移实体,可实现任意复杂的路由结构包提出原因:过程模型中包含的实体(工作流参与者、应用程序定义、工作流相关数据定义),可能会被多个工作流定义所使用,元模型采用通用的过程定义资源库来保持各种构成过程定义的实体类型。在资源库内部,为了有效把过程定义数据导入导出,提出了包的概念包就象一个容器,对许多不同过程定义中的通用数据实体进行分组,从而避免重复定义包中存放工作流过程定义实体的公共属性(作者,版本,状态等),包中的每一个过程定义都自动继承包中的公共属性,除非在过程定义中属性被个别重新定义全程实体与包引用有的实体能被同一包中的任何工作流定义所引用,包括:

1、工作流参与者描述

2、工作流外部应用程序声明

3、工作流相关数据包引用运行使用包内对象或者所使用的外部包中的上层实体对象

1、子流程可以引用过程ID号

2、工作流参与者声明

3、工作流外部应用程序声明包内名称搜索在同一工作流中定义不同的包间使用名称、标识符管理约定,开发者可以得到唯一正确的名称与标识符名称引用默认搜索顺序: 过程ID号、外部应用程序、工作流参与者--先在同一模型搜索(包括非本地的过程),然后是外部参考模型中搜索工作流相关数据的命名在一个包中必须唯一过程元模型 为工作流定义转换定义了基本的实体集和属性集。下列实体是必须被定义,或从包中继承,或通过包的交叉引用工作流过程活动转移信息工作流参与者声明工作流外部应用程序声明工作流相关数据包元模型 包对单独的过程定义及其相关实体数据进行分组,这些数据适合这个过程所包含的所有过程。包元模型中包括下列实体:工作流过程定义工作流参与者声明工作流外部应用程序声明工作流相关数据元素总览XPDL中定义的主要元素:

1)所有主要元素的通用属性和元素

2)每个主要元素的特有属性

3)需要参考其他元素的元素

4)文档和图表元素,包含需要的描述信息

5)过程模拟、过程优化的相关信息开发者扩展属性扩展属性: 由开发者定义的属性,描述在系统间交互的实体特性,需要单独定义,并且在过程定义的导出和工作流服务器导入方需要达成一致扩展参数映射: 规范中没有对编译和参数传递的详细的scheme的定义。参数映射和编译局部的scheme都是由开发者自己定义的过程定义xpdl表示<xsd:elementname="WorkflowProcess"> <xsd:complexType> <xsd:sequence> <xsd:elementref="xpdl:ProcessHeader"/> <xsd:elementref="xpdl:RedefinableHeader"minOccurs="0"/> <xsd:elementref="xpdl:FormalParameters"minOccurs="0"/> <xsd:elementref="xpdl:DataFields"minOccurs="0"/> <xsd:elementref="xpdl:Participants"minOccurs="0"/> <xsd:elementref="xpdl:Applications"minOccurs="0"/> <xsd:elementref="xpdl:ActivitySets"minOccurs="0"/> <xsd:elementref="xpdl:Activities"minOccurs="0"/> <xsd:elementref="xpdl:Transitions"minOccurs="0"/> <xsd:elementref="xpdl:ExtendedAttributes"minOccurs="0"/> </xsd:sequence> <xsd:attributename="Id"type="xsd:NMTOKEN"use="required"/> <xsd:attributename="Name"type="xsd:string"/> <xsd:attributename="AccessLevel"> <xsd:simpleType> <xsd:restrictionbase="xsd:NMTOKEN"> <xsd:enumerationvalue="PUBLIC"/> <xsd:enumerationvalue="PRIVATE"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType></xsd:element>工作流过程定义主要元素传给过程的参数列表工作流相关数据列表资源列表应用程序列表活动集列表 活动集:活动、转移的自包含集,集合中转移只能与本集合中的活动相关联

组成过程的活动列表转移列表过程的访问级别活动集xpdl表示<xsd:elementname="ActivitySet"> <xsd:complexType> <xsd:sequence> <xsd:elementref="xpdl:Activities"minOccurs="0"/> <xsd:elementref="xpdl:Transitions"minOccurs="0"/> </xsd:sequence> <xsd:attributename="Id"type="xsd:NMTOKEN"use="required"/> </xsd:complexType></xsd:element>活动集定义:活动、转移的自包含集,集合中转移只能与本集合中的活动相关联与子过程的对比:

1)与子过程类似

2)活动集是在过程内部说明的,与过程中其他实体共享一个名称空间,且不能被其他过程调用。不能被异步调用

3)子流程是过程中的一个活动对另外一个独立过程调用,名称空间可以不同。过程可以被异步调用工作流活动xpdl表示<xsd:elementname="Activity"> <xsd:complexType> <xsd:sequence> <xsd:elementref="xpdl:Description"minOccurs="0"/> <xsd:elementref="xpdl:Limit"minOccurs="0"/> <xsd:choice> <xsd:elementref="xpdl:Route"/> <xsd:elementref="xpdl:Implementation"/> <xsd:elementref="xpdl:BlockActivity"/> </xsd:choice> <xsd:elementref="xpdl:Performer"minOccurs="0"/> <xsd:elementref="xpdl:StartMode"minOccurs="0"/> <xsd:elementref="xpdl:FinishMode"minOccurs="0"/> <xsd:elementref="xpdl:Priority"minOccurs="0"/> <xsd:elementref="xpdl:Deadline"minOccurs="0“maxOccurs="unbounded"/> <xsd:elementref="xpdl:SimulationInformation"minOccurs="0"/> <xsd:elementref="xpdl:Icon"minOccurs="0"/> <xsd:elementref="xpdl:Documentation"minOccurs="0"/> <xsd:elementref="xpdl:TransitionRestrictions"minOccurs="0"/> <xsd:elementref="xpdl:ExtendedAttributes"minOccurs="0"/> </xsd:sequence> <xsd:attributename="Id"type="xsd:NMTOKEN"use="required"/> <xsd:attributename="Name"type="xsd:string"/> </xsd:complexType></xsd:element>工作流活动主要元素Route虚活动,不对应实际任务执行,只负责复杂路由构造Implementation规则的活动,可能通过调用应用程序来完成或是由人工执行,也可能对应一个子流程的调用BlockActivity

执行一个活动集ActivitySet的活动Performer与工作流参与者相关联StartMode

描述如何触发活动的执行(人工触发的或是自动的)FinishMode

描述活动结束时系统如何操作(人工确认的或是自动的)Priority活动的优先级Deadline说明活动的截止期限,以及到达截止期限时要采取的动作TransitionRestriction

为与活动相关联的各转移提供进一步的约束Implementation的xpdl描述<xsd:elementname="Implementation"> <xsd:complexType> <xsd:choice> <xsd:elementref="xpdl:No"/> <xsd:elementref="xpdl:Tool"maxOccurs="unbounded"/> <xsd:elementref="xpdl:SubFlow"/> </xsd:choice> </xsd:complexType></xsd:element>元素Implementation的3种实现方式No:这是说工作流系统不能自动调用应用程序或方法来执行活动,可能的情况有两种:一种是由人工操作来完成的任务,由人工确认活动的开始与结束;另一种是工作流引擎自身知晓的任务。Tool:通过一个或多个工具来实现的活动,一般对应应用程序的调用。SubFlow:活动对应子流程的调用,子流程可以同步或异步执行。同步调用的情况下,父流程中的活动将被挂起,并等待子流程的完成,子流程终止后,活动被恢复,并可能从子流程得到一些返回参数。异步调用的情况下,子流程初始化后,父流程中的活动将继续推进,并且子流程不返回参数。转移约束TransitionRestrictionXpdl通过TransitionRestriction来表达业务流程控制中的分支、汇聚等逻辑Xpdl描述:<xsd:elementname="TransitionRestriction"> <xsd:complexType> <xsd:sequence> <xsd:elementref="xpdl:Join"minOccurs="0"/> <xsd:elementref="xpdl:Split"minOccurs="0"/> </xsd:sequence> </xsd:complexType></xsd:element>Join描述转移约束的输入转移部分Join用于描述一个活动的多个输入转移,它有两种类型:AND-Join(与汇聚)和XOR-Join(异或汇聚)AND-Join用于同步多个并发线程,即当活动的所有输入转移的条件都满足时,活动才被初始化。XOR-Join则不要求同步,只要活动的任一输入转移的条件得到满足,活动就被初始化Join的xpdl表示<xsd:elementname="Join"> <xsd:complexType> <xsd:attributename="Type"> <xsd:simpleType> <xsd:restrictionbase="xsd:NMTOKEN"> <xsd:enumerationvalue="AND"/> <xsd:enumerationvalue="XOR"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType></xsd:element>SplitSplit用于描述一个活动的多个输出转移,它同样有两种类型:AND-Split(与分支)和XOR-Split(异或分支)。但Split比Join多了一个属性TransitionRefs(转移引用),它是活动的所有输出转移的一个列表,只和XOR-Split在一起使用。AND-Split用于表达多个可能并发执行的线程,活动的所有输出转移的条件被同时计算,所以条件被满足的输出转移将同时被执行XOR-Split则从活动的所有输出转移中选择其中的一个来执行,根据各输出转移在TransitionRefs

列表中的顺序,对转移条件逐个进行计算,若条件被满足,则执行相应的转移并结束计算,否则继续判断下一个。Split的xpdl表示<xsd:elementname="Split"> <xsd:complexType> <xsd:sequence> <xsd:elementref="xpdl:TransitionRefs"minOccurs="0"/> </xsd:sequence> <xsd:attributename="Type"> <xsd:simpleType> <xsd:restrictionbase="xsd:NMTOKEN"> <xsd:enumerationvalue="AND"/> <xsd:enumerationvalue="XOR"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType></xsd:element>转移信息的xpdl表示<xsd:elementname="Transition"> <xsd:complexType> <xsd:sequence> <xsd:elementref="xpdl:Condition"minOccurs="0"/> <xsd:elementref="xpdl:Description"minOccurs="0"/> <xsd:elementref="xpdl:ExtendedAttributes"minOccurs="0"/> </xsd:sequence>

<xsd:attributename="Id"type="xsd:NMTOKEN"use="required"/> <xsd:attributename="From"type="xsd:NMTOKEN"use="required"/> <xsd:attributename="To"type="xsd:NMTOKEN"use="required"/> <xsd:attributename="Name"type="xsd:string"/> </xsd:complexType></xsd:element>转移信息(TransitionInformation)转移信息描述活动间的转移以及转移发生与否的条件。如果一个活动对应多个输入或

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论