TC-1025_xpdl_2_2005-10-03.doc
日期:
2006-8-10 8:50:13
對一個工作流程進(jìn)行分析,建模,描述,書寫文檔的工具五花八門。本流程定義接口定義了一個通用的接口格式,以支持不同工具對流程定
義的可遷移性。
?
?
日期:
2006-8-10 8:52:43
本接口也定義了一個開發(fā)時與運(yùn)行時環(huán)境的正式分界,即使得某一流程定義工具定義的流程(開發(fā)時環(huán)境)可以作為許多不同運(yùn)行時環(huán)境
的輸入。
頁面:
9
?
?
日期:
2006-8-10 8:58:04
一個開發(fā)時工具(或者是工作流建立時)建立的工作流定義,可以和各種運(yùn)行時工具交互。這些交互(包括互相傳遞,或在某一個存儲地集
中存取)通過
xpdl
通用接口定義格式實現(xiàn)。
?
?
?
日期:
2006-8-10 9:02:46
這個接口定以一個元數(shù)據(jù)模型的形式存在。該模型即在一個工作流定義中區(qū)別出通用的實體,又有描述這些實體的很多屬性。正是基
于此模型,各種工具可以通過一個通用格式傳遞定義。
?
?
日期:
2006-8-10 9:08:01
XPDL
的一個關(guān)鍵點是允許各種處理工具靈活處理信息。
XPDL
可能永遠(yuǎn)不能支持所有工具的所有附加信息要求。但基于這個有限實體
組成的模型,使得可以支持多種不同的處理方式。
?
?
日期:
2006-8-10 9:11:52
XPDL
一個最重要的元素就是它的架構(gòu),使得不同工具可以以一個通用的形式描述自己獨(dú)特的屬性。當(dāng)然,我們歡迎大家將我們遺漏的屬
性定義提議給
WFMC
接口
1
工作組,從而可能包含在未來版本中。
?
?
日期:
2006-8-10 9:16:23
這份文檔就描述了這個元數(shù)據(jù)模型。
XPDL
語法就是和這些實體,屬性相關(guān)。對于一個工作流工具而言,關(guān)于此模型的應(yīng)用場景無非是下
面兩種:
1
。從依
XPDL
語法寫成的文件
*.xpdl
導(dǎo)入流程定義,成為本工組自己的流程定義格式。
2
。把本工具的流程定義格式導(dǎo)出成
*.xpdl
。
?
?
日期:
2006-8-10 9:17:02
xsl
樣式表可以用來完成這兩種操作。
?
?
日期:
2006-8-10 9:23:21
這里用的所有關(guān)鍵字和術(shù)語都基于
WFMC
屬于表,或
BPMN
使用的術(shù)語。
?
?
日期:
2006-8-10 9:24:08
下一頁繼續(xù)顯示頁面
9
上的注釋
process definition, business process model,
和
workflow model
都是指的所謂元數(shù)據(jù)模型。
?
?
日期:
2006-8-10 9:26:01
任何工具廠商不能自己聲明遵循
WFMC
標(biāo)準(zhǔn),除非
WFMC
通過了嚴(yán)格規(guī)范的測試。
?
?
日期:
2006-8-10 9:30:24
遵循此規(guī)范本質(zhì)上是遵循
XPDL
語法。但是,
XPDL
也僅僅是描述了有限的元素。所以對于林林總總的工作流工具,很有可能即使遵循了此
規(guī)范,也無法實現(xiàn)完全的彼此間的兼容。不管如何,一個聲明了遵循該規(guī)范的工具,必須產(chǎn)生正
*
確
.x
的
pdl
。
頁面:
10
?
?
日期:
2006-8-10 15:26:26
一個
XPDL
包對應(yīng)著
BPMN
的一個
BPD
,由多個流程定義組成。
WFMC
定義一個流程定義為:
一個工作流程的表示,支持自動化處理,比如模型化,或由一個工作流管理系統(tǒng)能激活。流程定義由許多工作實體和他們之間的關(guān)系組成,
另外包括標(biāo)志流程開始結(jié)束的標(biāo)準(zhǔn),每個工作實體本身的相關(guān)信息,比如參與者,關(guān)
I
聯(lián)
t
應(yīng)的用及數(shù)據(jù)等等。
?
?
日期:
2006-8-10 15:20:49
流程定義提供了一個充分描述流程的環(huán)境,從而可以用于如下場合:
1
。在流程實例的創(chuàng)建和控制中起到模板作用。
2
。模擬及預(yù)測。
3
。監(jiān)督分析流程實例的基礎(chǔ)。
4
。文檔化,可視化,知識管理。
日期:
2006-8-10 15:21:57
流程定義可以包含子流程的引用。這些子流程是單獨(dú)定義的,他們是整個流程定義的一部分。
頁面:
11
?
?
日期:
2006-8-10 15:24:08
最初的流程定義將包含至少能初始化并支持流程執(zhí)行的一個對象和屬性的集合。其中一些將被所有的這個定義的流程實例繼承。
?
?
日期:
2006-8-10 15:26:01
WFMC
術(shù)語表包含針對一個流程定義的基本概念(工作實體,傳遞,關(guān)聯(lián)數(shù)據(jù)和參與者等)的描述和通用術(shù)語。
?
?
日期:
2006-8-10 15:30:27
本規(guī)范使用
XML
機(jī)制作為流程定義交換的基礎(chǔ)。
XPDL
構(gòu)造了一個通用的交換標(biāo)準(zhǔn),這樣各個工具可以繼續(xù)隨意使用流程定義的內(nèi)在形
式,同時又能導(dǎo)入導(dǎo)出一個工業(yè)界標(biāo)準(zhǔn)形式。
?
?
日期:
2006-8-10 15:35:56
根據(jù)不同的應(yīng)用背景,許多不同的機(jī)制可以用來在系統(tǒng)間傳遞流程定義。不管怎么傳遞,流程定義本身必須是一個統(tǒng)一的形式,即一些通
用對象的集合,他們之間的關(guān)系和屬性,等等解釋著定義本身內(nèi)在的概念。
頁面:
12
?
?
日期:
2006-8-10 15:42:56
元模型描述了在一個流程定義中包含的頂層的實體,之間的關(guān)系,屬性(包括哪些用來模擬或監(jiān)督而不是執(zhí)行的屬性)。也定義了一些約
定描述如何把各種流程定義劃分為對應(yīng)的流程模型,如何在多個流程定義,或者流程模型間公用的定義數(shù)據(jù)。
?
?
日期:
2006-8-11 7:58:49
流程模型包含各種實體,范圍可能不限于一個流程。具體說,參與者定義,應(yīng)用程序,相關(guān)數(shù)據(jù)等可以由多個流程來共享引用。元模型采取
一個公用的流程定義存儲各種組成流程定義的元素。出于存儲本身需要及支持各流程定義快速存取,包的概念被引入。包就是一個存
儲各種流程定義的公用元素的容器,用來避免重復(fù)定義。
日期:
2006-8-11 8:00:30
包提供了一個容器來存放許多流程定義實體的公用屬性(作者,版本,狀態(tài),等等)。每一個屬于包的流程定義將自動繼承包內(nèi)的屬性,除非
他們在自己的定義中重新聲明某屬性。
?
?
日期:
2006-8-11 8:05:19
一個
XPDL
包對應(yīng)一個
BPMN
的
BPD
。在
pachage
之下,有
4
個元素會被本段落討論。
1
。
pool(
包括
lanes)
與流程關(guān)聯(lián)。用來布局和定義序列流的參與者。
2
。
message flow
用來代表流程間的交流,這是基于
wsdl
協(xié)議的。
3
。
association
和
artifact
用來為流程定義形成文檔。他們方便讀者讀圖,但并不影響流程執(zhí)行。
?
?
日期:
2006-8-11 8:07:59
在包里,一些實體的定義是全局的,并且能被包的所有的流程引用。這些實體是:
1
。參與者聲明。
2
。應(yīng)用聲明和
3
。相關(guān)數(shù)據(jù)
?
?
日期:
2006-8-11 8:12:38
包引用允許使用包內(nèi)的或該包引用的外包的最頂層實體:
1
。子流程的流程
id
2
。參與者聲明
3
。應(yīng)用聲明
4
。類型聲明
?
?
日期:
2006-8-11 8:25:02
同一個存儲地跨不同包的名字和
id
的管理約定是為了方便用戶和廠商的全局定義需要。在激活流程的過程中是按如下順序?qū)ふ覍?yīng)名
字。
1
。流程
id-
首先是同一個模型內(nèi),然后是引用的外部模型。
2
。應(yīng)用
/
參與者
--
同樣。
下一頁繼續(xù)顯示頁面
12
上的注釋
?
頁面:
13
?
?
日期:
2006-8-11 8:29:42
相關(guān)數(shù)據(jù)的命名在一個包內(nèi)必須唯一。本版本的規(guī)范要求在流程間作為參數(shù)傳遞相關(guān)數(shù)據(jù)時需采用拷貝策略。流程設(shè)計者,管理者負(fù)
責(zé)保證在流程定義
/
模型中一致的名字
/
類型對的使用。這樣以支持子流程操作。
?
?
日期:
2006-8-11 8:35:42
多個流程定義對應(yīng)一個模型定義。包作為一個容器,劃分了許多流程定義,包含了許多關(guān)聯(lián)的實體數(shù)據(jù),而這些數(shù)據(jù)可以被這些流程定義
共享引用。(因此定義一次就足夠了)
?
?
日期:
2006-8-11 8:40:11
包的元模型給出了流程模型的交換存儲所涉及的實體和屬性。它給出了這樣的規(guī)則,一個流程關(guān)于參與者,應(yīng)用,相關(guān)數(shù)據(jù)等的實體數(shù)據(jù),
是可以繼承自包內(nèi),而非在每個流程定義中。
頁面:
14
?
?
日期:
2006-8-11 8:41:35
包定義允許聲明許多應(yīng)用于各個流程定義的公用屬性數(shù)據(jù)。這些屬性可以在流程定義中被忽略。(覆寫)
?
?
日期:
2006-8-11 8:50:34
流程定義的導(dǎo)入導(dǎo)出接口是定為和流程或者說工作流管理系統(tǒng)關(guān)聯(lián)的,某種形式存在的,一個定義的存儲地的交互。接口的實現(xiàn)即是把
xpdl
文件從這個存儲地遷移出,或遷移進(jìn)。這個接口允許流程粒度或包粒度的遷進(jìn)遷出。
?
?
日期:
2006-8-11 8:53:51
內(nèi)部接口那可就具體某工具說了算,和本規(guī)范無關(guān)了。但要求分離存儲地的靜態(tài)和動態(tài)使用。
?
?
日期:
2006-8-11 8:57:56
內(nèi)部的存儲結(jié)構(gòu)不屬于
WFMC
標(biāo)準(zhǔn)的部分。包的使用只是為了簡化可重用數(shù)據(jù)的導(dǎo)入導(dǎo)出。一個簡單的存儲結(jié)構(gòu)可以這樣實現(xiàn),當(dāng)導(dǎo)入
一個流程定義時,共享數(shù)據(jù)可以從對應(yīng)包中復(fù)制到該定義中去。
?
?
日期:
2006-8-11 9:10:03
關(guān)于覆寫的可能性就要求了
XPDL
結(jié)構(gòu)的范圍和繼承性。
1
。相關(guān)數(shù)據(jù)
流程相關(guān)數(shù)據(jù)的范圍是直接外包的元模型的元素,不能嵌套。
2
。屬性
直接外包并可以嵌套,在低層可以覆寫。
3
。參與者和應(yīng)用
同
2
。所有的相關(guān)數(shù)據(jù)和擴(kuò)充屬性必須在他們被使用的范圍內(nèi)定義,至少在同一個包內(nèi)。
?
?
日期:
2006-8-11 9:12:55
對于外部包又引用外部包元素,則機(jī)制起于根包。這樣避免外包來負(fù)責(zé)在不知情的情況下避免沖突。
?
?
日期:
2006-8-11 9:15:05
外包機(jī)制給設(shè)計者和管理者以及大的靈活性。可以分離組織描述和流程描述到各自的模型,也可以改變一個流程描述而不影響其它
的。
頁面:
15
?
?
日期:
2006-8-11 9:16:41
原模型明確了流程定義交換的基本實體和屬性。對于一個流程定義,下面的實體必須被定義。他們或者在流程定義本身,或者繼承自包
定義。
?
?
日期:
2006-8-11 9:18:38
這些實體包含了對一個流程的通用描述方式的屬性。下面詳細(xì)討論。
?
?
日期:
2006-8-11 9:20:48
XPDL
流程或說工作流對應(yīng)
BPMN
流程。在流程級,有
2
個新元素:
assignment
和
category
;下面討論。
assignment
允許在流程執(zhí)行中給數(shù)據(jù)
區(qū)賦值。
category
用來報告分析運(yùn)行的流程但不影響如何運(yùn)行。
頁面:
16
?
?
日期:
2006-8-11 9:21:44
為了能夠流程定義兼容,下面是元模型定義的一些基本實體。
?
?
日期:
2006-8-11 9:50:41
swimlanes
用來方便圖形化流程的劃分,也可以在流程粒度上指派參與者信息,并可以在活動粒度上指派執(zhí)行者信息
sw
。
imlanes
結(jié)構(gòu)由
一些不重疊的矩形來描述,這些矩形稱為
pool
,每個
pool
可以被細(xì)分為許多
lane.
?
?
日期:
2006-8-11 9:52:49
一個
pool
是
flow object(activity)
和
sequence flow(transition)
的容器。
sequence flow
可以跨越
同一個
pool
的
lane
,但不能跨越
pool
。
message flow
用來傳遞
pool
之間的信息。
?
?
日期:
2006-8-11 9:55:45
pool
的一個方面是在其中是否有
activity
被詳細(xì)描述。一個完全描述的是
white box,
相反是
black box
。在
black box
中沒有
sequence
flow
,但可以存在
message flow
。
?
?
日期:
2006-8-11 9:57:00
圖的每一頁為一個獨(dú)立的
'background pool'
。沒有精確聲明的
activity,sequence flow
都在這個
pool
中。
?
?
日期:
2006-8-11 9:58:36
用來劃分
Pool
。
lane
的屬性可以被其中的
activity
繼承。因此一般的用法就是給一個
role name
,然后
activity
都繼承,從而實現(xiàn)參與者或執(zhí)
行者表達(dá)。
?
?
日期:
2006-8-11 10:01:57
流程定義實體為流程內(nèi)的實體提供了上下文信息。他是流程本身的容器,提供了了管理信息,或在流程執(zhí)行期的一些信息(初始化參數(shù),執(zhí)
行優(yōu)先級,檢查時間限制,通知人,模擬信息等)。
?
?
日期:
2006-8-11 10:06:00
一個流程定義有
1
個或多個活動組成,每一個是一個邏輯的自包含的工作環(huán)節(jié)。一個活動代表被一些資源或計算機(jī)應(yīng)用程序執(zhí)行的工
作。它關(guān)聯(lián)著一些可選信息,比如是否有流程管理系統(tǒng)自動開始或結(jié)束,或相對爭奪同一資源的其它活動的優(yōu)先級。也可以使用某具體
的相關(guān)數(shù)據(jù)區(qū)。范圍相對對應(yīng)的流程定義。
?
?
日期:
2006-8-11 10:07:49
下一頁繼續(xù)顯示頁面
16
上的注釋
除了可以有一個明確聲明的應(yīng)用程序?qū)崿F(xiàn),也可以有
BPMN
的
task
之一實現(xiàn)。多數(shù)關(guān)聯(lián)
B2B
管理。
7.6.5
.3
中描述具體細(xì)節(jié)。
?
?
日期:
2006-8-11 10:10:58
一個活動可以是一個子流程
---
這種情況下它是一個流程定義執(zhí)行的容器(該流程可能由同一個服務(wù)內(nèi)執(zhí)行,或一個遠(yuǎn)端服務(wù))。而這個子
流程可以包含自己的元素。借用輸入輸出參數(shù)可以實現(xiàn)被調(diào)用流程和調(diào)用流程間的數(shù)據(jù)交流。這樣的定義等價于
BPMN
的獨(dú)立子流
程。
頁面:
17
?
?
日期:
2006-8-11 10:12:45
一個活動可以是一些活動或一些序列活動。這些都會共享本流程的命名空間。這個定價于
BPMN
的嵌入子流程。
?
?
日期:
2006-8-11 10:14:17
一個活動可以是一個通道。它不做具體工作處理,而只是為
transition
座路由。等價于
BPMN
的
gateway
。
?
?
日期:
2006-8-11 10:16:38
最后,一個活動可以是一個
BPMN
的
event
。一個
event
是在流程執(zhí)行過程中發(fā)生的某件東西。他們影響流程的執(zhí)行,通常由一個觸發(fā)和影
響。有
3
種
event
:
start,intermediate,end
。
7.6.4
詳細(xì)描述。
?
?
日期:
2006-8-11 11:07:17
活動通過流控制彼此聯(lián)系。每一個
transition
有
3
個基本屬性,來源,目的,過渡條件。從
a
一
ct
個
ivity
到另一個的
transition
可以使有條件判
斷也可以沒有。
tranisition
構(gòu)成了流程內(nèi)
activity
的順序執(zhí)行或并序執(zhí)行。分叉合并的信息在對應(yīng)得
activity
中定義,分叉在來源
activity
中
以活動后信息格式處理,合并則在目的
activity
中以活動前信息格式處理。這樣使得流程的同步或異步控制在對應(yīng)活動本身得到管理,從
而使得
transition
保持簡化。
transition
的范圍限定在對應(yīng)流程定義本身。
?
?
日期:
2006-8-11 11:11:10
更復(fù)雜的
transition
,也許不能用這種方式表達(dá),那么可以
ro
用
ute activity
來表達(dá)。這個
activity
就是一個界于真實
activity
的步驟。使用這
兩種方式可以處理任何情況。由于產(chǎn)業(yè)界已經(jīng)存在幾個不同的處理方式,幾個兼容分類在
xpdl
中定義出來。后續(xù)章節(jié)將詳細(xì)討論。
?
?
日期:
2006-8-11 11:14:34
描述了可以作為流程中某活動執(zhí)行者的資源。這些用來執(zhí)行某具體活動的資源作為該活動的某屬性描述,即參與者賦值。當(dāng)然,并不一
定是某個人,可能是某些人的集合,或某些機(jī)器資源。元模型給出了幾個簡單的資源類型。
日期:
2006-8-11 11:20:23
描述了
IT
應(yīng)用,這些應(yīng)用在每一個活動處理時可能被相關(guān)服務(wù)調(diào)用,或完全自動處理,并且由活動的應(yīng)用屬性標(biāo)志。這些應(yīng)用可能是某些
通用的工具,具體的部門或企業(yè)服務(wù),或工作流管理系統(tǒng)框架本身的某過程調(diào)用。應(yīng)用定義反映了在引擎和應(yīng)用之間的接口或傳遞參
數(shù)。
?
?
日期:
2006-8-11 11:23:12
為了滿足額外的模型概念,即不是基本流程元素的部分
B
,
PMN
提供了
artifact
和
association
來關(guān)聯(lián)流程元素。因此,
artifact
不影響基本的
序列流或消息流,也不影響執(zhí)行語言。
?
?
日期:
2006-8-11 11:25:25
下一頁繼續(xù)顯示頁面
17
上的注釋
在這點上,
BPMN
提供了
3
個標(biāo)準(zhǔn)的
artifact:data object,group,annotation
。后期版本可能增加更多類型。一個建模者或建模工具可以使
用新
artifact
類型擴(kuò)展
BPD
,但任何的
artifact
都必須遵循序列流和消息流。
頁面:
18
?
?
日期:
2006-8-11 11:27:38
消息流用來描述兩個流程
/
參與者之間的消息傳遞。在
BPMN
,
2
個獨(dú)立的
pool
代表兩個參與者
/
流程。所有的小溪流必須連接兩個
pool
。
可以連接
pool
的邊界或
pool
內(nèi)的元素。但不能在同一個
pool
內(nèi)連接。
?
?
日期:
2006-8-11 11:29:45
一個
association
用來對流對象關(guān)聯(lián)信息或
artifact
。文本的或圖形的非流對象可以和流對象或流本身關(guān)聯(lián)。一個關(guān)聯(lián)也用來顯示補(bǔ)充一
個
activity
的
activity
們。
?
?
日期:
2006-8-11 11:34:45
一個關(guān)聯(lián)并沒有對某一個執(zhí)行語言的映射聲明。他們關(guān)聯(lián)的對象提供了
bpd
圖的附加信息給讀者,但并不直接影響流程執(zhí)行。
?
?
日期:
2006-8-11 12:25:19
這里定義了在流程執(zhí)行期間創(chuàng)建和使用的數(shù)據(jù)。流程中的活動或應(yīng)用可以使用這些數(shù)據(jù),也可以在活動間或
transition
的表達(dá)式間傳遞
持久化數(shù)據(jù)或中間結(jié)果。數(shù)據(jù)區(qū)關(guān)聯(lián)著特定的類型。
XPDL
包含了基本的和復(fù)雜的數(shù)據(jù)類型定義。活動,應(yīng)用,過渡條件等都可以引用數(shù)
據(jù)區(qū)。
?
?
日期:
2006-8-11 12:28:08
元模型設(shè)定了很多標(biāo)準(zhǔn)數(shù)據(jù)類型;這些是對應(yīng)數(shù)據(jù)區(qū)的,系統(tǒng)或環(huán)境變量,或參與者數(shù)據(jù)。表達(dá)式可以使用這些類型來支持條件估算,并可
以給數(shù)據(jù)區(qū)賦予新值。數(shù)據(jù)類型可以用
xml schema
或外部資源數(shù)據(jù)引用來擴(kuò)展。
?
?
日期:
2006-8-11 12:30:46
這些數(shù)據(jù)由流程管理系統(tǒng)貨本地系統(tǒng)環(huán)境維護(hù),但可以由流程或活動訪問,這可能出現(xiàn)在條件表達(dá)式的判斷或相關(guān)數(shù)據(jù)區(qū)的賦值時。
?
?
日期:
2006-8-11 12:33:44
資源存儲負(fù)責(zé)參與者可以使人,程序,或機(jī)器的情況。更復(fù)雜的情況,參與者聲明可以引用一個資源存儲地,而這個存儲地可能是組織結(jié)構(gòu)
模型。注意本規(guī)范并沒有定義或要求一個資源存儲。
?
?
日期:
2006-8-11 12:36:34
雖然元模型和關(guān)聯(lián)的
XPDL
包含了很可能在流程定義交換期間需要的構(gòu)造組成,但是在某種情況下仍然需要對一個流程定義追加附加信
息。建議用戶和廠商盡可能使用標(biāo)準(zhǔn)的元素,但是
XPDL
仍然提供一個標(biāo)準(zhǔn)擴(kuò)展方式來追加擴(kuò)展元素。
頁面:
19
?
?
日期:
2006-8-11 12:39:28
主要擴(kuò)展途徑是通過使用擴(kuò)展屬性。擴(kuò)展屬性是用戶和廠商定義的元素的特征描述。
XPDL
模式支持對所有
XPDL
元素的命名空間的擴(kuò)
展。
XPDL
元素可以被擴(kuò)展子元素,新屬性。
?
?
日期:
2006-8-11 12:43:41
在本規(guī)范中并沒有聲明具體如何編碼和傳遞參數(shù)數(shù)據(jù)。而在使用接口
4
的遠(yuǎn)端子流程激活時,參數(shù)傳遞確實使用具體的交互操作的上下
文明確定義。任何局部的定義,都是廠商基于自己產(chǎn)品的,與本規(guī)范無關(guān)。
頁面:
20
?
?
日期:
2006-8-11 13:56:57
圖形信息是可選的,工具各自決定的。可能在每個
XPDL
元素出現(xiàn)多次,這取決于對
XPDL
文件追加圖形信息的工具個數(shù)。每一個工具,以
TOOLID
區(qū)別,可以追加自己的圖形信息。因此,每一個工具可以以不同的形式展現(xiàn)相同
X
的
PDL
。
__