工作流联盟wfmc规范.doc_第1页
工作流联盟wfmc规范.doc_第2页
工作流联盟wfmc规范.doc_第3页
工作流联盟wfmc规范.doc_第4页
工作流联盟wfmc规范.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 1 页 共 59 页 工作流管理联盟规范工作流管理联盟规范 工作流管理联盟工作流标准工作流管理联盟工作流标准 工作流过程定义接口工作流过程定义接口 xml 过程定义语言过程定义语言 文档号:文档号:wfmc-tc-1025 文档状态:草案文档状态:草案 1.0( ) 2002.07.31 version 1.0 ( ) 版权版权 2002工作流管理联盟工作流管理联盟 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 2 页 共 59 页 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. wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 3 页 共 59 页 workflow management coalition 2436 n. federal highway #374 lighthouse point, fl 33064 usa tel: +1 954 782 3376 fax: +1 954 782 6365 email: www: wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 4 页 共 59 页 目录目录 工作流管理联盟工作流标准工作流管理联盟工作流标准1 工作流过程定义接口工作流过程定义接口1 xml 过程定义语言过程定义语言1 1. 历史历史.7 2. 读者读者.8 3. 目的目的.8 4. 介绍介绍.8 4.1.一致性9 4.2. 参考资料 9 5. 过程定义交换概述过程定义交换概述.9 5.1. 过程定义交换方法 10 图 5-1:流程定义交换的概念10 6. 元模型元模型.11 图 6-1:元模型顶层实体11 6.1. 实体概述 11 6.1.1. 工作流过程定义.11 6.1.2. 工作流过程任务(活动、步骤).11 6.1.4. 工作流参与者说明.12 6.1.5. 资源库.12 6.1.6. 工作流应用说明.12 6.1.7. 工作流相关数据.12 6.1.8. 系统及环境数据.12 6.1.9. 数据类型与表达式.12 6.2.流程和包13 6.3.过程元模型13 图 6-3:工作流过程定义元模型.14 6.4. 包元模型 14 图6-5:包定义元模型.14 6.4.1.过程仓库.15 . 重新定义及其范围.15 6.5. 元素概览 15 表 6-1:元素概览16 6.5.1. 开发商或用户特殊的扩展.17 . 扩展属性.17 . 扩展的参数映射.17 7. xml 过程定义语言(过程定义语言(xpdl).17 7.1. 多实体的公共元素 17 7.1.1. 扩展属性.17 表 7-1:扩展属性属性17 7.1.2. 形式化参数.18 表7-3:形式化参数属性.18 . 参数传递语义.18 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 5 页 共 59 页 . 同步语义.19 . 形式化实参映射.19 7.1.3. 外部引用.19 表 7-5:外部引用属性.19 . web services20 7.2. 包定义 20 表 7-7:包定义属性21 7.2.1. 包头定义.21 表7-9:包定义头属性.22 7.2.2. 可重新定义头(redefinable header).22 表7-11:可重定义的头 属性23 7.2.3. 适应类型声明(conformance class declaration).23 7.2.4. 脚本.23 表7-15:脚本 属性24 7.2.5. 外部包引用.24 表 7 -16:外部包引用 属性24 7.3. 工作流应用声明 25 表 7-18:工作流应用声明 属性.25 7.3.1. 调用参数.25 7.4. 工作流过程定义 26 表 7-20:工作流过程定义属性27 7.4.1. 工作流过程定义头.27 表 7 -22:工作流过程定义头 属性29 7.4.2. 工作流过程可重定义头.29 表 7-24 :工作流过程可重定义头属性30 7.4.3. 任务组(集).30 表 7-26:任务组.30 7.5. 工作流过程任务 31 表 7-2: 实体类型与不同任务类型间关系31 figure 7-1: 任务结构及转移条件32 表 7-29:过程任务属性34 7.5.1. 路由任务.34 7.5.2. 块任务.34 7.5.3. 执行控制属性.34 表7-31:执行控制属性.35 7.5.4. 实现选择(implementation alternatives).35 表7-33:执行选定属性.36 . 无实现(no implementation)36 . 工具(tool)36 表7-35:tool属性.37 . 子流程(subflow) 37 表 7-37:子流程属性37 7.5.5. 执行者的关系.37 7.5.6. 截止期限(最终期限).38 表7-3:截止期限39 7.5.7. 仿真信息.39 表7-4:仿真信息属性.40 7.5.8. 转移约束(限制).41 表7 -42:转移约束属性41 . 接合( join).41 表7-4:接合属性.41 . 分叉.42 表7 -4:分叉 - 属性.42 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 6 页 共 59 页 7.5.9. 适应性类型(conformance classes)43 7.6. 转移信息 43 表 7-49:转移信息属性44 7.6.1. 条件.44 表7-51:条件属性.45 . 异常条件.45 7.7. 工作流参与者 46 表7-53:工作流参与者属性.46 7.7.1. 参与者实体类型.46 表7-55:参与者实体类型属性.47 7.8. 工作流相关数据 47 表7-57:工作流相关数据属性.48 7.9. 数据类型 48 表7-59:标准数据类型49 7.9.1. 基本数据类型.49 表7 -61:基本数据类型属性50 7.9.2. 复杂数据类型.50 . schema type 50 . 记录类型(record type).51 表 7-63 :记录类型 属性51 . 联合类型(union type)51 表 7-65:联合类型51 . 枚举类型.51 表7-67:枚举类型属性.52 . 数组类型(array type).52 表7-69:数组类型属性.52 . 列表类型(list type)52 表7-71:列表类型属性.52 7.9.3. 声明的数据类型(declared data types)53 . 类型声明(type declaration) .53 表7-73:类型声明53 . 声明的类型(declared type)54 表7-7438:声明的数据类型 属性54 8. 样本工作流(样本工作流(sample workflow)54 8.1. 过程(the processes).54 8.1.1. eorder主流程(the eorder main process).54 图8-1:eorder主流程.55 8.1.2. creditcheck子流程55 图8-2:信用校验子流程(creditcheck subprocess).55 8.1.3. fillorder子流程(the fillorder subprocess)55 图8-:fillorder子流程56 8.2. 类型声明(type declarations)56 8.3. 扩展属性(extendedattributes).58 8.4. 外部引用(external references) .59 8.5. 样本 xpdl(sample xpdl).59 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 7 页 共 59 页 1. 历史历史 版本0.10 编者:roberta norin ()、contributors: seth osher (intuitive products international corp.) 及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节形式参数形式参数中 ; wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 8 页 共 59 页 补上了第7章表中遗漏的文字。 版本0.04 编者:mike marin () 和roberta norin () 合并修正五月份wfmc会议的讨论结果; 本版本中用xml schema代替dtd来描述xpdl; 增加外部引用外部引用(external references), 提供一种和web service(wsdl)及其它外部定 义交互的方法; 增加模式类型(模式类型(scheme types),以便利用xml的schema定义复杂类型; 在路径中引入“异常异常”概念。 版本0.02/0.03 编者:mike marin () 在2001年5月34日纽约会议期间,基于工作组的研究作改变。本版本从roberta norin (ap engines)、robert shapiro (cape visions)以及纽约会议期间所有其他工作组的参与 者那里引入重要的内容。 版本0.01 编者:mike marin () 初始版本。 2. 读者读者 本文档的预期读者是主要致力于工作流管理联盟(wfmc)的“xml过程定义语言 (xpdl)”实现的开发组织,那些致力于评价自己产品适应性的开发商可能也有兴趣。 解释 权归工作流联盟(wfmc)所有。 3. 目的目的 作为其标准化计划的一部分,wfmc已确定了5个工作流服务的功能接口。本规范形成了 和“接口一”相关的文档部分支持“过程定义输入和输出。该接口包含一个用于描述过程定 义的公共元模型 (本规范)和一个用于过程定义交换的xml 模式(schema)。 4. 介绍介绍 许多不同的工具可用于业务过程的分析、建模、描述及建档。工作流过程定义接口定义了 一个公用的交换格式,它支持不同产品工作流过程定义之间的转换。 该接口也定义了开发和运行环境之间的形式区分,使得由一种建模工具产生的过程定义, 可以作为许多不同工作流运行产品的输入。 由一个构造工具生成的工作流过程定义,能被不同的工作流运行产品解释。过程定义在产 品之间转换,或者存储在一个分离的资源库中,通过公用的交换格式访问。 提供一种描述及访问已建立的工作流定义和工作流过程元数据模型的公共方法。该元数据模型 确定过程定义中共同使用的实体(entities)。许多属性描述该有限实体集的特征。基于该元数 据模型,开发者的特定的工具能借助公共交换格式转换模型。 xpdl的关键基础之一是其用于各种工具处理信息的扩展性。xpdl可能从不支持各种工 具要求的额外信息。基于工作流过程定义中描述的有限数量的实体(“最小元模型”), xpdl 支持许多不同的方法。 xpdl最重要的基础之一是在公共表示方法中使用的支持开发商特殊属性的一般结构。有 关缺少的属性将提议wfmc接口一工作组在未来的版本中加入。 本文档描述了用于定义过程定义内所含的对象及其属性的元模型,xpdl语法直接和这些 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 9 页 共 59 页 对象及其属性相关。这方面需要开发商提供两个操作: 从xpdl输入工作流定义。 从开发商的内部表示法输出为xpdl。 开发者可用一xsl格式单实现这两个操作。 规范中所用的关键词和术语都源自wfmc的术语表。 在本文档中,术语流程定义流程定义、业务流程模型业务流程模型和工作流模型工作流模型均表示同一概念,因此它们可交 互使用。 4.1.一致性一致性 开发商不能声称符合本规范或其它任何规范,除非取得wfmc的明确授权。对于那些通过 wfmc制订的可用性测试规程鉴定的、开发商关于公布规范的实现,wfmc仅承认这些许可。 流程定义输入/输出的适应性本质上基于和xpdl语法的一致性。然而,存在一个xpdl必 须支持的强制最小对象集,如本文档中所定义。但是,给于建模工具宽广的适应能力,是假设 个别工具符合规范,却不能和其它符合规范的产品交换全部定义。一个符合规范的产品必须生 成有效的、语法正确的xpdl,且能读取所有有效的xpdl。 4.2. 参考资料参考资料 下列是和本文档相关的文档,应作为参考资料。 综合背景资料: 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) 5. 过程定义交换概述过程定义交换概述 过程定义过程定义的定义如下: 是一个业务过程支持自动化操作的形式化表现,诸如一个工作流管理系统所进行的模型建是一个业务过程支持自动化操作的形式化表现,诸如一个工作流管理系统所进行的模型建 立、规则制订。过程定义由任务网络及其关系,过程开始和终止的条件,任务资源,诸如参与立、规则制订。过程定义由任务网络及其关系,过程开始和终止的条件,任务资源,诸如参与 者、相关的者、相关的it应用及数据等组成应用及数据等组成 (wfmc 术语术语- wfmctc- 1011)。 过程定义提供一个关于过程的丰富描述环境,可作如下用途: wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 10 页 共 59 页 在制订流程期间作为创建流程和流程实例控制的模板。 用于仿真和预测。 作为流程监控和分析的基础。 用于建立文档,形象化和知识管理。 流程定义可包含作为整个流程组成部分的独立子流程的引用。 初始流程定义将至少包含流程初始化和支撑流程运行的必须的最小对象和属性集。某些对 象和属性将被创建的流程实例所继承。 在wfmc术语表中的流程定义,同样包含关于流程的描述、公共名词、流程定义中具体的 基本概念(诸如任务,工作流相关数据及参与者等)。 5.1. 过程定义交换方法过程定义交换方法 本规范以xml作为流程定义交换的机制。xpdl成为公共交换标准,使得产品继续支持任 意的内部流程定义表示方法,通过import/export功能穿过产品边界映射到标准或从标准映射。 多种不同的机制可用于依据业务情况在系统之间转换流程定义数据。在各种情况下,流程 定义必须被表示为一致的形式由表示其基本概念的公共对象集, 关系和属性导出。 过程定义交换的原理以图5-1表明:流程定义交换的概念。 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 11 页 共 59 页 图5-1:流程定义交换的概念 6. 元模型元模型 元模型描述过程定义过程定义中包含的顶层实体,它们的关系及其属性(含有一些用于仿真和监控 而非流程制定的关系及属性);也定义了各种各样与过程模型相关的分组过程约定,以及跨各 种不同过程定义或模型的公共定义数据的使用。 顶层实体如下图所示: wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 12 页 共 59 页 图6-1:元模型顶层实体 上述每一实体,都有一描述其特征的相关的属性集。后续章节将更详细的叙述这些实体及 其属性。 6.1. 实体概述实体概述 元模型确定用于过程定义过程定义交换的基本实体集。顶层实体如下所述: 6.1.1. 工作流过程定义工作流过程定义 过程定义过程定义实体提供流程内用于其它实体的上下文信息。它是流程自身及其提供管理相关信 息(创建日期、作者等),以及流程运行期间有关信息(初始参数、执行的优先级、校验的时 限,通报的人、仿真信息等)的容器。 6.1.2. 工作流过程任务(活动、步骤)工作流过程任务(活动、步骤) 过程定义过程定义由一个或多个任务组成,每个任务是流程内一个独立的逻辑工作单元由一个或多个任务组成,每个任务是流程内一个独立的逻辑工作单元。一个任务 表示由一个资源组合处理的操作(由参与的任务指定) 与/或 计算机应用(由参与的应用指定)。 其它可选信息与任务有关,诸如由工作流管理系统自动地确定的关于是否启动/完成的信息, 或相对于其它任务竞争资源的优先级,亦或系统服务的发生等,也可以定义工作流任务相关数 据的特定用法。对于确定的流程定义,任务的范围是局部的(即使是下述的关于子流程任务的 描述)。 任务可以是一子流程任务可以是一子流程既然如此,对于一个(独立定义的)流程定义的执行,它是一个 容器,该独立流程可能在同一工作流服务内本地运行,或(可能使用过程协作接口)是一个远 程服务。子流程内的过程定义包含其自身的任务、内部转移(迁移,连接)资源及应用分配 (尽管这些可从公共资源继承)定义。 in- 和out-参数允许调用和被调用流程间交换必要的工 作流相关数据。 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 13 页 共 59 页 任务可以是一任务可以是一block任务任务任务集合,或者任务及转移的映射任务集合,或者任务及转移的映射。任务集内的任务和转移 和所属流程共享命名空间。 最后,虚拟任务是一骨架任务虚拟任务是一骨架任务,它的完成没有操作处理(因之无相关资源或应用),仅简 单用于在进入转移与/或流出转移中作路径判别。 6.1.4. 工作流参与者说明工作流参与者说明 它提供了流程定义中可作为各类任务执行者的资源的描述。指派完成一特定任务的特殊资 源被定义为任务的一个属性,以及将任务和可分配给它的资源集联系起来的参与者设定。工作 流参与者的声明不必是一个人,也可以确定为一组具有一定技能或责任的人、或非人的机器自 动机资源。元模型包含一些可定义为工作流参与者的简单资源类型。 6.1.5. 资源库资源库 资源库说明参与者可以是人、程序或机器。在更复杂的流程中参与者的声明可以引用资源 库,在参与者是人时可以组织模型组织模型。应指出的是本规范未定义或要求资源库。 6.1.6. 工作流应用说明工作流应用说明 它提供it应用的描述,或工作流服务支持的,亦或完全自动化的、与每个任务相关的处理、 任务内由一应用设定属性(或属性集)确定的可调用接口的描述。这样的应用可以是普通的行 业工具,企业内确定的服务部门,或工作流管理系统框架内实现的本地过程。 工作流应用定义反映出工作流引擎与应用或接口,包括任意传递参数之间的接口。 6.1.7. 工作流相关数据工作流相关数据 它定义在流程运转期间各个流程实例内创建及使用的数据。在流程运转期间,该数据对任 务或执行的应用有效,且用于在任务间 与/或 为条件表达式计算(诸如转移或参与者设定) 传递持久化信息或中间结果。工作流相关数据是特殊类型。xpdl包含各种各样基本及复杂数 据类型的定义(包括date, string等)、任务、调用的应用 与/或 转移条件可引用工作流过程相 关数据。 6.1.8. 系统及环境数据系统及环境数据 是指由工作流管理系统或局部系统环境维护的数据,但可被工作流任务访问,或被工作流 管理系统以与工作流相关数据同样的方式在计算条件表达式时使用。 6.1.9. 数据类型与表达式数据类型与表达式 元模范(及与xpdl相关)采用了许多标准数据类型(string, reference, integer, float, date/time, 等); 这些数据类型和工作流相关数据、系统或环境数据,亦者参与者数据有关。表达式可以由 这些数据类型形成以支持条件计算。数据类型可以通过用xml schema或外部来源中定义的数 据引用进行扩展。 6.2.流程和包流程和包 如同在上述图表所示,过程模型包含各种各样的实体其范围较单一的过程定义广泛。 特别是参与者、应用及工作流相关数据的定义可以从许多过程定义中引用。元模型假定使用和 工作流管理系统相关的、拥有各种各样类型构成过程定义实体的共用过程定义库。在公共定义 库本身内以及支持对将流程定义数据从定义库内高效的转入/转出的支持,引入概念“包”, wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 14 页 共 59 页 作为源自许多不同过程定义共用数据实体分组的容器,以免在每一单独的过程定义内重新定义。 “包”提供一个容纳来自工作流过程定义实体(作者,版本,状况,等等)的许多公共属性的容 器。包内包含的每一过程定义将自动继承源自包的任何公共属性,除非它们在过程定义中分别 进行局部重新定义。 在一包内,一些实体的定义范围是全局的,包内所含的工作流过程定义(以及与之相关的 任务和转移)都可引用这些实体。这些实体是: 工作流参与者定义 工作流应用声明 工作流相关数据 包引用允许在包内使用,或在引用的外部包中所引用的顶层实体中包含的对象内使用: 子流程引用的流程标识 工作流参与者定义 工作流应用声明 为达到任何必要的全局唯一性,在同一资源地址空间内跨不同包的命名和标识符管理规范 由用户/开发商自己定义。在流程指定期间,采用的规范是按下述搜索顺序作名称引用: 流程标识 首先在同一流程模型内(包括任何在不同服务中远程运行的流程定义应用), 然后在任一引用的外部流程模型内。 应用/参与者 首先在同一流程模型内,然后在任一引用的外部模型内。 在包内工作流相关数据命名必须是唯一的;这些数据是作为参数在过程之间传递的,在本 版本的规范中,将使用语义复制。过程设计者/管理者的剩余责任就是在支持子流程操作(包含 任何所需的远程过程互用性)的过程定义/模型内保证一致的名称/数据类型用法。 6.3.过程元模型过程元模型 为了过程定义交换,元模型确定了基本实体和属性集。关于过程定义过程定义下述实体必须定义, 或者明确地在过程定义层,或者直接继承,亦或从环境包中交叉引用: 工作流过程任务 转移信息 工作流参与者定义 工作流应用声明 工作流相关数据 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 15 页 共 59 页 图 6-3:工作流过程定义元模型 这些实体包含支持流程公共描述机制的属性,它们将在后续的章节中予以叙述。 6.4. 包元模型 多过程定义结合在模型定义中。包包作为分组的容器许多独立的过程定义,与之相关的 实体数据适用于所有包含的过程定义(以及仅有一次需求的定义)。包包的元模型包含如下 实体类型: 工作流过程任务 转移信息 工作流参与者定义 工作流应用声明 工作流相关数据 * 实体可在工作流过程定义中重新定义 图6-5:包定义元模型 包的元模型确定了的用于交换、存储及过程模型的实体和属性。它规定了将单个流程和对 参与者定义、应用声明及工作流相关数据的实体定义联系起来的各种各样的继承规则,可以在 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 16 页 共 59 页 包一级定义而非在单个过程定义级被定义。 包定义包定义允许定义许多共用过程定义属性,这些属性适用于包内所含的所有单一过程定义, 这样的属性也可以从单个过程定义删除(如果它们在单个过程定义级被重新设定,则这一局部 属性值优先于包级定义的公共值)。 6.4.1.过程仓库过程仓库 过程定义导入导入/导出导出接口采用 放到放到/取自取自 一与工作流管理系统相关的某种形式的工作流定 义库的操作。导入/导出接口由放入或取出定义库含有xpdl的交换文件实现。这个接口定义允 许在单过程定义级与包级导入/导出过程定义数据。 定义库和工作流控制功能之间的内部接口由开发商自行定义,不作为本标准的一部分,而 采取将静态仓库用法(对于持久化数据,在建的过程定义数据)与动态仓库用法(对于在运流 程实例的变化管理)分离(例如通过版本控制)的方式。 过程定义库的本地存储结构不是wfmc标准的组成部分。包的应用仅是旨在简化可复用数 据结构的导入/导出。采用简单的过程仓库结构,单一的过程定义级操作,在一导入包内的共 享信息在导入接口中可以被复制到每一独立过程定义(对于过程定义导出类似于重新打包)。 . 重新定义及其范围重新定义及其范围 由于重新定义属性、元模型实体和外部予以包的可能性,将范围和层次基理引xpdl(和过 程库)结构中。 (i)工作流相关数据 工作流过程有关数据具有一个被环境元模型实体直接定义的范围,且是非嵌套的,其可见性 也由该实体定义。 (ii)属性 属性包含扩展属性具有一个被环境元模型实体直接定义的范围,且是非嵌套的,亦即在在 一较低级别可被重新定义。例如:名称属性在每一实体中被重新定义。扩展属性标识符的可见 性在特定的实体内及所有子实体内,除非子实体内该标识符被重新定义。 (iii) 工作流参与者和工作流应用 工作流参与者及工作流应用具有等价于扩展属性的范围和可见性,所有被引用的工作流相 关数据及其扩展属性在其使用范围内必须定义,至少在同一包内。 对于一被引用的需自身对实体引用的外部包以及在其外部包中定义的标识符条目,该机制 从包的根开始。如此一来保证不发生冲突若调用的过程以同一id拥有同一实体,被引用包 的定义却不知道。 所述的关于外部包的机制为工作流的设计者和管理人员提供了高灵活性。可以将机构描述(参 与者实体)和过程定义分放在不同的模型中,可以增加新版本的过程描述,或添加新版本的过 程定义,共享以前定义的其余定义部分和交换模型,而无需重新提交全部上下文等。 6.5. 元素概览元素概览 下表给出xpdl内定义的主要元素概览: 第一行包含所有所有主要元素的公共属性及元素。所有主要元素具有 id、name、description 和 extended attributes属性; 第二行主要元素各自的特有属性; 第三组有可能的对其它元素的引用组成; documentation和icon元素包含执行引擎使用的表现信息; wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 17 页 共 59 页 第五组包含流程仿真和流程优化信息 (bpr-相关信息)。 更多的元素和预定义属性可加入模型中以便建立未来的适应性标准。所有元素的简短描述 和语义在后续章节中给出。 package workflow process activitytransitionapplication data (workflow relevant data) participan t ididididididid namenamenamenamenamenamename descriptiondescriptiondescriptio n descriptiondescriptiondescriptiondescription extended attributes extended attributes extended attributes extended attributes extended attributes extended attributes extended attributes xpdl version creation date automati on mode data typeparticipant type source vendor id versionsplit creation date authorjoin versioncodepagepriority authorcountry key limit codepagepublication status start mode country key priorityfinish mode publication status limitdeadline conforman ce class valid from date priority unit valid to date responsibl e parametersperformerconditionparametersinitial value responsibl e toolfrom subflowto activitys et external package actual paramete document ation documentat ion documen tation- iconiconicon cost unitduration uni t cost durationduration waiting time waiting time working time working time 表 6-1:元素概览 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 18 页 共 59 页 6.5.1. 开发商或用户特殊的扩展开发商或用户特殊的扩展 虽然元模型及其相关的xpdl含有大多数在流程交换中需要的结构,但可能有开发商或用 户定义的需包含在过程定义中的补充信息。应鼓励开发商和用户尽可能在标准实体/属性集内 工作;下述的支持扩展的机制提供用于交换目的的表述扩展的标准方法,但可能在制定流程期 间要求局部系统提供任何相关的运行时支撑。 . 扩展属性扩展属性 支持扩展的主要方法是使用扩展属性。扩展属性是开发商或用户定义的属性必要的、 需在系统间交换的,表述附加实体的特征。在制定流程期间,任何与扩展属性使用相关的运行 时语义分别定义,且需要工作流服务导入方和导出方的双边协定。 . 扩展的参数映射扩展的参数映射 本规范中未定义解码的scheme和参数数据传递的特殊细节。有关远程子流程调用的参数 传递方法见工作流互操作规范(接口工作流互操作规范(接口4),该规范用于具体语法说明内所用操作的参数映射 (例如wf-xml 交换) 。任何参数映射的本地方案(local scheme)及解码由开发商给于自己的 产品定义的,不在本规范范围内。 7. xml 过程定义语言(过程定义语言(xpdl) 7.1. 多实体的公共元素多实体的公共元素 7.1.1. 扩展属性扩展属性 扩展属性扩展属性可用于所有实体。允许开发商扩展本规范的功能以便满足个别产品的需要。开发 商可在extendedattribute中加入自目录。 描述描述 name用于确定扩展属性 value特定产品要求的值 表 7-1:扩展属性属性 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 19 页 共 59 页 7.1.2. 形式化参数形式化参数 形式化参数可用作工作流过程和工作流应用的属性,它们在调用期间及控制返回时被传递 (e.g. 一调用应用)。如下是调用参数: 描述 datatype形式化参数的类型,见7.9节 description形式化参数的文本表述 id参数的标识符 index参数的索引 in输入参数 out输出参数 mode inout输入输出参数 表7-3:形式化参数属性 . 参数传递语义参数传递语义 参数传递语义定义如下: 任一只读形参(in)调用时由相应实参(一表达式)初始化,此即传值(传值(pass-by-value)语义。 (a) 任一读/写形参有相应的实际传递实参初始化,实参必须是工作流相关数据实体的标识符。 在过程完成时,形式化输出参数的之值被拷回原实参中(必须是工作流相关数据实体的标识 符)。此即拷贝恢复语拷贝恢复语(copy-restore)义 (b) 任意只写形参(out)被初始化为零值 (字符串将设为空串,复杂数据类型将每个元素设为 零)。在过程完成时,形式化输出参数被拷贝回原实参中(必须是工作流相关数据实体的标 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 20 页 共 59 页 识符)。此即零恢复零恢复(zero-restore)语义。 . 同步语义同步语义 拷贝和恢复被处理为原子操作;为避免流程实例中对工作流相关数据并行操作的冲突,这 些操作是串行的。在返回调用时,若拷贝和恢复间没有加锁,返回参数值将冲掉局部值(特定 工作流相关数据项。 . 形式化实参映射形式化实参映射 调用时从实参到形参的映射由一参数映射列表定义。实参按顺序一对一映射到形参,亦即 第一个实参映射到第一个形参,第二个实参映射到第二个形参等。定义中要求类型兼容,运行 时工作流系统可强制转换,例外情况是局部定义的,非本规范组成部分。当实参是一表达式时,表 达式被工作流引擎求值并缓冲,缓冲区的目录被用于形参实参映射。如何完成缓冲和映射超 出本文档范围。 7.1.3. 外部引用外部引用 外部引用外部引用(externalreference)是对外部定义实体的引用,可用于数据类型、参与者及应用。 描述 locationuri namespace定义的实体范围说明 xref 外部文档中实体身份的说明 表 7-5:外部引用属性 例1:由一xml scheme定义的formalparameter: formalparameter id=“po“ po specification for 例2: 由java类定义的datafield: po specification for . web services 过程的一个任务可以调用一web service。externalreference元素可用于由web service文档 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 21 页 共 59 页 (wsdl)定义的应用和数据类型的引用。 例3:数据类型由wsdl文档中定义的datafield: 例4: wsdl文档中的一个应用被定义为一个操作: 7.2. 包定义包定义 在一包内定义几个过程是可能的,共享同样的工具及参与者。建议每个业务过程创建一包, 其中包含所有必要的工作流过程以及与之相关的工具和工作流参与者,虽然并非必需的。也可 以在一包内只定义一个过程定义的一部分或几个过程的公共部分(例如一工作流参与者清单或 工作流应用清单)。 . 描述 applications工作流应用声明列表。见7.3节 conformance class包中过程定义的结构限定。见7.2.3节 data fields包中定义的工作流相关数据列表。见7.8节 extended attributes可加入包中的开发商定义的扩展。见 7.1.1节 wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 22 页 共 59 页 external packages对另一定义在不同文档中的包的引用 id用于标识包 name用于标识包的文本 package header确定包特征的一组元素 participants包中用于执行流程的资源列表。见7.7节 redefinable header一组既可用于包又可用于流程的元素及属性 script确定表达式中所用的脚本语言 type declarations包中所用的数据类型列表 workflow processes组成包的工作流过程列表。见7.4节 表 7-7:包定义属性 7.2.1. 包头定义包头定义 包头定义中保存有包的所有重要信息,诸如:xpdl版本、开发商id等。 描述 cost unit 仿真数据所用的单位(通常按货币单位) created包的创建日期 description 对包的文字说明 documentation帮助/说明文档的路径及文件名 priority unit用用户定义语义的字串 vendor模型定义的来历,包含开发商产品名称及版本号 xpdl version本规范的版本,当前值为 “0.02”. wfmcxpdl 文档,赵贵根翻译 创建时间:2004-6-2 9 时 31 分 第 23 页 共 59 页 表7-9:包定义头属性 7.2.2. 可重新定义头

温馨提示

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

评论

0/150

提交评论