工作流联盟WfMC规范

上传人:shi****01 文档编号:138990756 上传时间:2022-08-22 格式:DOC 页数:41 大小:708.50KB
返回 下载 相关 举报
工作流联盟WfMC规范_第1页
第1页 / 共41页
工作流联盟WfMC规范_第2页
第2页 / 共41页
工作流联盟WfMC规范_第3页
第3页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Hnknj four e Rugiii卩巧 Wflit工作流管理联盟规范工作流管理联盟工作流标准工作流过程定义接口XML过程定义语言文档号: WFMC-TC-1025文档状态:草案1.0()2002.07.31Version 1.0 ()版权2002工作流管理联盟All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in an y form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior written permission of the Workflow Management Coalition except that reproduction, storage or transmission without permission is permitted if all copies of the publication (or portions thereof) produced thereby contain a notice that the Workflow Management Coalition and its members are the owners of the copyright therein.Workflow Management Coalition2436 N. Federal Highway #374 Lighthouse Point, Fl 33064 USA Tel: +1 954 782 3376 Fax: +1 954 782 6365 Email: WWW:目录工作流管理联盟工作流标准 1工作流过程定义接口 1 XML 过程定义语言 11. 历史 72. 读者 83. 目的 84. 介绍 84.1. 一致性 94.2. 参考资料 95. 过程定义交换概述 95.1. 过程定义交换方法 10图 5-1:流程定义交换的概念 106. 元模型 11图 6-1:元模型顶层实体 116.1. 实体概述 116.1.1. 工作流过程定义 116.1.2. 工作流过程任务(活动、步骤) 116.1.4. 工作流参与者说明 126.1.5. 资源库 126.1.6. 工作流应用说明 126.4.1. 工作流相关数据 126.4.2. 系统及环境数据 126.4.3. 数据类型与表达式 126.2. 流程和包 136.3. 过程元模型 13图 6-3 :工作流过程定义元模型 146.4. 包元模型 14图 6-5: 包定义元模型 146.4.1. 过程仓库 156.4.1.1. 重新定义及其范围 156.5. 元素概览 15表 6-1:元素概览 166.5.1. 开发商或用户特殊的扩展 176.5.1.1. 扩展属性 176.5.1.2. 扩展的参数映射 177. XML 过程定义语言( XPDL ) 177.1. 多实体的公共元素 177.1.1. 扩展属性 17表 7-1:扩展属性属性 177.1.2. 形式化参数 18表7-3:形式化参数 属性 187.1.2.1. 参数传递语义 187.1.2.2. 同步语义 197.1.2.3. 形式化实参映射 197.1.3. 外部引用 19表7-5 :外部引用一一属性 197.1.3.1. Web Services 197.2. 包定义 20表 7-7:包定义属性 217.2.1. 包头定义 21表7-9 :包定义头 属性 227.2.2. 可重新定义头( Redefinable Header ) 22表7-11 :可重定义的头-属性237.2.3. 适应类型声明( Conformance Class Declaration ) 237.2.4. 脚本 23表7-15 :脚本-属性247.2.5. 外部包引用 24表7 -16:外部包引用-属性247.3. 工作流应用声明 24表7-18 :工作流应用声明-属性257.3.1. 调用参数 257.4. 工作流过程定义 25表 7-20:工作流过程定义 属性 277.4.1. 工作流过程定义头 27表7 -22:工作流过程定义头 -属性287.4.2. 工作流过程可重定义头 28表 7-24 :工作流过程可重定义头 属性297.4.3. 任务组(集) 29表 7-26 :任务组 307.5. 工作流过程任务 30表 7-2: 实体类型与不同任务类型间关系 31Figure 7-1: 任务结构及转移条件 31表 7-29:过程任务属性 337.5.1. 路由任务 337.5.2. 块任务 337.5.3. 执行控制属性 33表7-31:执行控制属性347.5.4. 实现选择( Implementation Alternatives ) 34表7-33:执行选定属性 357.5.4.1. 无实现( No Implementation ) 357.5.4.2. 工具( Tool) 35表 7-35 : Tool 属性367.5.4.3. 子流程( subflow ) 36表7-37:子流程属性 367.5.5. 执行者的关系 377.5.6. 截止期限(最终期限) 37表7-3:截止期限387.5.7. 仿真信息 39表7-4:仿真信息属性 407.5.8. 转移约束(限制) 40表7 -42 :转移约束属性 407.5.8.1. 接合( Join) 40表7-4:接合属性 407.5.8.2. 分叉 4 1表7 -4:分叉 - 属性 417.5.9. 适应性类型( Conformance Classes ) 427.6. 转移信息 42表 7-49:转移信息属性 437.6.1. 条件 43表7-51:条件属性 447.6.1.1. 异常条件 447.7. 工作流参与者 44表 7-53 :工作流参与者 属性 457.7.1. 参与者实体类型 45表 7-55 :参与者实体类型 属性 467.8. 工作流相关数据 46表 7-57 :工作流相关数据 属性 477.9. 数据类型 47表 7-59 :标准数据类型 487.9.1. 基本数据类型 48表7 -61:基本数据类型属性 497.9.2. 复杂数据类型 497.9.2.1. Schema Type 497.9.2.2. 记录类型( Record Type) 50表7-63 :记录类型-属性507.9.2.3. 联合类型( Union Type ) 50表 7-65:联合类型 507.9.2.4. 枚举类型 50表 7-67 :枚举类型 属性 517.9.2.5. 数组类型( Array Type ) 51表 7-69 :数组类型 属性 517.9.2.6. 列表类型( List Type) 51表 7-71 :列表类型 属性 517.9.3. 声明的数据类型( Declared Data Types ) 517.9.3.1. 类型声明( Type Declaration ) 51表7-73:类型声明527.9.3.2. 声明的类型( Declared Type ) 52表7-7438 :声明的数据类型-属性 538. 样本工作流( SAMPLE WORKFLOW ) 538.1. 过程( THE PROCESSES) 538.1.1. EOrder 主流程( The EOrder Main Process ) 53图 8-1 : EOrder 主流程 548.1.2. CreditCheck 子流程 54图8-2:信用校验子流程( CreditCheck Subprocess) 548.1.3. FillOrder 子流程( The FillOrder Subprocess ) 54图 8- : FillOrder 子流程 558.2. 类型声明( TYPE DECLARATIONS ) 558.3. 扩展属性( EXTENDED A TTRIBUTES) 578.4. 外部引用( EXTERNAL REFERENCES) 588.5. 样本 XPDL ( SAMPLE XPDL ) 586.4.1.1. 历史版本 0.10 -编者:Roberta Norin ()、Contributors: Seth Osher (Intuitive Products InternationalCorp. ) 及 Robert Shapiro (Cape Visions).从模式中去除InlineBlock和BlockName元素。从规范中去除 BlockName元素。在模式和规范中增加 ActivitySets 和BlockActivity 元素。 在模式中去除任务的 maxOccurs 属性。在模及规范中增加 Deadline 元素。将Deadline加入工作流示例中。以UML图表置换参照元模型。在XPDL中增加WEB Service 定义描述的章节。版本 0.09 -编者:Roberta Norin () 增加第 8 章工作流示例。版本 0.08 -编者:Roberta Norin ()投稿人:Mike Gilger (Identitech)从 WorkflowProcess 中去除 DataTypes 。 在 BasicType 中增加 BOOLEAN 和 PERFORMER。 从模式中去除 PlainType 元素。 从 DataTypes 中去除 PlainType 参照。增加 Script 元素。在 Package 中增加 Script 元素参照。 Removed left over references to LOOP in Conformance class and transition discussions.在7.6.1 节完善条件表。 在7.6节增加对 loops 的讨论。版本 0.07 -编者:Roberta Norin () 重新确定 DataTypes 元素 (which was not being used) 为 xsd:group ,包含所有数据类型的 引用;无论何处,重复的数据类型列表都引用该组。校订 Data Types 章节强调用 SchemaType 定义复杂数据,阐明 TypeDeclarations 的效用, 利用 DataTypes 组进行简化。将SchemaType的讨论移入复杂数据”类中。版本 0.06 -编者:Roberta Norin () 在 WorkflowProcess 中增加 AccessLevel 属性; 在 Participant 中增加 ExternalReference 属性; 从WorkflowActivity/Implementation中去除 Loop 实现;去除 Loop 元素; 从 Transition 中去除 Loop 属性; 从图 7.1 中去除 Loop 任务;在模式设计中增加 TargetNamespace (.xsd )。在引用XPDL元素时使用xpdl命名空间前缀; 在所有 数据类型 列表中增加 SchemaType 和 ExternalReference ;重新安排所有 数据类型 的排列顺序,所以原有复杂类型的声明在选择列表的最后;去除WorkflowProcess Activity下关于参数的多余讨论,转入 7.1.2节形式参数 中;补上了第 7章表中遗漏的文字。版本 0.04 -编者:Mike Marin ( mmarin )和 Roberta Norin ()合并修正五月份 WfMC 会议的讨论结果;本版本中用XML Schema代替DTD来描述XPDL ;增加外部引用 (External References ), 提供一种和 WEB Service(WSDL) 及其它外部定 义交互的方法;增加 模式类型( Scheme Types ) ,以便利用 XML 的 schema 定义复杂类型; 在路径中引入 “异常” 概念。版本 0.02/0.03 -编者:Mike Marin ( mmarin )在2001年5月34日纽约会议期间, 基于工作组的研究作改变。 本版本从 Roberta Norin (AP Engines) 、Robert Shapiro (Cape Visions) 以及纽约会议期间所有其他工作组的参与者那里 引入重要的内容。版本 0.01 -编者:Mike Marin ( mmarin )初始版本。6.4.1.2. 读者本文档的预期读者是主要致力于工作流管理联盟 (WfMC) 的“ XML 过程定义语言 (XPDL )” 实现的开发组织, 那些致力于评价自己产品适应性的开发商可能也有兴趣。 解释权归工作流联 盟( WfMC )所有。6.4.1.3. 目的作为其标准化计划的一部分, WfMC 已确定了 5个工作流服务的功能接口。本规范形成了和 “接口一”相关的文档部分支持“过程定义输入和输出。该接口包含一个用于描述过程定义 的公共元模型 (本规范 )和一个用于过程定义交换的 XML 模式( schema)。6.4.1.4. 介绍许多不同的工具可用于业务过程的分析、建模、描述及建档。工作流过程定义接口定义了一个公用的交换格式,它支持不同产品工作流过程定义之间的转换。该接口也定义了开发和运行环境之间的形式区分,使得由一种建模工具产生的过程定义, 可以作为许多不同工作流运行产品的输入。由一个构造工具生成的工作流过程定义,能被不同的工作流运行产品解释。过程定义在产 品之间转换,或者存储在一个分离的资源库中,通过公用的交换格式访问。 提供一种描述及访问已建立的工作流定义和工作流过程元数据模型的公共方法。该元数据模型 确定过程定义中共同使用的实体(entities)。许多属性描述该有限实体集的特征。基于该元数据模型,开发者的特定的工具能借助公共交换格式转换模型。XPDL 的关键基础之一是其用于各种工具处理信息的扩展性。XPDL 可能从不支持各种工具要求的额外信息。 基于工作流过程定义中描述的有限数量的实体(“最小元模型” ), XPDL 支持许多不同的方法。XPDL 最重要的基础之一是在公共表示方法中使用的支持开发商特殊属性的一般结构。有关缺少的属性将提议 WfMC 接口一工作组在未来的版本中加入。本文档描述了用于定义过程定义内所含的对象及其属性的元模型, XPDL 语法直接和这些对 象及其属性相关。这方面需要开发商提供两个操作:从 XPDL 输入工作流定义。从开发商的内部表示法输出为 XPDL 。开发者可用一 XSL 格式单实现这两个操作。规范中所用的关键词和术语都源自 WfMC 的术语表。在本文档中,术语 流程定义 、 业务流程模型 和 工作流模型 均表示同一概念,因此它们可交 互使用。6.4. 一致性开发商不能声称符合本规范或其它任何规范,除非取得 WfMC 的明确授权。对于那些通过WfMC 制订的可用性测试规程鉴定的、开发商关于公布规范的实现, WfMC 仅承认这些许可。流程定义输入 /输出的适应性本质上基于和XPDL 语法的一致性。 然而,存在一个 XPDL 必须支持的强制最小对象集,如本文档中所定义。但是,给于建模工具宽广的适应能力,是假设个 别工具符合规范,却不能和其它符合规范的产品交换全部定义。一个符合规范的产品必须生成 有效的、语法正确的 XPDL ,且能读取所有有效的 XPDL 。6.4. 参考资料下列是和本文档相关的文档,应作为参考资料。综合背景资料:WfMC 名称术语 (WfMC-TC-1011)WfMC 参考模型 (WfMC-TC-1003)WfMC API 规范,含如下过程定义操作 API :WfMC 客户端应用 API 规范 (WAPI) (WfMC-TC-1009)WfMC 过程定义交换 -过程模型(WfMC-TC-1016-P)工作流过程协同工作能力,用于支持远程工作流服务的过程调用:工作流协同工作能力-抽象规范(WfMC-TC-1012)协同工作能力-Internet E-mail MIME 绑定(WfMC-TC-1018)辅助文档:资源模型 (机构模型: WfMC TC-1016-O)6.4.1.5. 过程定义交换概述过程定义 的定义如下:是一个业务过程支持自动化操作的形式化表现,诸如一个工作流管理系统所进行的模型建 立、规则制订。过程定义由任务网络及其关系,过程开始和终止的条件,任务资源,诸如参与 者、相关的IT应用及数据等组成(WfMC 术语-WfMCTC- 1011)。过程定义提供一个关于过程的丰富描述环境,可作如下用途: 在制订流程期间作为创建流程和流程实例控制的模板。 用于仿真和预测。作为流程监控和分析的基础。用于建立文档,形象化和知识管理。流程定义可包含作为整个流程组成部分的独立子流程的引用。初始流程定义将至少包含流程初始化和支撑流程运行的必须的最小对象和属性集。某些对 象和属性将被创建的流程实例所继承。在WfMC术语表中的流程定义,同样包含关于流程的描述、公共名词、流程定义中具体的 基本概念(诸如任务,工作流相关数据及参与者等)。6.5. 过程定义交换方法本规范以XML作为流程定义交换的机制。XPDL成为公共交换标准,使得产品继续支持任意的内部流程定义表示方法,通过import/export功能穿过产品边界映射到标准或从标准映射。多种不同的机制可用于依据业务情况在系统之间转换流程定义数据。在各种情况下,流程 定义必须被表示为一致的形式一一由表示其基本概念的公共对象集,关系和属性导出。过程定义交换的原理以图 5-1表明:流程定义交换的概念。Met*-ModelCom mon Ohjeci f rtrlbmts Semantics anil lisag*9 11a 1KbLUI A PPI.ICAT1O|is- rtr 11 ili i 1CALLITCnJbtl卜11 lll:HWNF .*&11X citdor- 11讥 NiwlIMmRI /EXrORT LAI F.RA end or- viidor-hlmmll1P()R r FtFOkl LAY THIMFORT / KXrORT LAYKRXPDISiniuhtii)n Eniruikxerution Kngiru1Mnn itori ng Engine图5-1:流程定义交换的概念6.4.1.6. 兀模型元模型描述过程定义中包含的顶层实体, 它们的关系及其属性(含有一些用于仿真和监控而 非流程制定的关系及属性);也定义了各种各样与过程模型相关的分组过程约定,以及跨各种不 同过程定义或模型的公共定义数据的使用。顶层实体如下图所示:1图6-1 :元模型顶层实体上述每一实体,都有一描述其特征的相关的属性集。后续章节将更详细的叙述这些实体及 其属性。6.6. 实体概述元模型确定用于 过程定义 交换的基本实体集。顶层实体如下所述:6.5.6. 工作流过程定义过程定义实体提供流程内用于其它实体的上下文信息。它是流程自身及其提供管理相关信 息(创建日期、作者等),以及流程运行期间有关信息(初始参数、执行的优先级、校验的时 限,通报的人、仿真信息等)的容器。6.5.6. 工作流过程任务(活动、步骤)过程定义由一个或多个任务组成,每个任务是流程内一个独立的逻辑工作单元。一个任务表示由一个资源组合处理的操作 (由参与的任务指定)与/或 计算机应用(由参与的应用指定)。其 它可选信息与任务有关,诸如由工作流管理系统自动地确定的关于是否启动/完成的信息,或相对于其它任务竞争资源的优先级,亦或系统服务的发生等,也可以定义工作流任务相关数据的 特定用法。对于确定的流程定义,任务的范围是局部的(即使是下述的关于子流程任务的描述)。任务可以是一子流程 一一既然如此,对于一个(独立定义的)流程定义的执行,它是一个 容器,该独立流程可能在同一工作流服务内本地运行,或(可能使用过程协作接口)是一个远 程服务。 子流程内的过程定义包含其自身的任务、 内部转移 (迁移, 连接) 资源及应用分配 (尽 管这些可从公共资源继承)定义。In-和out-参数允许调用和被调用流程间交换必要的工作流相关数据。任务可以是一 Block 任务任务集合, 或者任务及转移的映射 。任务集内的任务和转移和 所属流程共享命名空间。最后, 虚拟任务是一骨架任务 ,它的完成没有操作处理(因之无相关资源或应用),仅简 单用于在进入转移与 /或流出转移中作路径判别。7.2.1. 工作流参与者说明它提供了流程定义中可作为各类任务执行者的资源的描述。指派完成一特定任务的特殊资源被定义为任务的一个属性,以及将任务和可分配给它的资源集联系起来的参与者设定。工作 流参与者的声明不必是一个人,也可以确定为一组具有一定技能或责任的人、或非人的机器自 动机资源。元模型包含一些可定义为工作流参与者的简单资源类型。7.2.2. 资源库资源库说明参与者可以是人、程序或机器。在更复杂的流程中参与者的声明可以引用资源库,在参与者是人时可以 组织模型 。应指出的是本规范未定义或要求资源库。7.2.3. 工作流应用说明它提供IT应用的描述,或工作流服务支持的,亦或完全自动化的、与每个任务相关的处理、 任务内由一应用设定属性(或属性集)确定的可调用接口的描述。这样的应用可以是普通的行 业工具 ,企业内确定的服务部门,或工作流管理系统框架内实现的本地过程。工作流应用定义反映出工作流引擎与应用或接口,包括任意传递参数之间的接口。7.2.4. 工作流相关数据它定义在流程运转期间各个流程实例内创建及使用的数据。在流程运转期间,该数据对任务或执行的应用有效,且用于在任务间与/或 为条件表达式计算(诸如转移或参与者设定)传递持久化信息或中间结果。 工作流相关数据是特殊类型。 XPDL 包含各种各样基本及复杂数据类 型的定义(包括date, string等)、任务、调用的应用 与/或转移条件可引用工作流过程相关数据。7.2.5. 系统及环境数据是指由工作流管理系统或局部系统环境维护的数据,但可被工作流任务访问,或被工作流管理系统以与工作流相关数据同样的方式在计算条件表达式时使用。7.2.6. 数据类型与表达式元模范 (及与 XPDL 相关 )采用了许多标准数据类型 (string, reference, integer, float, date/time, 等); 这些数据类型和工作流相关数据、系统或环境数据,亦者参与者数据有关。表达式可以由 这些数据类型形成以支持条件计算。 数据类型可以通过用 XML Schema 或外部来源中定义的数据 引用进行扩展。6.6. 流程和包如同在上述图表所示,过程模型包含各种各样的实体一一其范围较单一的过程定义广泛。 特别是参与者、应用及工作流相关数据的定义可以从许多过程定义中引用。元模型假定使用和 工作流管理系统相关的、拥有各种各样类型构成过程定义实体的共用过程定义库。在公共定义 库本身内以及支持对将流程定义数据从定义库内高效的转入 /转出的支持,引入概念“包”,作 为源自许多不同过程定义共用数据实体分组的容器,以免在每一单独的过程定义内重新定义。“包”提供一个容纳来自工作流过程定义实体(作者 ,版本 ,状况 ,等等 )的许多公共属性的容器。包内包含的每一过程定义将自动继承源自包的任何公共属性,除非它们在过程定义中分别 进行局部重新定义。在一包内,一些实体的定义范围是全局的,包内所含的工作流过程定义(以及与之相关的任务和转移 )都可引用这些实体。这些实体是:工作流参与者定义工作流应用声明工作流相关数据包引用允许在包内使用,或在引用的外部包中所引用的顶层实体中包含的对象内使用: 子流程引用的流程标识工作流参与者定义工作流应用声明 为达到任何必要的全局唯一性,在同一资源地址空间内跨不同包的命名和标识符管理规范 由用户 /开发商自己定义。在流程指定期间,采用的规范是按下述搜索顺序作名称引用:流程标识 首先在同一流程模型内 (包括任何在不同服务中远程运行的流程定义应用),然后在任一引用的外部流程模型内。应用 /参与者 首先在同一流程模型内,然后在任一引用的外部模型内。在包内工作流相关数据命名必须是唯一的;这些数据是作为参数在过程之间传递的,在本版本的规范中, 将使用语义复制。 过程设计者 /管理者的剩余责任就是在支持子流程操作 (包含任何 所需的远程过程互用性 )的过程定义 /模型内保证一致的名称 /数据类型用法。6.6. 过程元模型为了过程定义交换,元模型确定了基本实体和属性集。关于 过程定义 下述实体必须定义, 或者明确地在过程定义层,或者直接继承,亦或从环境包中交叉引用:工作流过程任务转移信息工作流参与者定义工作流应用声明工作流相关数据1图6-3:工作流过程定义元模型这些实体包含支持流程公共描述机制的属性,它们将在后续的章节中予以叙述。64包元模型多过程定义结合在模型定义中。包作为分组的容器一一许多独立的过程定义,与之相关的实体数据一一适用于所有包含的过程定义(以及仅有一次需求的定义)。包的元模型包含如下实体类型:工作流过程任务转移信息工作流参与者定义工作流应用声明工作流相关数据*实体可在工作流过程定义中重新定义 图6-5:包定义元模型包的元模型确定了的用于交换、存储及过程模型的实体和属性。它规定了将单个流程和对 参与者定义、应用声明及工作流相关数据的实体定义联系起来的各种各样的继承规则,可以在包一级定义而非在单个过程定义级被定义。包定义 允许定义许多共用过程定义属性,这些属性适用于包内所含的所有单一过程定义, 这样的属性也可以从单个过程定义删除(如果它们在单个过程定义级被重新设定,则这一局部 属性值优先于包级定义的公共值)。7.3.1. 过程仓库过程定义 导入 /导出接口采用 放到/取自 一与工作流管理系统相关的某种形式的工作流定 义库的操作。导入 /导出接口由放入或取出定义库含有XPDL 的交换文件实现。这个接口定义允许在单过程定义级与包级导入/导出过程定义数据。定义库和工作流控制功能之间的内部接口由开发商自行定义,不作为本标准的一部分,而 采取将静态仓库用法(对于持久化数据,在建的过程定义数据)与动态仓库用法(对于在运流 程实例的变化管理)分离 (例如通过版本控制 ) 的方式。过程定义库的本地存储结构不是 WfMC 标准的组成部分。包的应用仅是旨在简化可复用数 据结构的导入 / 导出。采用简单的过程仓库结构,单一的过程定义级操作,在一导入包内的共享 信息在导入接口中可以被复制到每一独立过程定义(对于过程定义导出类似于重新打包)。7.4.2. 重新定义及其范围由于重新定义属性、元模型实体和外部予以包的可能性,将范围和层次基理引 XPDL( 和过 程库 )结构中。(i)工作流相关数据工作流过程有关数据具有一个被环境元模型实体直接定义的范围, 且是非嵌套的, 其可见性也 由该实体定义。(ii)属性 属性包含扩展属性具有一个被环境元模型实体直接定义的范围,且是非嵌套的,亦即在在 一较低级别可被重新定义。例如:名称属性在每一实体中被重新定义。扩展属性标识符的可见 性在特定的实体内及所有子实体内,除非子实体内该标识符被重新定义。(iii)工作流参与者和工作流应用 工作流参与者及工作流应用具有等价于扩展属性的范围和可见性,所有被引用的工作流相 关数据及其扩展属性在其使用范围内必须定义,至少在同一包内。对于一被引用的需自身对实体引用的外部包以及在其外部包中定义的标识符条目,该机制 从包的根开始。如此一来保证不发生冲突一一若调用的过程以同一ID拥有同一实体,被引用包的定义却不知道。 所述的关于外部包的机制为工作流的设计者和管理人员提供了高灵活性。可以将机构描述(参 与者实体)和过程定义分放在不同的模型中,可以增加新版本的过程描述,或添加新版本的过 程定义,共享以前定义的其余定义部分和交换模型,而无需重新提交全部上下文等。7.5. 元素概览下表给出 XPDL 内定义的主要元素概览:第一行包含所有所有主要元素的公共属性及元素。 所有主要元素具有 id、name、Description 和 Extended Attributes 属性; 第二行主要元素各自的特有属性; 第三组有可能的对其它元素的引用组成;Docume ntation和Icon元素包含执行引擎使用的表现信息;第五组包含流程仿真和流程优化信息(BPR-相关信息)。更多的元素和预定义属性可加入模型中以便建立未来的适应性标准。所有元素的简短描述 和语义在后续章节中给出。PackageWorkflow ProcessActivityTran siti onApplicati onData (workflow Releva ntData)Participa n tIdIdIdIdIdIdIdNameNameNameNameNameNameNameDescriptionDescriptionDescriptio nDescriptionDescriptionDescriptionDescriptionExtended AttributesExtended AttributesExtended AttributesExtended AttributesExtended AttributesExtended AttributesExtended AttributesXPDL VersionCreation DateAutomati on ModeData TypeParticipant TypeSource Vendor IDVersionSplitCreation DateAuthorJoinVersionCodepagePriorityAuthorCountry KeyLimitCodepagePublication StatusStart ModeCountry KeyPriorityFinish ModePublication StatusLimitDeadlineCon forma n ce ClassValid FromDatePriority UnitValid To DateResponsibl eParametersPerformerConditionParametersInitial valueResponsibl eToolFromSubflowToActivityS etExternal PackageActual ParameteDocument ationDocumentat ionDocumen tation-IconIconIconCost UnitDuration Uni tCostDurationDurationWaiting .TimeWaiting TimeWorking TimeWorking Time表6-1:元素概览7.5.1. 开发商或用户特殊的扩展虽然元模型及其相关的 XPDL含有大多数在流程交换中需要的结构,但可能有开发商或用户定义的需包含在过程定义中的补充信息。应鼓励开发商和用户尽可能在标准实体/属性集内工作;下述的支持扩展的机制提供用于交换目的的表述扩展的标准方法,但可能在制定流程期间 要求局部系统提供任何相关的运行时支撑。扩展属性支持扩展的主要方法是使用扩展属性。扩展属性是开发商或用户定义的属性一一必要的、 需在系统间交换的,表述附加实体的特征。在制定流程期间,任何与扩展属性使用相关的运行 时语义分别定义,且需要工作流服务导入方和导出方的双边协定。扩展的参数映射本规范中未定义解码的 Scheme和参数数据传递的特殊细节。有关远程子流程调用的参数传 递方法见 工作流互操作规范(接口 4),该规范用于具体语法说明内所用操作的参数映射(例如wf-XML 交换)。任何参数映射的本地方案(local scheme)及解码由开发商给于自己的产品定 义的,不在本规范范围内。6.4.1.7. XML过程定义语言(XPDL)6.7. 多实体的公共元素6.5.7. 扩展属性扩展属性 可用于所有实体。允许开发商扩展本规范的功能以便满足个别产品的需要。开发 商可在ExtendedAttribute中加入自目录。xsd:element name=ExtendedAttribute J描述Name用于确定扩展属性Value特定产品要求的值表7-1:扩展属性一属性7.12形式化参数形式化参数可用作工作流过程和工作流应用的属性,它们在调用期间及控制返回时被传递 (e.g. 调用应用)。如下是调用参数:描述Datatype形式化参数的类型,见7.9节Descriptio n形式化参数的文本表述ID参数的标识符In dex参数的索引ModeIN输入参数OUT输出参数INOUT输入输出参数表7-3 :形式化参数 一属性参数传递语义参数传递语义定义如下:任一只读形参(IN)调用时由相应实参(一表达式)初始化,此即 传值(pass-by-value)语义。任一读/写形参有相应的实际传递实参初始化,实参必须是工作流相关数据实体的标识符。在过程完成时,形式化输出参数的之值被拷回原实参中(必须是工作流相关数据实体的标识符)。此即拷贝恢复语(copy-restore)义任意只写形参(OUT)被初始化为零值(字符串将设为空串,复杂数据类型将每个元素设为零)。在过程完成时,形式化输出参数被拷贝回原实参中(必须是工作流相关数据实体的标识 符)。此即零恢复(zero-restore)语义。7.1.22同步语义拷贝和恢复被处理为原子操作;为避免流程实例中对工作流相关数据并行操作的冲突,这些操作是串行的。在返回调用时,若拷贝和恢复间没有加锁,返回参数值将冲掉局部值(特定工作流相关数据项。形式化实参映射调用时从实参到形参的映射由一参数映射列表定义。实参按顺序一对一映射到形参,亦即 第一个实参映射到第一个形参,第二个实参映射到第二个形参等。定义中要求类型兼容,运行 时工作流系统可强制转换,例外情况是局部定义的,非本规范组成部分。当实参是一表达式时 表达式被工作流引擎求值并缓冲,缓冲区的目录被用于形参-实参映射。如何完成缓冲和映射 超出本文档范围。外部引用外部引用(ExternalReference)是对外部定义实体的引用,可用于数据类型、参与者及应用。 描述Locatio nURINamespace定义的实体范围说明xref外部文档中实体身份的说明表7-5:外部引用一一属性例1 :由一 XML scheme 定义的 FormalParameter: FormalParameter Id=POP0 specificati on for v/Descriptio n例2:由Java类定义的DataField :P0 specificati on for Web Services过程的一个任务可以调用一 web serviceo ExternalReference元素可用于由 WEB Service文档(WSDL )定义的应用和数据类型的引用。例3:数据类型由 WSDL文档中定义的DataField :DataField ld=abcPO Name= ” abcPurchaseOrder ” lsArray= ” False ” 例4: WSDL文档中的一个应用被定义为一个操作:7.2.包定义在一包内定义几个过程是可能的,共享同样的工具及参与者。建议每个业务过程创建一包,其中包含所有必要的工作流过程以及与之相关的工具和工作流参与者,虽然并非必需的。也可 以在一包内只定义一个过程定义的一部分或几个过程的公共部分(例如一工作流参与者清单或工作流应用清单)。 xsd:eleme nt ref=xsd:eleme nt ref=“ xpdl:RedefinableHeader minOccurs=0/“ xpdl:C on forma nceClass min Occurs=O/xsd:eleme nt ref=xsd:eleme nt ref=xsd:eleme nt ref=xsd:eleme nt ref=xsd:eleme nt ref=xsd:eleme nt ref=xsd:eleme nt ref= “ xpdl:Exter nalPackages minO ccurs=0/“xpdl:TypeDeclarations minOccurs=0/“ xpdl:Participa nts minO ccurs=0/“xpdl:Applications minOccurs=0/“ xpdl:DataFields mi nOccurs=O/“ xpdl:WorkflowProcesses minO ccurs=0/“xpdl:ExtendedAttributes minOccurs=0/ 描述Applicati ons:工作流应用声明列表。见7.3节Con forma nce Class包中过程定义的结构限定。见7.2.3节Data Fields包中定义的工作流相关数据列表。见7.8节Extended Attributes可加入包中的开发商定义的扩展。见7.1.1节Exter nal Packages对另一定义在不同文档中的包的引用Id用于标识包Name用于标识包的文本Package Header确定包特征的一组兀素Participa nts包中用于执行流程的资源列表。见7.7节Redefi nable Header一组既可用于包又可用于流程的兀素及属性Script确定表达式中所用的脚本语言Type Declaratio ns包中所用的数据类型列表Wo
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!