工作流管理系统-属性说性(AS WfMS.Designer)

 

 

工 作 流 管 理 系 统

 

AS WfMS.Designer

属性说性

 

 陈振双

chenzhenshuang@2911.net

 

 

 

 

 

 

 

 

 

 

 


 

 

 

一、原理综述.... 4

1.关于规范... 4

2.元模型... 4

3.实体概述... 5

3.1工作流过程定义... 5

3.2工作流过程任务(活动、步骤)... 5

3.3工作流参与者说明... 6

3.4资源库... 6

3.5工作流应用说明... 6

3.6工作流相关数据... 7

3.7系统及环境数据... 7

3.8数据类型与表达式... 7

4元素... 7

4.1流程和包... 7

4.2过程元模型... 8

4.3包元模型... 9

4.4过程仓库... 10

4.5.元素概览... 11

二、基本模型属性.... 14

1.公共元素属性... 14

1.1.扩展属性... 14

1.2形式化参数... 14

2.包属性... 16

2.1包头定义... 16

2.2可重新定义头(Redefinable Header... 17

2.3适应类型声明(Conformance Class Declaration... 18

2.4脚本... 19

2.5外部包引用... 19

3.应用声明... 20

3.1调用参数... 20

4.工作流过程定义... 21

4.1.工作流过程定义头... 23

4.2工作流过程可重定义头... 25

4.3任务组(集)... 25

5.工作流过程任务... 26

5.1路由任务... 29

5.2块任务... 29

5.3执行控制属性... 29

5.4实现选择(Implementation Alternatives... 30

5.5执行者的关系... 32

5.6截止期限(最终期限)... 33

5.7仿真信息... 34

5.8转移约束(限制)... 35

6.转移信息... 36

6.1条件... 38

7.工作流参与者... 39

1参与者实体类型... 40

8.工作流相关数据... 40

9.数据类型... 41

9.1基本数据类型... 42

三、扩展模型属性.... 43

1.... 43

1.1Type. 43

1.2MainWorkflowProcessId. 43

2.流程... 43

2.1SchemeType. 43

1.2SchemeIntervalTime. 44

3.活动... 44

3.1ActivityMode. 44

3.2BeforeFormula. 44

3.3AcitiveFormula. 45

3.4AfterFormula. 45

3.5N.. 45

3.6MultiInstanceN.. 45

3.7SchemeWorkingIntervalTime. 45

3.8Notify. 46

3.9Paticipants. 46

3.10Tools. 48

3.11DataFields. 48

4.应用... 49

4.1ApplicationType. 49

4.2ApplicationExecuteType. 49

4.3ApplicationFile. 49

4.4ApplicationClass. 49

4.5ApplicationFunction. 50

4.6ReturnFormalParameter. 50

 

 


 

一、原理综述

1.关于规范

许多不同的工具可用于业务过程的分析、建模、描述及建档。工作流过程定义接口定义了一个公用的交换格式,它支持不同产品工作流过程定义之间的转换。

该接口也定义了开发和运行环境之间的形式区分,使得由一种建模工具产生的过程定义,可以作为许多不同工作流运行产品的输入。

由一个构造工具生成的工作流过程定义,能被不同的工作流运行产品解释。过程定义在产品之间转换,或者存储在一个分离的资源库中,通过公用的交换格式访问。

提供一种描述及访问已建立的工作流定义和工作流过程元数据模型的公共方法。该元数据模型确定过程定义中共同使用的实体(entities)。许多属性描述该有限实体集的特征。基于该元数据模型,开发者的特定的工具能借助公共交换格式转换模型。

XPDL的关键基础之一是其用于各种工具处理信息的扩展性。XPDL可能从不支持各种工具要求的额外信息。基于工作流过程定义中描述的有限数量的实体(“最小元模型”),  XPDL支持许多不同的方法。

XPDL最重要的基础之一是在公共表示方法中使用的支持开发商特殊属性的一般结构。

本文档描述了用于定义过程定义内所含的对象及其属性的元模型,XPDL语法直接和这些对象及其属性相关。

 

2.元模型

元模型描述过程定义中包含的顶层实体,它们的关系及其属性(含有一些用于仿真和监控而非流程制定的关系及属性);也定义了各种各样与过程模型相关的分组过程约定,以及跨各种不同过程定义或模型的公共定义数据的使用。

顶层实体如下图所示:

元模型顶层实体

上述每一实体,都有一描述其特征的相关的属性集。后续章节将更详细的叙述这些实体及其属性。

3.实体概述

元模型确定用于过程定义交换的基本实体集。顶层实体如下所述:

3.1工作流过程定义

过程定义实体提供流程内用于其它实体的上下文信息。它是流程自身及其提供管理相关信息(创建日期、作者等),以及流程运行期间有关信息(初始参数、执行的优先级、校验的时限,通报的人、仿真信息等)的容器。

3.2工作流过程任务(活动、步骤)

过程定义由一个或多个任务组成,每个任务是流程内一个独立的逻辑工作单元。一个任务表示由一个资源组合处理的操作(由参与的任务指定) / 计算机应用(由参与的应用指定)。其它可选信息与任务有关,诸如由工作流管理系统自动地确定的关于是否启动/完成的信息,或相对于其它任务竞争资源的优先级,亦或系统服务的发生等,也可以定义工作流任务相关数据的特定用法。对于确定的流程定义,任务的范围是局部的(即使是下述的关于子流程任务的描述)

任务可以是一子流程――既然如此,对于一个(独立定义的)流程定义的执行,它是一个容器,该独立流程可能在同一工作流服务内本地运行,或(可能使用过程协作接口)是一个远程服务。子流程内的过程定义包含其自身的任务、内部转移(迁移,连接)资源及应用分配(尽管这些可从公共资源继承)定义。 In- out-参数允许调用和被调用流程间交换必要的工作流相关数据。

任务可以是一Block任务――任务集合,或者任务及转移的映射。任务集内的任务和转移和所属流程共享命名空间。

最后,虚拟任务是一骨架任务,它的完成没有操作处理(因之无相关资源或应用),仅简单用于在进入转移与/或流出转移中作路径判别。

3.3工作流参与者说明

它提供了流程定义中可作为各类任务执行者的资源的描述。指派完成一特定任务的特殊资源被定义为任务的一个属性,以及将任务和可分配给它的资源集联系起来的参与者设定。工作流参与者的声明不必是一个人,也可以确定为一组具有一定技能或责任的人、或非人的机器自动机资源。元模型包含一些可定义为工作流参与者的简单资源类型。

3.4资源库

资源库说明参与者可以是人、程序或机器。在更复杂的流程中参与者的声明可以引用资源库,在参与者是人时可以组织模型。应指出的是本规范未定义或要求资源库。

3.5工作流应用说明

它提供IT应用的描述,或工作流服务支持的,亦或完全自动化的、与每个任务相关的处理、任务内由一应用设定属性(或属性集)确定的可调用接口的描述。这样的应用可以是普通的行业工具,企业内确定的服务部门,或工作流管理系统框架内实现的本地过程。

工作流应用定义反映出工作流引擎与应用或接口,包括任意传递参数之间的接口。

3.6工作流相关数据

它定义在流程运转期间各个流程实例内创建及使用的数据。在流程运转期间,该数据对任务或执行的应用有效,且用于在任务间 / 为条件表达式计算(诸如转移或参与者设定)传递持久化信息或中间结果。工作流相关数据是特殊类型。XPDL包含各种各样基本及复杂数据类型的定义(包括date, string)、任务、调用的应用 / 转移条件可引用工作流过程相关数据。

3.7系统及环境数据

是指由工作流管理系统或局部系统环境维护的数据,但可被工作流任务访问,或被工作流管理系统以与工作流相关数据同样的方式在计算条件表达式时使用。

3.8数据类型与表达式

元模范(及与XPDL相关)采用了许多标准数据类型(string, reference, integer, float, date/time, ); 这些数据类型和工作流相关数据、系统或环境数据,亦者参与者数据有关。表达式可以由这些数据类型形成以支持条件计算。数据类型可以通过用XML Schema或外部来源中定义的数据引用进行扩展。

4元素

4.1流程和包

如同在上述图表所示,过程模型包含各种各样的实体――其范围较单一的过程定义广泛。特别是参与者、应用及工作流相关数据的定义可以从许多过程定义中引用。元模型假定使用和工作流管理系统相关的、拥有各种各样类型构成过程定义实体的共用过程定义库。在公共定义库本身内以及支持对将流程定义数据从定义库内高效的转入/转出的支持,引入概念“包”,作为源自许多不同过程定义共用数据实体分组的容器,以免在每一单独的过程定义内重新定义。

“包”提供一个容纳来自工作流过程定义实体(作者,版本,状况,等等)的许多公共属性的容器。包内包含的每一过程定义将自动继承源自包的任何公共属性,除非它们在过程定义中分别进行局部重新定义。

在一包内,一些实体的定义范围是全局的,包内所含的工作流过程定义(以及与之相关的任务和转移)都可引用这些实体。这些实体是:

l         工作流参与者定义

l         工作流应用声明

l         工作流相关数据

包引用允许在包内使用,或在引用的外部包中所引用的顶层实体中包含的对象内使用:

l         子流程引用的流程标识

l         工作流参与者定义

l         工作流应用声明

为达到任何必要的全局唯一性,在同一资源地址空间内跨不同包的命名和标识符管理规范由用户/开发商自己定义。在流程指定期间,采用的规范是按下述搜索顺序作名称引用:

l         流程标识―― 首先在同一流程模型内(包括任何在不同服务中远程运行的流程定义应用) 然后在任一引用的外部流程模型内。

l         应用/参与者―― 首先在同一流程模型内,然后在任一引用的外部模型内。

在包内工作流相关数据命名必须是唯一的;这些数据是作为参数在过程之间传递的,在本版本的规范中,将使用语义复制。过程设计者/管理者的剩余责任就是在支持子流程操作(包含任何所需的远程过程互用性)的过程定义/模型内保证一致的名称/数据类型用法。

4.2过程元模型

为了过程定义交换,元模型确定了基本实体和属性集。关于过程定义下述实体必须定义,或者明确地在过程定义层,或者直接继承,亦或从环境包中交叉引用:

l         工作流过程任务

l         转移信息

l         工作流参与者定义

l         工作流应用声明

l         工作流相关数据

工作流过程定义元模型

这些实体包含支持流程公共描述机制的属性,它们将在后续的章节中予以叙述。

4.3包元模型

多过程定义结合在模型定义中。作为分组的容器――许多独立的过程定义,与之相关的实体数据――适用于所有包含的过程定义(以及仅有一次需求的定义)。的元模型包含如下实体类型:

l         工作流过程任务

l         转移信息

l         工作流参与者定义

l         工作流应用声明

l         工作流相关数据

* 实体可在工作流过程定义中重新定义

包定义元模型

包的元模型确定了的用于交换、存储及过程模型的实体和属性。它规定了将单个流程和对参与者定义、应用声明及工作流相关数据的实体定义联系起来的各种各样的继承规则,可以在包一级定义而非在单个过程定义级被定义。

包定义允许定义许多共用过程定义属性,这些属性适用于包内所含的所有单一过程定义,这样的属性也可以从单个过程定义删除(如果它们在单个过程定义级被重新设定,则这一局部属性值优先于包级定义的公共值)。

4.4过程仓库

过程定义导入/导出接口采用 放到/取自 一与工作流管理系统相关的某种形式的工作流定义库的操作。导入/导出接口由放入或取出定义库含有XPDL的交换文件实现。这个接口定义允许在单过程定义级与包级导入/导出过程定义数据。

定义库和工作流控制功能之间的内部接口由开发商自行定义,不作为本标准的一部分,而采取将静态仓库用法(对于持久化数据,在建的过程定义数据)与动态仓库用法(对于在运流程实例的变化管理)分离(例如通过版本控制)的方式。

过程定义库的本地存储结构不是WfMC标准的组成部分。包的应用仅是旨在简化可复用数据结构的导入/导出。采用简单的过程仓库结构,单一的过程定义级操作,在一导入包内的共享信息在导入接口中可以被复制到每一独立过程定义(对于过程定义导出类似于重新打包)。

4.5.元素概览

下表给出XPDL内定义的主要元素概览:

l         第一行包含所有所有主要元素的公共属性及元素。所有主要元素具有idnameDescription Extended Attributes属性

l         第二行主要元素各自的特有属性;

l         第三组有可能的对其它元素的引用组成

l         DocumentationIcon元素包含执行引擎使用的表现信息;

l         第五组包含流程仿真和流程优化信息 (BPR-相关信息)

更多的元素和预定义属性可加入模型中以便建立未来的适应性标准。所有元素的简短描述和语义在后续章节中给出。

说明

Package

Workflow Process

Activity

Transition

Application

Data

(workflow Relevant Data)

Participant

编号

Id

Id

Id

Id

Id

Id

Id

名称

Name

Name

Name

Name

Name

Name

Name

描述

Description

Description

Description

Description

Description

Description

Description

扩展属性

Extended Attributes

Extended Attributes

Extended Attributes

Extended Attributes

Extended Attributes

Extended Attributes

Extended Attributes

 

XPDL Version

(版本)

Creation Date

(创建时间)

Automation Mode

(自动模式)

 

 

Data Type

(数据类型)

Participant Type

(参与者类型)

 

Source Vendor ID

Version

(版本)

Split

(分支)

 

 

 

 

 

Creation Date

(创建时间)

Author

(作者)

Join

(合并)

 

 

 

 

 

Version

(版本)

Codepage

Priority

 

 

 

 

 

Author

(作者)

Country Key

Limit

 

 

 

 

 

Codepage

Publication Status

Start Mode

(开始模式)

 

 

 

 

 

Country Key

Priority

Finish Mode

(完成模式)

 

 

 

 

 

Publication Status

Limit

Deadline

 

 

 

 

 

Conformance Class

Valid From Date

(时限开始)

 

 

 

 

 

 

Priority Unit

(优先级单位)

Valid To Date

(时限结束)

 

 

 

 

 

 

Responsible

Parameters

(参数)

Performer

Condition

(条件)

Parameters

(参数)

Initial value

(初始值)

 

 

 

Responsible

Tool

(工具)

From

活动编号

(从。。开始)

 

 

 

 

 

 

Subflow

(子流程)

To

活动编号

(到。。结束)

 

 

 

 

 

 

ActivitySet

 

 

 

 

 

External Package

 

Actual

Paramete

(实际参数)

 

 

 

 

文档

Documentation

Documentation

Documentation-

 

 

 

 

图标

Icon

Icon

Icon

 

 

 

 

单位

Cost Unit

 

Duration Uni t

Cost

 

 

 

 

时间段

 

Duration

Duration

 

 

 

 

等候时间

 

Waiting Time

Waiting Time

 

 

 

 

工作时间

 

Working Time

Working Time

 

 

 

 

 

元素概览

 

 

 

 


 

二、基本模型属性

1.公共元素属性

1.1.扩展属性

扩展属性可用于所有实体。允许开发商扩展本规范的功能以便满足个别产品的需要。开发商可在ExtendedAttribute中加入自目录。

对于最终用户,扩展属性,一般不需要修改。

 

 

描述

Name

用于确定扩展属性

Value

特定产品要求的值

 

1.2形式化参数

形式化参数可用作工作流过程和工作流应用的属性,它们在调用期间及控制返回时被传递 (e.g一调用应用)。如下是调用参数:

 

 

描述

Datatype

形式化参数的类型

Description

形式化参数的文本表述

ID

参数的标识符

Index

参数的索引

Mode

IN

输入参数

OUT

输出参数

INOUT

输入输出参数

形式化参数属性

1.2.1 参数传递语义

参数传递语义定义如下:

任一只读形参(IN)调用时由相应实参(一表达式)初始化,此即传值(pass-by-value语义。

(a)    任一读/写形参有相应的实际传递实参初始化,实参必须是工作流相关数据实体的标识符。 在过程完成时,形式化输出参数的之值被拷回原实参中(必须是工作流相关数据实体的标识符)。此即拷贝-恢复语(copy-restore)

(b)    任意只写形参(OUT)被初始化为零值 (字符串将设为空串,复杂数据类型将每个元素设为零)。在过程完成时,形式化输出参数被拷贝回原实参中(必须是工作流相关数据实体的标识符)。此即零-恢复(zero-restore)语义。

1.2.2 同步语义

拷贝和恢复被处理为原子操作;为避免流程实例中对工作流相关数据并行操作的冲突,这些操作是串行的。在返回调用时,若拷贝和恢复间没有加锁,返回参数值将冲掉局部值(特定工作流相关数据项。

1.2.3 形式化实参映射

调用时从实参到形参的映射由一参数映射列表定义。实参按顺序一对一映射到形参,亦即第一个实参映射到第一个形参,第二个实参映射到第二个形参等。定义中要求类型兼容,运行时工作流系统可强制转换,例外情况是局部定义的,非本规范组成部分。当实参是一表达式时,表达式被工作流引擎求值并缓冲,缓冲区的目录被用于形参-实参映射。如何完成缓冲和映射超出本文档范围。

 


 

2.包属性

在一包内定义几个过程是可能的,共享同样的工具及参与者。建议每个业务过程创建一包,其中包含所有必要的工作流过程以及与之相关的工具和工作流参与者,虽然并非必需的。也可以在一包内只定义一个过程定义的一部分或几个过程的公共部分(例如一工作流参与者清单或工作流应用清单)

 

 

描述

Applications

工作流应用声明列表。

Conformance Class

包中过程定义的结构限定。

Data Fields

包中定义的工作流相关数据列表。

Extended Attributes

可加入包中的开发商定义的扩展。

External Packages

对另一定义在不同文档中的包的引用

Id

用于标识包

Name

用于标识包的文本

Package Header

确定包特征的一组元素

Participants

包中用于执行流程的资源列表。

Redefinable Header

一组既可用于包又可用于流程的元素及属性

Script

确定表达式中所用的脚本语言

Type Declarations

包中所用的数据类型列表

Workflow Processes

组成包的工作流过程列表。

 

2.1包头定义

包头定义中保存有包的所有重要信息,诸如:XPDL版本、开发商ID等。

 

 

描述

Cost Unit

仿真数据所用的单位(通常按货币单位)

Created

包的创建日期

Description

对包的文字说明

Documentation

帮助/说明文档的路径及文件名

Priority Unit

用用户定义语义的字串

Vendor

模型定义的来历,包含开发商产品名称及版本号

XPDL Version

规范的版本

包定义头属性

2.2可重新定义头(Redefinable Header

可重定义头涵盖那些可在工作流定义头中定义的属性,且可在任何过程定义头中重新定义。 重定义时,应把握范围标准。

 

 

描述

Author

包定义作者姓名

Code page

文本部分代码页

Country key

基于ISO 3166的国家代码。可以是3为数字的国家代码,或两位字符国家代码

Publication Status

工作流过程定义的状态

UNDER_REVISION

RELEASED

UNDER_TEST

 

UNDER_REVISION:状态表明正在定义;

UNDER_TEST:状态表明正在测试。在上面两种状态下,该工作流模型都不能被正式使用;

RELEASED:的状态表明该工作流模型已完全定义好,可以被使用。

 

Responsible(s)

工作流参与者――为此工作流负责;运行时连接到工作流参与者实体的主管人。工作流参与者为本模型定义的工作流负责(通常是一组织单元或一人)。假设负责人是运行时的主管人。

缺省值:起始参与者

Version

本包的版本

可重定义的头属性

2.3适应类型声明(Conformance Class Declaration

适应性类的声明允许对适应性类作描述,而该描述在本模型定义中是有限制的。除非它在过程定义级局部被重新定义,适应性类型声明适用于所有包含的过程定义。

 

 

描述

Conformance Class

FULL-BLOCKED

网络结构(模型)限制在适当的SPLIT/JOINLOOP嵌套

LOOP-BLOCKED

网络结构(模型)限制在适当的循环嵌套

NON-BLOCKED

网络结构(模型)无限制,缺省

适应类型声明属性

NON-BLOCKED:这种一致性类型实际上就是对信牌驱动模型的网状结构无任何的限制,不要求各种配对(详见下面的说明)。

LOOP-BLOCKED:这种结构要求出循环意外,信牌驱动模型的网状结构中不能有回路。

FULL-BLOCKED:这种要求非常严格。所有的JOINSPLIT节点必须配对(它们还必须是相同类型的,即同为AND-XOR-类型);一个内置块的开始和结束节点中的SPLITJOIN也要配对;在AND-SPLIT中可以没有条件(即全选);在XOR-SPLIT中,假如有一个转移有条件,则必须有一个没有条件或OTHERWISE的转移。

 

2.4脚本

Script元素确定XPDL表达式中所用的脚本语言。文本表达式形如xsd : string例如可以实参?(ActualParamete)或常量(Cost)中使用一个表达式。

一个由格式化的XML(诸如:MathML)组成的表达式可用于Xpression元素内(诸如转移条件)

 

 

描述

Type

确定表达式中所用的Script语言。为了跨实现的一致性,通常采用标准的语言建议选用所述字串的一种: text/javascript, text/vbscript, text/tcl, text/ecmascript, text/xml

Version

Script语言的版本

Grammar

是对语言语法定义文档的引用,可以是XML 大纲、DTDBNF.

脚本属性

2.5外部包引用

外部包引用允许引用另一包定义内的定义或其它系统提供给工作流管理系统的接口(诸如:已有的组织机构描述管理工具)

 

 

描述

Extended Attributes

为满足执行需要可选的开发商定义的扩展。

href

模型标识符。逻辑引用一模型

外部包引用属性


 

3.应用声明

工作流应用声明是过程定义或环境包内所有应用、需要的工具以及由工作流过程定义声明的调用列表。可以定义工具(亦或事实上仅为名称),这意味着工具的真实定义是不必要的,可以交由对象管理处理。采用这个方法的原因是多平台环境的处理,因为不同的程序(或功能)不得不处理每种平台的调用。XPDL源自对具体执行或环境的抽象 (因而这些方式在流程定义时不必关心)

 

 

描述

Description

应用的简短描述

Extended Attributes

为满足实现需要由开发商定义的可选扩展。

External Reference

对外部定义的应用的引用。

Formal Parameters

通过调用接口与应用交换的参数列表。

Id

用于标识工作流应用

Name

标识应用的文本(可以理解为一般工具的名称)

工作流应用声明 属性

3.1调用参数

一个工作流应用声明可以有(调用)参数的定义,也可在其它实体内使用。

拷贝调用IN被看做一个原子操作;同样处理恢复调用OUT;这两个操作之间无同步行为

 

 

 


4.工作流过程定义

工作流过程定义给出组成工作流元素的详细说明。它分别包含任务、转移(可选)、应用以及过程有关数据实体的定义或声明。属性可予定义,诸如有关管理数据的作者、版本,有关运行时数据的优先级,有关BPR仿真数据。

一个工作流过程可以作为形如子流程的一个任务实现,此时,其参数被定义为过程的属性。

一个包含输入参数且输入参数并非由一子流程调用实例化的工作流过程定义,其所有输入参数的初始化方法是本地定义的。这样,任何与实例化过程定义相关的工作流相关数据――包括在参数列表内, 将被初始化为指定的“缺省值”(如果定义的话)。未作为输入参数传递的或未初始化为“缺省值”者,结果未定。同样,子流程正常终止后,未返回值与调用流程者,其值未定。

总之,定义的实体标识符及其名称的范围是环境实体,其标识符在该范围内是唯一的。对于过程标识符及其名称是环境

<xsd:element name="WorkflowProcess">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=“xpdl:ProcessHeader"/>

<xsd:element ref=“xpdl:RedefinableHeader" minOccurs="0"/>

<xsd:element ref=“xpdl:FormalParameters" minOccurs="0"/>

<xsd:group ref="xpdl:DataTypes"/>

<xsd:element ref=“xpdl:DataFields" minOccurs="0"/>

<xsd:element ref=“xpdl:Participants" minOccurs="0"/>

<xsd:element ref=“xpdl:Applications" minOccurs="0"/>

<xsd:element ref="xpdl:ActivitySets" minOccurs="0"/>

<xsd:element ref=“xpdl:Activities" minOccurs="0"/>

<xsd:element ref=“xpdl:Transitions" minOccurs="0"/>

<xsd:element ref=“xpdl:ExtendedAttributes" minOccurs="0"/>

</xsd:sequence>

<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>

<xsd:attribute name="Name" type="xsd:string"/>

<xsd:attribute name="AccessLevel">

<xsd:simpleType>

<xsd:restriction base="xsd:NMTOKEN">

<xsd:enumeration value="PUBLIC"/>

<xsd:enumeration value="PRIVATE"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:complexType>

</xsd:element>

<xsd:element name="WorkflowProcesses">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=“xpdl:WorkflowProcess"

minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

 

 

描述

AccessLevel

流程的访问级别,可以是PUBLICPRIVATE.。若为PUBLIC,则该流程可被外部系统或应用调用;若为PRIVATE,仅能作为子流程任务调) ( 5.4.3 )

Activities

组成过程热任务列表。见4.3

ActivitySets

独立的任务及转移列表

Applications

工作流应用声明列表。见3

Data Fields

工作流有关数据列表。见8

Extended Attributes

为满足实现需要开发商定义的可选扩展。见1.1

Formal Parameters

可传递到过程的参数列表。见1.2

Id

用于表示工作流过程

Name

用于表示工作流过程文本

Participants

过程执行中的资源列表。见7

Process Header

定义过程特征的元素组(集)

Redefinable Header

包和过程都用的一组元素和属性

Transitions

连接过程任务的转移的列表。见6

工作流过程定义属性

4.1.工作流过程定义头

工作流过错定义头保存有关过程定义的所有信息,诸如过程版本、优先级、有效期限等。

 

 

描述

Created

工作流过程定义创建的日期

Description

对过程的简述

Duration

执行任务期望的持续时间,以DurationUnit.为单位

Duration Unit

描述适用于整数持续时间(无单位标记)的缺省单位,可能的取值为:

Y –

M –

D –

H –

m –

s –

Limit

为时间管理的期望持续时间(例如启动一逐步升级的过程等),以DurationUnit为单位。从过程启动的日期时间算起。达到期望时限后的结果定义不含在本文档中(亦即由开发商定义)。假设在此种情况下至少提醒流程的责任人。

Priority

过程的优先级类型

缺省:从模型定义继承

Time Estimation

等待时间、工作时间与持续时间的组,用于仿真

Valid From

激活工作流过程定义的日期,空串表示系统日期

缺省:从模型定义继承

Valid To

工作流过程定义失效的日期。空串表示无限有效

缺省:从模型定义继承

Waiting Time

执行任务所需预备的时间量(时间估计) (等待时间由分析环境提供,且可被运行环境置换,以DurationUnit为单位

Working Time

指任务的执行者完成该任务所需的时间量(时间估计) (工作时间分析时需用,且由运行参数的计算通过) ,以DurationUnit为单位

工作流过程定义头属性

4.2工作流过程可重定义头

 

描述

Author

工作流过程调用的作者姓名

Codepage

文本部分所用的代码页

缺省:从模型定义继承

Country key

基于ISO 3166的龟甲代码,可以是3位数字或2位字符。

缺省:从模型定义继承

Publication Status

工作流过程定义的状态

缺省:从模型定义继承

UNDER_REVISION

RELEASED

UNDER_TEST

Responsible(s)

工作流参与者――对本流程负责(通常为一组织机构单元或一人) It 假设流程运转期间责任人为主管人。

缺省:从模型定义继承

Version

工作流过程定义的版本

工作流过程可重定义头属性

4.3任务组(集)

任务组是独立的任务及转移集合。转移仅指向同一组内的任务,没有流入和流出该任务组的转移。任务组可当作块任务执行。

 

 

描述

Activities

组成过程的任务列表

Id

用于标识工作流过程

Transitions

连接过程任务的转移列表

任务组

5.工作流过程任务

工作流任务定义用于定义组成工作流过程的每一基本任务。可定义属性规定任务的控制信息,执行选择,执行者分配,运行时相关信息――诸如优先级,BPR中的特定数据,以及仿真情况(和工作流制定时不用的信息)。此外,也可描述对数据访问的限定及转移评判 (e.g分叉和 接合)。强制属性用于描述任务的标识符和类型;少量的其它属性是可选的,但对所有任务类型用法相同;其它属性的用法取决于任务类型,如下表所示:

对于任务标识符及名称,其范围是工作流过程环境。

任务描述用于描述几种不同的任务类型。所有这些任务共享同样的(共同的)通用任务属性,但其它属性、特殊的参与者、应用分配以及工作流相关数据的使用为各任务类型所特有。下表确定了不同任务类型其它属性/实体类型的用法:

 

Entity Types

(usage within Activity Type)

任务类型(Activity Type

执行类型(Implementation Type

路由

Route

块任务BlockActivity

None 

Application

Subflow

Transition Restriction

Normal

Normal

Normal,加上任务内子流程调用/返回

Normal ;

Route任务中的任意额外控制执行

Normal; 在同一上下文中引用任务;任务组(ActivitySet )中不到任务

Participant Assignment

Normal

Normal

N/A

N/A

N/A

Application Assignment

None

Yes

N/A

N/A

N/A

Use of workflow Relevant Data

Normal

Normal

可用于参数传递

可用于路由控制条件

可用于路由控制条件

实体类型与不同任务类型间关系

用法注意事项

转移约束,子流程和路由将在有关转移的章节中叙述。通常,正常的转移约束可以在过程环境内任务边界级予以描述,反之,则特殊的流转条件 (子流程,或一路由任务内在部分)操纵任务的内部(但可以在过程定义环境中引用任务)。下图展示了任务及其变化的一般结构:

任务结构及转移条件

其中实现类型为NONE者,工作流任务是手工控制的,其完成需要明确地通告工作流管理系统。 这样的任务可以典型地包含承担某些非自动任务的参与者的说明,且完成时通知超级用户。

工作流相关数据可以(潜在地) 在任何任务中引用,虽然其在手工任务中的使用未在过程定义中描述。其中子流程类型的任务,任何传递到调用(子)过程的 IN 类参数必需在调用过程/任务中已声明为工作流相关数据,或者继承自环境包。(类似放的要求适用于需返回调用流程的OUT参数)。路由及块任务不直接操作工作流相关数据,但可以在接合/分叉控制逻辑里条件表达式中引用这些数据。

 

 

描述

BlockActivity

执行一任务组的任务

Deadline

定义截止时间,以及到达截止时间时采取的动作(action)

Description

关于任务的文字说明

Documentation

描述任务的帮助文件的地址

Extended Attributes

为满足个别实现需要的可选的扩展

Finish Mode

描述任务结尾系统如何操作

Icon

表示任务的图标地址(路径及文件名)

Id

用于表示工作流过程任务

Implementation

一个“正规的”任务,若非路由任务是强制的,在“no”和“subflow”中任选其一

Limit

给于时间管理目的期望的持续时间(例如启动一个逐步升级的程序等) ,以DurationUnit为单位,从过程启动日期/时间算起,到达期限的后果本规范未定义(由开发商自行定义)。

Name

用于标识工作流过程任务的文本

Performer

指向工作流参与者实体,可以是一表达式。

缺省值:任意参与者

Priority

一个描述任务执行时初始有限级的值。若该值为定义,而过程定义中定义了优先级,则使用其中定义的值。

一般情况下,优先级被设为自然数,从0开始,数值越大,优先级越高(亦即0..n

Route

一种“哑”任务

Simulation Information

一个任务的仿真估算,无缺省值 No default.

Start Mode

描述如何出发任务的执行

Transition Restrictions

提供进一步的对转移的约束和上下文相关语义的描述

过程任务属性

5.1路由任务

路由任务是一种“哑”任务,允许阶梯状表示转移条件(例如:形如"IF condition-1 THEN TO Activity-1 ELSE IF condition-2 THEN TO Activity-2 ELSE Activity-3 ENDIF")。一些开发商可能直接实现层状转移条件而不要求类似路由的任务,其它则可能有这样的要求。其中可能的开发商和流程设计者被鼓励使用路由结构,如来自流出任务的异或分叉层次条件。某些转移组合不能被从一个任务流出的单纯转移列表或一个任务的单纯流入转移列表表示,这些情况需要使用一个或多个哑任务,如下例:

l         来自一任务流出转移的异或(XOR)和与(AND)分叉条件组合。

l         到一任务的异或(XOR)和与(AND)接合条件组合。

l         线程子集的转移调用条件与(AND)接合,且单线程带有条件。

      一个路由任务既无执行者也无应用,其执行也不影响工作流相关数据或应用数据。

为了仿真之用,下述仿真数据值应予设定:持续时间为0,费用为“0,工作时间为“0”,等待时间为“0”。 至于优先级(Priority)和实例化(Instantiation ),其最大值应予设定

5.2块任务

块任务执行一任务组ActivitySet)或独立的任务/转移图(模型)。从块任务开始执行到组中的第一个任务,一直在组内继续,直到达到一退出任务(一五流出转移的任务)。执行后返回到块任务的后继任务。

5.3执行控制属性

这些是对于任务执行控制提供各种各样任务特定性质定义的任务属性。自动控制模式定义了触发和终止一个任务时的自动程度,有两种自动控制模式:

·  自动模式(Automatic mode由工作流引擎全部控制亦即任何流入转移条件一满足,工作流引擎就自动继续执行任务。同样地,任务的完成以及前进到任一后续任务,条件逻辑自动发生,直到最终调用应用的终止。

· 人工模式( Manual mode 需要使任务开始或结束的明确的用户交互。这样的系统中,任务的启动 / 完成是显然的用户动作的结果。

可分别定义对于一个任务的开始(start结束(end自动控制模式.

 

 

描述

Start Mode

描述如何触发一个任务的执行

Automatic

隐性地由系统触发。缺省

Manual

显性地由最终用户触发

Finish Mode

描述任务末尾时系统如何操作

Automatic

意味着当调用应用结束控制时自动返回。缺省

Manual

最终用户必须显性地终止任务

执行控制属性

5.4实现选择Implementation Alternatives

对于工作流引擎控制下的数据,任务的执行是原子的。这意味着在系统崩溃、异常终止或任务取消时,工作流相关数据和工作流控制数据要回滚(自动或借助其它途径),并请求一个适当的补偿任务。 (对于审计数据不必如此) 本版本的规范不含任何对数据同步与恢复的控制定义(例如工作流执行与子流程或执行的应用之间)

一个任务可有下表所述3种执行方式之一:

 

描述

No implementation

由人工程序执行(亦即不需工作流支撑)

Tool

由一个或数个支撑应用执行

Subflow

由另一过程执行

执行选定属性

5.4.1 无实现(No Implementation

无实现意即本任务的执行不是由调用的应用或程序支撑的。由两种可选方式:

人工任务(手动任务),“完成模式”是人工确定的。

隐性任务,依据过程处理的需要,工作流引擎自身知晓的任务(例如:由开发商定义的扩展属性)。譬如,工作流中,启动流程和终止流程时生成及清除隐藏数据的“前处理”与“后处理”任务, (例如,图像与档案之间的关联)。此时,“开始模式”与“结束模式”都是自动确定的。

 

5.4.2 工具(Tool

指任务由一个或数个工具实现。工具可以是一应用程序(关联到工作流应用实体)

 

 

描述

Actual Parameters

传递给子流程的参数列表。

Description

文字描述

Extended Attributes

为满足某些实现需要的可选扩展

Id

用于标识应用或程序的标识符,与类型有关

Type

APPLICATION

工具(Application)标识符

PROCEDURE

程序(Procedure)标识符

Tool—属性

5.4.3 子流程(subflow

任务被重定义为子流程。子流程可异步或同步执行。子流程的标识符可从环境包声明中继承。

异步执行方式下,被引用流程的实例初始化后将继续处理子流程后继任务的分支逻辑,无返回参数。若需同步已初始化的子流程,须借助其它途径,诸如事件,本文中不作描述。此类子流程称之为“链式(或分叉式)(Chained or forked)”子流程操作。

同步执行方式下,须待该子流程执行完毕后,方继续其后继分支逻辑的处理,在子流程完成后,调用流程和被调用流程间可返回参数。此类子流程称之为“分级(hierarchic)”子流程操作。

 

 

描述

Actual Parameters

传递给子流程的参数列表。

Execution

ASYNCHR

异步执行

SYNCHR

同步执行

Id

用于标识所调用的过程

子流程属性

5.5执行者的关系

任务和执行者之间的关系由参与者分配属性给定,它提供与工作流参与者实体之间的连接 ,缺省值:任意参与者。

在执行者属性中所用的工作流参与者标识符既可在工作流过程定义环境中声明,也可继承自环境。

工作流管理系统在运行时需处理对一执行者集的表达式求值为空,以及执行者不唯一的问题,执行者的定义可以来自外部资源库或机构模型。前后述两种情况都发生的解决方案不在本规范的范围内。

l         第一种情况(空集),引擎可以稍后再试,或者发信息通知流程管理者。该方法是局部的,非本规范的正式组成部分

l         第二种情况(不唯一)可能源自执行者依据职责/技能确定(称之为角色)或者为一组织单元,其本身是一组参与者的容器。此类情况所采用的解决之道是局部的,非本文档的正式组成部分。普遍情况如下:

n         其中一个任务包含可并行执行的多个工作项,各工作项可呈现给许多执行者。

n         另一种情况是任务根据一局部负载平衡算法进行分配,或者工作列表呈现给许多潜在的执行者而分配给第一个接受者(工作流引擎有必要提供适当的行为。)

n         将任务分配给一个组织单元(如一部门)也可能导致任务呈现给组织单元内的所有成员,而将任务分配给第一个接受的参与者,或者允许部门经理将任务改派给一个制定的部门成员。

在所有的情况下,在元模型和XPDL中表述的参与者分配仅涉及任务及其定义的参与者(包括表达式的使用,以及定义的功能Functions) ,不区分定义的参与者是原子的(如一个人)或非(如一个团队)。有关工作流引擎的局部行为,资源库或机构模型的处理未加定义。

5.6截止期限(最终期限)

 

 

描述

Execution

定义截止期限到达时产生的系统行为。

ASYNCHR:截止时间是异步发生的。是以显性的与分叉操作,其中任务继续进行,另一线程开始追踪命名的异常转移。由于该任务继续运行,可能引发另一截止期限。

SYNCHR:任务异常结束,然后接着执行命名的异常转移。

DeadlineCondition

一个表示截止期限时间的表达式。该表达式是依赖执行的,且至少包含:

 

与任务开始的相关时间

2)

 

固定时间

(January 1) (January 1, 2002 )

 

利用工作流相关数据计算出的时间

(varName days)

ExceptionName

截止期限到达时发生的异常的名称

截止期限

截止期限用于产生关于规定的时间周期到期时的异常。

截止期限到期时,产生一异常条件,且伴随着适当的异常转移。 若截止期限是同步的,则继续异常路径前任务将被终止。若截止期限是异步的,然后一个隐性的与分叉被执行,一个关于适当异常转移的新处理线程被启动。异步异常可能引发副作用,应警慎使用。一些副作用 将在本节后边讨论。

 

截止期限条件是依赖执行的,其条件可以是相对的或绝对的,且可使用工作流相关数据。

若块任务或子流程发生同步截止期限,停止该任务,包括停止块中所有线程,或子流程及其所有线程,以及嵌套的子流程。从模型的角度来看,可认为是“立即终止”。如果一个引擎背离这种模式,诸如允许一运行中(in-process)的人工任务完成,应在文档中描述该行为。

异步异常是一个强大的工具,允许立即提示,及通过改变工作流相关数据实现平滑的过程终止。但异步异常也能造成竞争条件和可能的副作用。例如,当处理异步异常时,正在运行的任务可能完成。此外,由于隐性分叉被执行,后续控制可能是复杂的,若异步异常处理接合到达截止期限处理线程的回退。流程设计者必须注意,应恰当处理竞争条件,以避免不必要的副作用。

5.7仿真信息

实例化属性定义高吞吐量时任务可激活多少次(例如多少个体可获取角色。可以是一次或多次(multiple)

 

 

描述

Cost

平均费用

Duration

期望的完成任务的周期,以DurationUnit为单位

Instantiation

定义任务可被激活的容量:一次或多次(multiple)

 ONCE

任务近能激活一次,缺省

MULTIPLE

任务可被激活多次

Time Estimation

预期的周期 (工作时间、等待时间,期望周期之和),以DurationUnit为单位

Waiting Time

平均等待时间,以DurationUnit为单位

Working Time

平均工作时间,以DurationUnit为单位

仿真信息属性

5.8转移约束(限制)

 

 

描述

Join

定义任务的流入转移是JOIN-ed

Split

定义任务的流出转移是SPLIT-ed

转移约束属性

5.8.1 接合(Join

接合描述一个活动有多个流入转移的语义。

 

 

描述

Type

AND

接合该任务实例所有流入转移的并发线程:要求同步。同步的线程数量可能取决于前面与分叉(AND split(s))的条件的结果。

XOR

接合可选线程:不要求同步

接合属性

与接合(AND join)可被视为任务的“汇聚前提”;任务不被初始化,直至所有流入路径转移条件为真。

异或接合(XOR join)被初始化,当任一流入转移条件为真时。

5.8.2 分叉SPLIT

分叉描述一个任务存在多条流出转移的语义。

 

 

描述

Transition Refs

从任务流出的转移列表,每个转移由ID标识

Type

AND

定义由任务流出转移表现的许多可能的并发线程。

若转移有条件,则并行执行的实际线程数量取决于与每一转移关联的条件,它们是同时计算的。

XOR

任务流出转移的标识符列表,提供可选的执行转移。

那条转移路径被选中取决于每一单条转移的条件――以列表中定义的顺序计算。

如果计算至一条无条件转移或带有OTHERWISE的条件转移,将结束条件列表计算。

分叉  -- 属性

带有条件的与分叉转移可分别参照"条件与", "多选或", 或这"非排它或"。实际并发的线程数量由执行时条件的计算结果确定。在与分叉之后,过程实例(或过程实例的线程)依据转移条件计算结果分裂成许多各自执行的线程。 (注意:不需要标识符列表,因为该任务的所有流出转移都参与计算,且与顺序无关)

如果在与分叉(AND_SPLIT)中存在一带有条件OTHERWISE的转移,则执行两步计算,第一步计算所有的转移,内含OTERWISE条件的转移除外,若无一 (含无条件者)为真,然后,对带有OTHERWISW条件的转移执行同样的程序 (从一个任务流程的转移只允许一个转移的条件带OTHERWISE子句)

OTHERWISE二选一用于保证过程执行无未定义状态(亦即一个任务的流出转移至少一个将发生)

6.转移信息

转移信息描述工作流执行期间任务间可能的转移,以及允许或禁止转移的条件,更多的控制和结构约束可在任务定义中表述。

A过程定义可看做任务节点间边的网络 (亦即工作流过程图)。所有的边有任务对给定:

(From nodeto node).

任务网络的边可以标上转移条件(Transition conditions)。对于一个确定的边,转移条件为真时允许转移;若未定义路由条件,则如同一永真的条件转移

一个任务若有多个流入或流出转移 ("正常的", 见下述部分),则在任务定义实体中需提供更多的表述控制流向约束和条件计算语法的选项(AND/XOR SPLIT/JOIN的派生)

循环可通过一个回到一个任务的转移来体现――该任务在通向那个转移的一条路径(path)上。典型地,循环中至少有一个任务有多个流出转移,这些转移中的一个或多个含有跳出循环的条件。

对于转移信息中定义的标识符和名称,其范围是工作流过程定义环境。

可能定义或同步多个(并发或选择)控制线程(分叉,接合)以及转移与任务间的顺序 (层次转移/条件)

<xsd:element name="Transition">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=“xpdl:Condition" minOccurs="0"/>

<xsd:element ref=“xpdl:Description" minOccurs="0"/>

<xsd:element ref=“xpdl:ExtendedAttributes" minOccurs="0"/>

</xsd:sequence>

<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>

<xsd:attribute name="From" type="xsd:NMTOKEN" use="required"/>

<xsd:attribute name="To" type="xsd:NMTOKEN" use="required"/>

<xsd:attribute name="Name" type="xsd:string"/>

</xsd:complexType>

</xsd:element>

<xsd:element name="Transitions">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=“xpdl:Transition" minOccurs="0"

maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

 

 

描述

Condition.

给于工作流相关数据表示的转移条件

(例如: 'Contract' = 'SMALL' OR 'Contract' <$20,000).

缺省:真(TRUE

Description

关于转移的简短文字描述

Extended Attributes

为满足特殊实现需要的可选扩展

From

确定转移的FROM(任务标识符)

Id

用于表示该转移

Name

用于表示装得以文字

To

确定转移的TO目标(任务标识符)

转移信息属性

 

6.1条件

 

 

Description

Type

定义转移条件类型,有效值如下:

CONDITION

表示满足其条件则执行转移

OTHERWISE

表示无满足条件执行则该缺省转移

EXCEPTION

表示发生异常且其条件被满足时则执行该转移

DEFAULTEXCEPTION

表示发生异常且无条件被满足时则执行该转移

Xpression

XML标记表述的条件表达式

条件属性

6.1.1 异常条件

ExceptionDEFAULTEXCEPTION 类型允许用户定义仅当异常产生时采用的转移。EXCEPTION类型等价于CONDITION 类型和DEFAULTEXCEPTION类型再配上OTHERWISE。条件可以包含Exception名称或一较复杂的表达式。除截止期限外,异常以引擎特定的方式产生。如同正常转移一样,异常转移仅在源任务完成后发生。异常一般表示非正常完成。

 

7.工作流参与者

工作流参与者是如下类型之一:资源集、资源、组织单元、角色、人或系统。角色和资源以抽象参与者的意义使用,此定义是实际执行者和任务之间的抽象级别,不得不做。运行期间,这些抽象定义被求值并分配给正确的人与/或程序.

在最小的资源库或组织机构模型内,工作流定义实体标识符的范围是其被定义的实体环境(工作流过程定义或过程模型定义。

外部资源库或组织机构模型可包含基本的附加信息,作为此处所表现的基本参与者的补充。

 

 

描述

Description

描述工作流参与者的短文

ExternalReference

对外部定义的参与者的引用,见1.3

Extended Attributes

为满足个别实现需要的可选扩展

Id

用于表示工作流参与者

Name

表示执行者的文本

Participant Type

工作流参与者实体类型定义

工作流参与者属性

1参与者实体类型

参与者实体类型属性表征参与者是一个个体、一个组织单位或抽象的资源(如机器)。

 

 

描述

Type

RESOURCE_SET

一组资源

RESOURCE

确定的资源代理

ROLE

此类允许执行者通过一个角色或技能组寻址。 本上下文中一个角色是指在一个组织机构内具有一种职责(功能)的人。作为职责不必唯一,应定义一个协调者(用于管理或异常处理)和与角色关联的人员列表

ORGANIZATIONAL_UNIT

组织机构模型内的一个部门或其它单元

HUMAN

与系统交互的人,通过一个表现为一到参与者的用户接口的应用

SYSTEM

自动代理

参与者实体类型属性

8.工作流相关数据

工作流相关数据表示工作流过程或包定义的变量。它们典型地被用于保存决策数据(用于条件中)或引用数据值 (参数), 它们在任务或子流程间传递。可以区别于工作流应用数据――它们完全由调用的应用管理和访问,而不能被工作流管理系统访问。工作流相关数据列表定义了工作流过程所需的所有数据对象。DataType属性显性地说明了工作流管理系统需要的所有信息,以便定义适当的数据对象存储数据,这些由工作流过程的任务实例处理。

工作流相关数据可以在工作流过程或包内定义,其作用范围不同,前者仅能被过程内部定义的实体访问,而后者也可被用于定义一个过程实体的参数。

其中传递到被调用子流程的参数,不在当前模型定义的范围内 (例如支持远程过程调用),它是流程设计者的责任――保证已有的跨参数集的兼容性。

 

 

描述

Data Type

流程变量的数据类型

Description

描述数据定义的短文

Extended Attributes

为满足个别实现需要的可选扩展

Id

用于表示工作流相关数据

Initial Value

运行时预设置的数据

Is Array

表示是否是一个数组

Length

数据长度

Name

用于标识工作流相关数据的文本

工作流相关数据属性

9.数据类型

数据类型由一组可用作工作流相关数据定义、形式化参数以及工作流过程组成部分的标准类型组成。也可以在TypeDeclaration内声明一种新的数据类型,标准数据类型可用的地方它亦可用。数据类型可从下述类型集中选择一种。

 

 

描述

Array Type

固定大小的数据组,同一数据类型 (暂不支持)

Basic Type

简单类型:

STRING, INTEGER, FLOAT, DATETIME, BOOLEAN,

Declared Type

TypeDeclaration 元素中声明的数据类型的引用(暂不支持)

Enumeration Type

一个变量或参数 的一组法定的值 (暂不支持)

ExternalReference

外部文档中定义类型的引用,(暂不支持)

List Type

一个无限制的数据组,同一数据类型 (暂不支持)

Record Type

类型可以不同的一组成员 (暂不支持)

SchemaType

采用XML schema定义的数据类型(暂不支持)

Union Type

一组成员,然仅有一个被用作数据实例(暂不支持)

数据类型

9.1基本数据类型

 

 

描述

Type

STRING

字符串

FLOAT

浮点型

INTEGER

整数型

 

 

DATETIME

日期

BOOLEAN

布尔型

 

 

基本数据类型属性


三、扩展模型属性

1.

1.1Type

类型,分为以下模式:

GENERAL:一般流程

COMMON:公共流程

SYSTEM:系统流程

此属性一般不用设置。

1.2MainWorkflowProcessId

MainWorkflowProcessId包内的主流程编号。

此属性必须设置,系统一般默认包内的第一个流程。

 

2.流程

2.1SchemeType

计划类型,为流程的周期性启动制定设置。分为以下模式:

None:无周期性设置。

EveryYear:每年启动一次

EveryMonth:每月启动一次

EveryWeek:每周启动一次

EveryDay:每天启动一次

EveryHour:每小时启动一次

EveryMinute:每分钟启动一次

 

1.2SchemeIntervalTime

表示周期性启动计划间隔时间,与SchemeType配合使用。

Year:表示间隔,此处无意义。

Month:表示第几个月,范围0-12

Month:表示第几个月,范围0-12

Week:表示月内第几周范围0-4。(如果月没有设置,表示年内第几周 0-52

Day:表示月内第几天,范围0-31。(如果设置了Week,表示周内的第几天,范围0-7

Hour:表示第几个小时,范围0-23

Minute:表示分钟,范围0-59

Second:表示秒,范围0-59

IsMonthLastDay:表示月的最后一天。设置此属性是Day属性不再设置。

 

3.活动

3.1ActivityMode

活动模式类型,为活动的类型。一般不用专门设置,建模时,系统初始该类型。

分为以下模式:

Start:表示开始类型的活动。一个流程中一般只有一个开始类型的活动。

End:表示结束类型的活动。一个流程中一般只有一个开始类型的活动。

Manul:人工型活动。表示需要参与者参与的活动。

 

3.2BeforeFormula

公式,为活动实例创建好以后,初始化以前执行。

公式采用JavaScript编码规范。

内嵌的数据(工作流相关数据)表示为:[‘DataFieldId@@DataFieldName’]

DataFieldId:表示数据字段标号,可以为空。为空时采用数据字段名称

DataFieldName:表示数据字段名称。

例如:

[‘2cbbcbe9-3789-4336-afea-2ce398db7cc1@@boolDfCanFinish’] = true;

[‘@@boolDfCanFinish’] = true;

[‘@@stringDfSubject’] = ‘关于。。。等同志的任职的说明’;

 

3.3AcitiveFormula

公式,为活动实例创建好以后,活动开始后执行。

参照上一节。

3.4AfterFormula

公式,为活动实例创建好以后,活动完成后执行。

参照上一节。

3.5N

表示分支-合并模式中,M/N的表达,即在合并时,有N条路由到达即可满足条件,推进流程。

 

3.6MultiInstanceN

表示多实例分支-合并模式中,M/N的表达,即在多实例合并时,有N条多实例路由到达即可满足条件,推进流程。

3.7SchemeWorkingIntervalTime

表示该活动实例,计划用多长时间完成,如果超时,则发送超时催办。

设置内容参照流程属性SchemeIntervalTime

 

3.8Notify

表示该活动实例,通知模式,例如如果超时,发送超时催办时发送给谁的设定。

与上一节SchemeWorkingIntervalTime配合使用。

以下属性,设置为True时表示采用,为False时表示不采用。

 

HasStartNotifyFlowOwner:活动开始时,通知流程所有者。

HasStartTimeNotifyParticipant:活动开始时,通知活动参与者。

HasStartTimeNotifyStarter:活动开始时,通知流程启动者及拟稿人。

 

HasCompleteNotifyFlowOwner:活动完成时,通知流程所有者。

HasCompleteNotifyParticipant:活动完成时,通知活动参与者。

HasCompleteNotifyStarter:活动完成时,通知流程启动者及拟稿人。

 

HasExceptionNotifyFlowOwner:活动异常时,通知流程所有者。

HasExceptionNotifyParticipant:活动异常时,通知活动参与者。

HasExceptionNotifyStarter:活动异常时,通知流程启动者及拟稿人。

 

HasOverTimeNotifyFlowOwner:活动超时时,通知流程所有者。

HasOverTimeNotifyParticipant:活动超时时,通知活动参与者。

HasOverTimeNotifyStarter:活动超时时,通知流程启动者及拟稿人。

 

HasEmail:表示Email通知。

HasSms:表示短信通知。

HasTelephone:表示电话通知。

 

3.9Paticipants

表示该活动的参与者设置。

3.9.1 BenchMark

表示相对标记。

属性分为以下模式::

NONE:无相对标记

PRIOR:指上一步活动实例。

START:流程的开始活动实例。

MULTINSTANCESTART:多实例对内的多实例活动类型的实例。

3.9.2 BenchMarkParticipant

表示相对的参与者,与BenchMark属性配合使用

属性分为以下模式:

None:无相对参与者。

Self:指相对自己。

DirectManager:指相对直属领导。

AssistantDepartmentManager:相对部门副经理。

DepartmentManager:相对部门经理。

AssistantChildCompanyManager:相对子公司(分公司)副经理。

ChildCompanyManager:相对子公司(分公司)经理。

AssistantCompanyManager:相对公司副经理。

CompanyManager:相对公司经理。

 

LocateGroup:相对本组。

LocateRole:相对本角色。

LocateDepartment:相对本部门。

LocateChildCompany:相对本子公司。

LocateCompany:相对本公司。

 

LocateDepartmentDutyId:相对本部门职责。

LocateChildCompanyDutyId:相对本子公司职责。

LocateCompanyDutyId:相对本公司职责。

 

3.9.3P articipantType

表示参与者类型。

属性分为以下模式:

ORGANIZATIONAL_UNIT:表示组织,如部门,公司等。

HUMAN:指个人。

ROLE:指角色。

RESOURCE:指资源。

SYSTEM:指系统。

DUTY:指职责。

GROUP:指分组。

CUSTOM:暂无意义。

 

3.10Tools

表示该活动的应用设置。

3.10.1 ToolExecuteType

表示工具应用执行类型。

属性分为以下模式:

Before:活动实例初始化的时候执行。

Active:活动实例活动的时候执行。

After:活动实例完成的时候执行。

Exception:活动实例发生异常的时候执行。

Roolback:活动实例回滚的时候执行。

3.11DataFields

表示该活动的专有相关数据设置。

参照工作流相关数据。

 


 

4.应用

4.1ApplicationType

应用类型,为应用的类型。

分为以下模式:

WEBPAGE:表示页面。

WEBSERVICE:表示WEBSERVICE

JAVASCRIPT:表示JAVASCRIPT

FORM:表示windows Form类型。

DOTNETAPI:表示DOTNETAPI

WINAPI:表示WINAPI

WINCOM:表示WINCOM

APPLICATION:表示APPLICATION应用程序。

4.2ApplicationExecuteType

应用执行类型,为应用的执行类型。

分为以下模式:

AUTOMATIC:表示自动执行。

MANUAL:人工执行

4.3ApplicationFile

应用文件路径。

4.4ApplicationClass

应用调用的类。

4.5ApplicationFunction

应用调用的函数。

4.6ReturnFormalParameter

返回值形参定义。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值