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