第六講工作流管理系統(tǒng)架構(gòu)_第1頁
第六講工作流管理系統(tǒng)架構(gòu)_第2頁
第六講工作流管理系統(tǒng)架構(gòu)_第3頁
第六講工作流管理系統(tǒng)架構(gòu)_第4頁
第六講工作流管理系統(tǒng)架構(gòu)_第5頁
已閱讀5頁,還剩94頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、東華大學(xué)計(jì)算機(jī)學(xué)院Chttp:/第六講第六講WFMC參考模型參考模型 主要內(nèi)容主要內(nèi)容主要內(nèi)容主要內(nèi)容主要內(nèi)容主要內(nèi)容WFMC參考模型參考模型工作流管理聯(lián)盟提出的WFMC參考模型,其中包括了有關(guān)工作流管理系統(tǒng)的一些規(guī)范,定義了工作流管理系統(tǒng)的結(jié)構(gòu)及其與應(yīng)用、管理工具和其他工作流管理系統(tǒng)之間的應(yīng)用編程接口;其主要目的是為了實(shí)現(xiàn)工作流技術(shù)的標(biāo)準(zhǔn)化和開放性,從而支持異構(gòu)工作流管理系統(tǒng)與產(chǎn)品之間的互操作,支持基礎(chǔ)工作流管理系統(tǒng)的應(yīng)用開發(fā)與擴(kuò)展,并且使得其他的應(yīng)用可以使用該結(jié)構(gòu)和定義好的通用API(應(yīng)用編程接口)訪問不同的工作流管理系統(tǒng)提供的服務(wù),實(shí)現(xiàn)與其他應(yīng)用的快速有效集成。工作流管理系統(tǒng)的主要功能工

2、作流管理系統(tǒng)的主要功能工作流管理系統(tǒng)是一個軟件系統(tǒng),它完成工作流的定義和管理,并按照在計(jì)算機(jī)中預(yù)先定義好的工作流邏輯,推進(jìn)工作流實(shí)例的執(zhí)行。工作流管理需要一個過程定義工具、一個過程執(zhí)行引擎、用戶和應(yīng)用接口用來訪問和激活工作請求、監(jiān)控和管理工具以及審計(jì)功能,有的系統(tǒng)還提供了適配集成工具,拓展了業(yè)務(wù)過程中工作流集成的柔性。每個業(yè)務(wù)過程都有一個生命周期,從幾分鐘到幾天(甚至數(shù)月),由過程的復(fù)雜性與組成活動的持續(xù)時間來決定。有多種方法實(shí)現(xiàn)工作流管理系統(tǒng),使用多種IT和通訊組件,運(yùn)行環(huán)境可以從一個小的本地工作組到企業(yè)間。但所有的工作流管理系統(tǒng)都會展現(xiàn)一些共有的特性,這為不同產(chǎn)品間的集成和互操作性提供了一

3、個基礎(chǔ)。工作流參考模型為構(gòu)建工作流系統(tǒng)和不同的實(shí)現(xiàn)方法提供了一個公共的基礎(chǔ)。 三個功能區(qū)三個功能區(qū) 定義態(tài)功能:對工作流過程與其組成活動定義、建模;運(yùn)行態(tài)控制功能:管理在運(yùn)行環(huán)境中的工作流過程,調(diào)度工作流活動的演進(jìn);交互功能:在運(yùn)行態(tài),為處理不同活動步驟進(jìn)行的與用戶、IT應(yīng)用工具間的交互?;咎匦砸约爸饕δ苤g的關(guān)系基本特性以及主要功能之間的關(guān)系 建立時期功能建立時期功能建立時期的功能負(fù)責(zé)產(chǎn)生業(yè)務(wù)過程的計(jì)算機(jī)化定義。通常把定義的結(jié)果稱為過程模型、過程模板、過程元數(shù)據(jù)、或者過程定義。過程定義由一系列分散的活動、相關(guān)的計(jì)算機(jī)、人員操作、活動間控制過程進(jìn)程的規(guī)則構(gòu)成。有些工作流系統(tǒng)允許在運(yùn)行時期改

4、變過程定義,在上圖中如反向箭頭所示。WFMC沒有把過程定義的初始階段作為規(guī)范的一部分,但這是區(qū)分不同WFM產(chǎn)品的重要標(biāo)志。運(yùn)行時期過程控制功能運(yùn)行時期過程控制功能在運(yùn)行時期,過程定義由負(fù)責(zé)創(chuàng)建、控制過程實(shí)例的軟件所解釋,這個軟件并負(fù)責(zé)安排過程中各個活動的執(zhí)行時間,調(diào)用適當(dāng)?shù)娜藛T、IT應(yīng)用程序資源等。這體現(xiàn)了工作流管理系統(tǒng)在運(yùn)行時期的控制功能,這些控制功能,就像過程定義中描述的過程與現(xiàn)實(shí)所見到的實(shí)際過程間的聯(lián)接,反映在運(yùn)行時期的用戶與IT應(yīng)用程序間的交互。這些控制實(shí)現(xiàn)了流程的演進(jìn),也控制了工作中對資源的利用。在控制功能的表現(xiàn)中,核心組件是基本工作流管理控制軟件(工作流引擎engine),負(fù)責(zé)過程

5、的創(chuàng)建與刪除,控制運(yùn)行過程中活動的執(zhí)行時間安排,以及與人、應(yīng)用工具資源進(jìn)行交互。工作流引擎經(jīng)常是分布與多個計(jì)算機(jī)平臺中的,用來處理在大的地域跨度中操作的過程。運(yùn)行時期活動交互運(yùn)行時期活動交互工作流過程中的活動總是與人類的操作有關(guān),交互經(jīng)常是在使用特殊的IT工具后,或者信息處理操作需要一個特殊的應(yīng)用程序來操作一些信息時,交互才被意識到。在活動間轉(zhuǎn)移控制、確定過程的運(yùn)行狀態(tài)、調(diào)用應(yīng)用工具、傳遞適當(dāng)?shù)臄?shù)據(jù)等,都必須與過程控制軟件進(jìn)行交互。制定標(biāo)準(zhǔn)的框架來支持這種交互,有如下好處:在多工作流系統(tǒng)中使用一致的接口;可以開發(fā)工作于不同工作流產(chǎn)品中的通用應(yīng)用工具。 參與者間分配任務(wù)參與者間分配任務(wù) 在參與者

6、間分配任務(wù)和信息的能力是工作流運(yùn)行時期組件的主要區(qū)分特性。分配功能可能在各種不同的級別上進(jìn)行(從工作組到企業(yè)間),這要依靠工作流的范圍,因此,這也許會使用多種不同的消息機(jī)制(電子郵件、消息傳遞、分布式對象技術(shù)等)。 工作流制定服務(wù)(任務(wù)分配)是核心功能組件,通過接口提供給用戶、以及分布在工作流范圍內(nèi)的應(yīng)用程序。每一個這樣的接口都是一個潛在的、可以與其他工作流制定服務(wù)、其他基礎(chǔ)組件或應(yīng)用程序組件進(jìn)行集成的點(diǎn)。 強(qiáng)調(diào)分配問題的上層工作流體系結(jié)構(gòu)強(qiáng)調(diào)分配問題的上層工作流體系結(jié)構(gòu) WFMC定義的所有接口定義的所有接口 過程定義數(shù)據(jù),以及過程定義數(shù)據(jù)的轉(zhuǎn)換規(guī)范 支持不同工作流系統(tǒng)間協(xié)同工作的接口 支持與

7、各種不同IT應(yīng)用程序交互的接口 支持與用戶交互的接口 提供系統(tǒng)監(jiān)視,以及標(biāo)準(zhǔn)功能來簡化復(fù)合工作流應(yīng)用環(huán)境管理的接口工作流管理系統(tǒng)的體系結(jié)構(gòu)工作流管理系統(tǒng)的體系結(jié)構(gòu)為了能夠更好地支持企業(yè)業(yè)務(wù)過程建模、分析和實(shí)施,適應(yīng)全球市場的多元化趨勢,以及實(shí)現(xiàn)各種獨(dú)自開發(fā)的工作流系統(tǒng)之間的交互,需要對該類產(chǎn)品與技術(shù)建立相關(guān)標(biāo)準(zhǔn),從系統(tǒng)結(jié)構(gòu)、術(shù)語使用、接口實(shí)施方面提供標(biāo)準(zhǔn)化與規(guī)范化的定義,并以此為基礎(chǔ)實(shí)現(xiàn)不同工作流產(chǎn)品之間的互操作,便于與其他應(yīng)用系統(tǒng)的集成。工作流參考模型的體系結(jié)構(gòu)圖工作流參考模型的體系結(jié)構(gòu)圖 Amit Sheth的定義的定義 工作流是涉及到多任務(wù)協(xié)調(diào)執(zhí)行的活動,這些任務(wù)分別由不同的處理實(shí)體來完

8、成。一項(xiàng)任務(wù)定義了需要做的某些工作,它可用各種形式來進(jìn)行定義,包括在文件或電子郵件中的文本描述、一張表格、一條消息以及一個計(jì)算機(jī)程序。用來執(zhí)行任務(wù)的處理實(shí)體可以是人,也可以是計(jì)算機(jī)系統(tǒng)(比如一個應(yīng)用程序、一個數(shù)據(jù)庫管理系統(tǒng))。工作流參考模型工作流參考模型 1993 年,WfMC的成立標(biāo)志著工作流技術(shù)開始進(jìn)入相對成熟的階段。為了實(shí)現(xiàn)不同工作流產(chǎn)品之間的互操作,WfMC在工作流管理系統(tǒng)的相關(guān)術(shù)語、體系結(jié)構(gòu)及應(yīng)用編程接口等方面制定了一系列標(biāo)準(zhǔn)。 工作流參考模型是一個經(jīng)驗(yàn)?zāi)P凸ぷ髁鲄⒖寄P褪且粋€經(jīng)驗(yàn)?zāi)P?工作流參考模型確定了工作流管理系統(tǒng)的基本架構(gòu),該架構(gòu)是開發(fā)工作流軟件時應(yīng)當(dāng)采納的系統(tǒng)模型,當(dāng)然,一

9、個工作流管理系統(tǒng)也可以不遵循這個模型標(biāo)準(zhǔn),或只實(shí)現(xiàn)這個模型的一部分,但事實(shí)證明,這個模型結(jié)構(gòu)是目前最為合理的。 系統(tǒng)的核心部分是工作流引擎系統(tǒng)的核心部分是工作流引擎 該引擎是驅(qū)動流程流動的主要部件,它負(fù)責(zé)解釋工作流流程定義,創(chuàng)建并初始化流程實(shí)例,控制流程流動的路徑,記錄流程運(yùn)行狀態(tài),掛起或喚醒流程,終止正在運(yùn)行的流程,與其他引擎之間通訊等等工作。WfMC沒有針對引擎的實(shí)現(xiàn)提供具體的標(biāo)準(zhǔn),因?yàn)閷σ孀鲞^多的約束并沒有多大的現(xiàn)實(shí)意義。 工作流參考模型工作流參考模型 構(gòu)件和接口構(gòu)件和接口 五個方面的功能服務(wù)五個方面的功能服務(wù) 接口1流程定義的導(dǎo)入導(dǎo)出接口2同客戶端應(yīng)用程序和工作列表處理程序之間的交互

10、接口3軟件工具和應(yīng)用程序的調(diào)用接口4不同工作流管理系統(tǒng)之間的協(xié)同工作接口5管理和監(jiān)視功能什么是工作流執(zhí)行服務(wù)器什么是工作流執(zhí)行服務(wù)器 “工作流執(zhí)行服務(wù)器”定義由一個或多個工作流引擎構(gòu)成的軟件服務(wù)器,用來創(chuàng)建、執(zhí)行、管理工作流實(shí)例。應(yīng)用程序可能會通過WAPI來與這個服務(wù)交互。 設(shè)計(jì)邏輯上的分離設(shè)計(jì)邏輯上的分離 在模型中,過程與活動控制邏輯間有一個邏輯上的分離,活動控制邏輯構(gòu)成工作流執(zhí)行服務(wù)器;過程與應(yīng)用工具間、與終端用戶任務(wù)間也有一個邏輯上的分離,應(yīng)用工具和任務(wù)建立起對每個相關(guān)活動的處理。這種邏輯上的分離,為制定更多的行業(yè)標(biāo)準(zhǔn)提供了機(jī)會,也為在工作流程序中集成用戶具體的應(yīng)用工具提供了機(jī)會。 客戶

11、端應(yīng)用程序接口客戶端應(yīng)用程序接口 客戶端應(yīng)用程序接口(The client application interface),通過這個接口工作流引擎可以與任務(wù)表處理器交互,代表用戶資源來組織任務(wù)。然后由任務(wù)表處理器負(fù)責(zé),從任務(wù)表中選擇、推進(jìn)任務(wù)項(xiàng)。由任務(wù)表處理器或者終端用戶來控制應(yīng)用工具的活動。 應(yīng)用程序調(diào)用接口應(yīng)用程序調(diào)用接口 應(yīng)用程序調(diào)用接口(The invoked application interface),允許工作流引擎直接激活一個應(yīng)用工具,來執(zhí)行一個活動。典型的是調(diào)用以后臺服務(wù)為主的應(yīng)用程序,沒有用戶接口;當(dāng)執(zhí)行活動要用到的工具,需要與終端用戶交互,通常是使用客戶端應(yīng)用程序接口來調(diào)用那

12、個工具,這樣可以為用戶安排任務(wù)時間表提供更多的靈活性。 分布式的工作流執(zhí)行服務(wù)器分布式的工作流執(zhí)行服務(wù)器 在分布式的工作流執(zhí)行服務(wù)器中,每個工作流引擎控制過程執(zhí)行的一部分,并與這部分過程中的活動所要用到的用戶、應(yīng)用工具進(jìn)行交互。在分布式的執(zhí)行服務(wù)器中有公共的名稱空間與管理范圍的,從而過程定義、用戶/應(yīng)用程序的名稱在一致的標(biāo)準(zhǔn)下被處理。分布式工作流系統(tǒng),在工作流引擎間采用特殊的協(xié)議和信息轉(zhuǎn)換格式,來同步工作流引擎的操作、過程交換和活動控制信息。也許工作流相關(guān)數(shù)據(jù)也要在工作流引擎間進(jìn)行傳遞。在單一的工作流執(zhí)行服務(wù)器中,這些操作都是由開發(fā)商自己定義的。工作流引擎能處理工作流引擎能處理 解釋過程定義;

13、控制過程實(shí)例創(chuàng)建、激活、掛起、終止等;為過程的活動導(dǎo)航,可能要包含順序或者平行的操作、最后時間期限、對工作流相關(guān)數(shù)據(jù)進(jìn)行解釋;參與者簽名和退出;確定任務(wù)項(xiàng)目,實(shí)現(xiàn)用戶意圖,提供接口,支持用戶交互;維護(hù)工作流控制數(shù)據(jù)和工作流相關(guān)數(shù)據(jù),在應(yīng)用程序間或者用戶間傳遞工作流相關(guān)數(shù)據(jù);提供調(diào)用外部程序的接口,連接所有工作流相關(guān)數(shù)據(jù);提供控制、管理和審查功能。 異種的工作流執(zhí)行服務(wù)器異種的工作流執(zhí)行服務(wù)器 在異種執(zhí)行服務(wù)器間要有公共的命名方案;異種執(zhí)行服務(wù)器都要支持公共的過程定義對象和屬性;支持工作流相關(guān)數(shù)據(jù)在異種執(zhí)行服務(wù)器間的傳遞;支持過程、子過程或者活動在異種工作流機(jī)間的傳遞;支持公共的管理和監(jiān)視功能。

14、過程實(shí)例的基本狀態(tài)變遷方案過程實(shí)例的基本狀態(tài)變遷方案 過程實(shí)例的基本狀態(tài)變遷介紹過程實(shí)例的基本狀態(tài)變遷介紹Initiated(初始化) 過程實(shí)例被創(chuàng)建,包括與過程狀態(tài)相關(guān)的日期、工作流相關(guān)數(shù)據(jù),但是過程還沒有滿足條件,不能執(zhí)行。Running(運(yùn)行) 過程實(shí)例已經(jīng)執(zhí)行,過程中的活動如果條件滿足就可以執(zhí)行。Active(激活) 過程中的一個或者多個活動已經(jīng)被執(zhí)行。Suspended(掛起) 過程實(shí)例被靜止,并且過程中的活動不能執(zhí)行,直到過程返回到running狀態(tài)。Completed(結(jié)束) 過程實(shí)例滿足結(jié)束條件;所有的完成后操作都將被執(zhí)行(例如記錄日志、或者統(tǒng)計(jì)信息),并且銷毀過程實(shí)例。Ter

15、minated(終止) 過程實(shí)例在正常結(jié)束前被停止;所有的完成后操作都將被執(zhí)行(例如記錄錯誤信息、或者恢復(fù)數(shù)據(jù)),并且銷毀過程實(shí)例。 活動不能被中斷活動不能被中斷活動是不能被中斷的,例如工作流執(zhí)行服務(wù)器一旦開始了一個活動,就不能掛起或者終止這個活動。這就意味著,只有在所有運(yùn)行中的活動結(jié)束后,并且過程返回到running狀態(tài),才能對過程執(zhí)行掛起、重啟、終止等命令。另外,可能需要把幾個活動放在一起作為“原子單元”,這些原子單元要執(zhí)行就全部被執(zhí)行完,如果中途出現(xiàn)異常則返回到開始點(diǎn),重新執(zhí)行。 活動實(shí)例的基本狀態(tài)和轉(zhuǎn)移活動實(shí)例的基本狀態(tài)和轉(zhuǎn)移 活動的基本狀態(tài)活動的基本狀態(tài) Inactive 過程實(shí)例中

16、的活動已經(jīng)被創(chuàng)建,但是還沒有激活(例如,活動的進(jìn)入條件沒有滿足),并且沒有任務(wù)需要處理。Active 創(chuàng)建好的任務(wù),分配這個活動來處理。Suspended 活動實(shí)例被靜止,并直到活動返回到Inactive狀態(tài),才能為其分配任務(wù)。Completed 活動實(shí)例執(zhí)行完成。 工作流應(yīng)用編程接口與數(shù)據(jù)交換工作流應(yīng)用編程接口與數(shù)據(jù)交換 WAPI可以被看作是一套由工作流執(zhí)行服務(wù)器支持的API調(diào)用和數(shù)據(jù)交換集合,這個集合在在工作流執(zhí)行服務(wù)器的邊界處,負(fù)責(zé)與其他資源交互。盡管結(jié)構(gòu)中涉及到了WAPI中的5個接口,但是每一個接口中的許多功能都是公共的(即,同時被2個或者多個接口共同擁有)。WAPI的主要功能由API

17、調(diào)用組成。工作流控制數(shù)據(jù)工作流控制數(shù)據(jù) 工作流執(zhí)行服務(wù)工作流引擎通過內(nèi)部的工作流控制數(shù)據(jù)來辨別每個過程或活動實(shí)例的狀態(tài)。這些數(shù)據(jù)由工作流執(zhí)行服務(wù)工作流引擎進(jìn)行控制。用戶、應(yīng)用程序或其他的工作流引擎工作流執(zhí)行服務(wù)不能對其直接進(jìn)行讀寫操作,它們可以通過向工作流執(zhí)行服務(wù)工作流引擎發(fā)消息請求來獲得工作流控制數(shù)據(jù)的內(nèi)容。 工作流相關(guān)數(shù)據(jù)工作流相關(guān)數(shù)據(jù) 工作流管理系統(tǒng)通過工作流相關(guān)數(shù)據(jù)來確定過程實(shí)例狀態(tài)轉(zhuǎn)換的條件,并選擇下一個將執(zhí)行的活動。這些數(shù)據(jù)可以被工作流應(yīng)用程序訪問并修改,因此,工作流管理軟件需要在活動實(shí)例之間傳遞工作流相關(guān)數(shù)據(jù)。 工作流應(yīng)用數(shù)據(jù)工作流應(yīng)用數(shù)據(jù) 這種數(shù)據(jù)是指那些由應(yīng)用程序操作的數(shù)據(jù)。

18、它們是針對應(yīng)用程序的,是企業(yè)完成具體的業(yè)務(wù)功能所需要的數(shù)據(jù),如產(chǎn)品結(jié)構(gòu)數(shù)據(jù)、定單數(shù)據(jù)、生產(chǎn)作業(yè)計(jì)劃數(shù)據(jù)等。工作流管理系統(tǒng)無法也不需要對它們進(jìn)行訪問。 數(shù)據(jù)交換數(shù)據(jù)交換 工作流相關(guān)數(shù)據(jù)和應(yīng)用程序數(shù)據(jù)的交換,都需要訪問WAPI,來支持在3個運(yùn)行時期功能中的協(xié)同工作:任務(wù)表處理器(Interface 2)應(yīng)用程序調(diào)用(Interface 3)工作流引擎交換(Interface 4)由由EmailEmail驅(qū)動的工作流系統(tǒng)驅(qū)動的工作流系統(tǒng) 由Email驅(qū)動的工作流系統(tǒng)是一種典型的應(yīng)用程序數(shù)據(jù)的直接交換,在這樣的系統(tǒng)中,應(yīng)用程序數(shù)據(jù)“物理地”在活動間進(jìn)行傳遞。這些情況下,不需要明確定義活動與應(yīng)用程序數(shù)據(jù)

19、間的關(guān)系;應(yīng)用程序數(shù)據(jù)作為標(biāo)準(zhǔn)工作流活動導(dǎo)航的一部分進(jìn)行傳遞,并且在應(yīng)用程序調(diào)用時在本地直接(已經(jīng)傳遞過來)與程序相關(guān)。需要在活動間提供數(shù)據(jù)格式轉(zhuǎn)換時,應(yīng)用程序需要定義與之相關(guān)的數(shù)據(jù)類型,可以作為一個屬性來定義。 工作流應(yīng)用程序數(shù)據(jù)交換工作流應(yīng)用程序數(shù)據(jù)交換 客戶端應(yīng)用程序接口(Client applications) 工作流相關(guān)數(shù)據(jù)可以包含在任務(wù)中。工作流相關(guān)數(shù)據(jù)也可以通過共享的對象存儲形式來間接傳遞。應(yīng)用程序調(diào)用接口(Invoked applications) 依靠應(yīng)用程序調(diào)用接口進(jìn)行數(shù)據(jù)轉(zhuǎn)換,可能需要在調(diào)用服務(wù)中,把數(shù)據(jù)包含在具體應(yīng)用程序協(xié)議中。激活的工作流應(yīng)用程序可以使用讀/寫工作流相

20、關(guān)數(shù)據(jù)的API,或者用這些API來構(gòu)造通用應(yīng)用程序代理。工 作 流 引 擎 協(xié) 作 接 口 ( W o r k f l o w E n g i n e Interoperability) 與客戶端應(yīng)用程序接口相似,盡管在不同的系統(tǒng)中支持不同的應(yīng)用程序數(shù)據(jù)交換方法,但是網(wǎng)關(guān)功能的使用,需要在兩種方法間進(jìn)行影射,也要處理名稱問題。過程定義工具過程定義工具 有許多不同的工具可以用來分析、建模、描述業(yè)務(wù)過程;這樣的工具有很大的不同,從非正式的(鉛筆和紙)到成熟的、十分專業(yè)的。工作流模型不關(guān)心這些工具的特性,也不關(guān)心在過程建立時期它們是如何交互的。在以前指出過,這些工具可以作為工作流產(chǎn)品的一部分來提供,

21、或者一個單獨(dú)的產(chǎn)品,例如BPR工具集。有的工作流產(chǎn)品提供了其自己的過程定義工具,從而過程定義一般是保留在工作流產(chǎn)品范圍內(nèi)的,并且可能或者不能被讀/寫信息的編程接口所訪問。而使用單獨(dú)的過程定義和執(zhí)行服務(wù)器產(chǎn)品,過程定義能夠在不同的產(chǎn)品間進(jìn)行轉(zhuǎn)換,并可以被其他產(chǎn)品訪問。設(shè)計(jì)活動和最后的過程模型輸出,稱為過程定義。在運(yùn)行時期過程定義可以被工作流引擎解釋。工作流定義轉(zhuǎn)換(接口工作流定義轉(zhuǎn)換(接口1 1) 在建?;蚨x工具與運(yùn)行時期工作流管理軟件間的接口,被稱為過程定義導(dǎo)入/導(dǎo)出接口。這個接口的特點(diǎn)是:轉(zhuǎn)換格式和API調(diào)用,從而支持過程定義信息間的互相轉(zhuǎn)換。通過這接口規(guī)范,許多不同廠商提供的工具可以進(jìn)行

22、工作流流程的分析、建模、描述和歸檔等工作。為這些工具提供公共的流程交換格式,以支持在這些不同的產(chǎn)品之間傳送工作流流程定義。此外,接口1還定義了設(shè)計(jì)環(huán)境與運(yùn)行環(huán)境之間交換的規(guī)范,以使不同的建模工具產(chǎn)生的流程定義可以輸入到不同的工作流產(chǎn)品的運(yùn)行環(huán)境中。 過程定義信息間的互相轉(zhuǎn)換過程定義信息間的互相轉(zhuǎn)換 使用標(biāo)準(zhǔn)的過程定義格式有很多好處使用標(biāo)準(zhǔn)的過程定義格式有很多好處 首先,把建立階段與運(yùn)行時期環(huán)境進(jìn)行了分離,可以使用一個建模工具來產(chǎn)生過程定義,這個過程定義可以作為很多個不同工作流運(yùn)行時期產(chǎn)品的輸入。從而用戶可以單獨(dú)地選擇建模工具和工作流運(yùn)行時期產(chǎn)品。其次,可以為幾個工作流引擎輸出過程定義,這幾個工

23、作流引擎合作來構(gòu)成分布式的工作流執(zhí)行服務(wù)器。 WFMCWFMC在過程定義作了兩方面的工作在過程定義作了兩方面的工作 提出了一個元模型,可以用來表示過程定義中的對象、對象間的關(guān)系和屬性。這個元模型為不同的產(chǎn)品間的過程定義相互轉(zhuǎn)換奠定了基礎(chǔ),并形成了一套轉(zhuǎn)換格式。 定義了工作流系統(tǒng)間或工作流系統(tǒng)與過程定義產(chǎn)品間的API調(diào)用,提供了公共的方法來訪問工作流過程定義。訪問可能是讀、讀/寫或者只寫操作,并且操作標(biāo)準(zhǔn)對象集合(在元模型中定義的對象集合),或者產(chǎn)品自己的對象集合。 基本元模型基本元模型 所謂元模型一般是指描述模型的模型。這里的工作流模型的元模型是用來描述工作流模型內(nèi)在聯(lián)系的模型。它用于描述工作

24、流模型內(nèi)部包含的各個元素、元素之間的關(guān)系及元素的屬性。這個元模型有利于建立可以在多個工作流產(chǎn)品之間交換信息的模型。WFMC開發(fā)了一個過程定義的元模型。元模型中定義了基本的對象類型集,來滿足簡單的過程定義相互轉(zhuǎn)換。或者有開發(fā)者具體擴(kuò)展,或者在增加的功能中定義另外的一直性級別來增加更多的對象類型。 基本元模型基本元模型 工作流類型定義(工作流類型定義(Workflow Type DefinitionWorkflow Type Definition)它包含諸如工作流模型名稱、版本號、過程啟動和終止的條件、系統(tǒng)安全、監(jiān)控和控制信息等一系列基本屬性。這個過程模型反映了一個業(yè)務(wù)過程的目的,即這個過程要實(shí)現(xiàn)

25、的目的和最終達(dá)到的目標(biāo)?;顒樱ɑ顒樱ˋctivityActivity) 主要屬性有活動名稱、活動類型(原子級活動、子流程等)、活動的前后條件、調(diào)度約束參數(shù)(如最長處理時間、排隊(duì)等待時間等)等。當(dāng)工作流運(yùn)行在分布的環(huán)境下時,在活動的屬性中還應(yīng)該包括執(zhí)行該活動的工作流引擎的位置?;顒酉鄳?yīng)于企業(yè)業(yè)務(wù)過程中的任務(wù),主要反映完成企業(yè)業(yè)務(wù)過程需要執(zhí)行哪些功能操作。 轉(zhuǎn)移條件(轉(zhuǎn)移條件(Transition ConditionsTransition Conditions) 主要負(fù)責(zé)為過程實(shí)例的推進(jìn)提供導(dǎo)航依據(jù),主要參數(shù)包括工作流過程條件(flow condition,過程實(shí)例向前推進(jìn)的條件,可以認(rèn)為是前后條

26、件的同義詞)、執(zhí)行條件(execution condition,執(zhí)行某個活動的條 件 ) 和 通 知 條 件 ( n o t i f i c a t i o n condition,通知不同用戶的條件)。轉(zhuǎn)移條件對應(yīng)于企業(yè)業(yè)務(wù)過程中的業(yè)務(wù)規(guī)則和操作的順序。 工作流相關(guān)數(shù)據(jù)(工作流相關(guān)數(shù)據(jù)(Workflow relevant dataWorkflow relevant data) 工作流引擎根據(jù)工作流相關(guān)數(shù)據(jù)和轉(zhuǎn)換條件進(jìn)行推進(jìn)。工作流相關(guān)數(shù)據(jù)的屬性包括數(shù)據(jù)名稱、數(shù)據(jù)類型和數(shù)據(jù)值等。它是工作流引擎執(zhí)行任務(wù)推進(jìn)的依據(jù)。 角色(角色(RoleRole) 角色屬性主要包括角色的名稱、組織實(shí)體(organ

27、izational entity)、角色的能力等。角色或組織實(shí)體決定了參與某個活動的人員或組織單元。它主要描述業(yè)務(wù)過程中參與操作的人員和組織單位。 應(yīng)用程序調(diào)用(應(yīng)用程序調(diào)用(Invoked ApplicationInvoked Application) 主要屬性包括應(yīng)用程序的類型、名稱、路徑及運(yùn)行參數(shù)等。應(yīng)用主要描述用于完成企業(yè)業(yè)務(wù)過程所采用的工具或手段。 元素之間的關(guān)系元素之間的關(guān)系 過程定義元模型的組成核心是活動。工作流定義與活動、工作流相關(guān)數(shù)據(jù)之間是一對多的關(guān)系,即一個工作流定義由多個活動與多個工作流相關(guān)數(shù)據(jù)組成?;顒印⒔巧?、工作流相關(guān)數(shù)據(jù)、被調(diào)應(yīng)用、轉(zhuǎn)換條件之間都是多對多的對應(yīng)關(guān)系。

28、如一個活動可以引用多個角色、使用多個工作流相關(guān)數(shù)據(jù),同樣,一個角色可以被多個活動引用,一個工作流相關(guān)數(shù)據(jù)可以被多個活動使用。 分布式工作流的過程定義分布式工作流的過程定義在分布式工作流服務(wù)器中,可能要在過程定義時,為每個工作流引擎分配活動,可以作為活動的一個附加屬性。過程定義能影響安全性與管理。 訪問過程定義的訪問過程定義的API API WfMC 定義的工作流管理系統(tǒng)接口1 描述了過程定義輸入與輸出接口。這個接口為在不同物理或電子介質(zhì)之間傳遞過程定義信息提供了交互的形式和API調(diào)用函數(shù)。用來支持訪問過程定義數(shù)據(jù)的API命令集。命令集應(yīng)該提供命令操作表,和操作的對象、屬性。API API 函數(shù)

29、在建模方面功能函數(shù)在建模方面功能 通信建立:建立各個參與運(yùn)行的系統(tǒng)之間的通信連接,并且在完成協(xié)作后斷開通信連接。工作流模型操作:對過程模型的名稱進(jìn)行檢索,并完成對過程模型對象的讀寫操作等。工作流模型對象操作:在建模工具中完成創(chuàng)建、檢索和刪除對象的操作,并可以完成創(chuàng)建、設(shè)置和刪除對象屬性的操作。具體描述具體描述 建立會話(Session Establishment) 連接/斷開參與系統(tǒng)間的會話工作流定義操作(Workflow Definition Operationis) 從過程定義庫或者其他資源中,獲得工作流過程定義的名稱列表 選擇工作流過程定義,為更多的對象級操作提供會話句柄 讀/寫上層工作

30、流過程定義對象工作流定義對象操作(Workflow Definition Object Operations) 創(chuàng)建、恢復(fù)、刪除工作流定義中的對象 恢復(fù)、設(shè)置、刪除對象的屬性參與者定義參與者定義( (組織機(jī)構(gòu)模型組織機(jī)構(gòu)模型) ) 這是一個組織機(jī)構(gòu)模型的工作流相關(guān)部分的靜態(tài)定義。組織機(jī)構(gòu)模型被定義為一系列工作流參與者以及它們之間的關(guān)系。工作流參與者是通過一個類型與其關(guān)聯(lián)信息被定義的。這個定義包含一個基本的工作流參與者類型集合:組織單元(Organization Unit)、人員(Human)、角色(Role)以及資源(Resource)。角色和資源的使用是抽象的方式。在運(yùn)行態(tài),這些抽象定義被評

31、估并賦給具體的人和程序。組織機(jī)構(gòu)接口被用于活動定義(描述一個活動的執(zhí)行者)以及過程定義(描述一個過程的責(zé)任人)中。 組織機(jī)構(gòu)元模型組織機(jī)構(gòu)元模型 參與者實(shí)體類型參與者實(shí)體類型 參與者實(shí)體類型屬性按特性把參與者劃分為個人、組織單元或抽象資源,其WPDL關(guān)鍵字是ORGANISATIONAL_UNIT、HUMAN、ROLE和RESOURCE。組織機(jī)構(gòu)單元組織機(jī)構(gòu)單元 如果一個組織機(jī)構(gòu)單元被指定,那么管理者或一個組織機(jī)構(gòu)單元的所有成員都可以得到工作項(xiàng)。上級描述列表刻劃了由上之下的層次結(jié)構(gòu),包含了一個有序?qū)哟瘟斜?。人員描述列表包含一個組織單元內(nèi)的所有成員。組織機(jī)構(gòu)單元的主要屬性包括功能、管理者、上級以及

32、人員列表。 人員人員 在大多數(shù)的工作流過程中,一個人員是通過他的角色、組織機(jī)構(gòu)單元等間接指定的。角色描述列表包含那個人員的所有角色,組織機(jī)構(gòu)單元描述列表包含他所在所有的單元,代理人描述列表包含他的所有代理人。人員的屬性包括姓名、電話、傳真、電子郵件、所在單位、代理人以及角色。 角色角色 這種類型允許通過角色指定執(zhí)行者。角色可以說是屬于某組織機(jī)構(gòu)的人員的一種功能。因?yàn)橐粋€功能不必是唯一的,一個協(xié)調(diào)員(管理或異常處理)可能被定義,一些人員與這個角色相關(guān)。角色的屬性包括功能、協(xié)調(diào)員以及人員列表。 資源資源 這種類型允許通過一種資源指定執(zhí)行者。資源可以是一個程序或一臺機(jī)器。對于資源來說,沒有預(yù)先定義的

33、屬性。 參與者分配類型以及實(shí)體之間的關(guān)系參與者分配類型以及實(shí)體之間的關(guān)系 工作流客戶端應(yīng)用程序工作流客戶端應(yīng)用程序 任務(wù)表處理器是在需要調(diào)用人類資源的活動中,用來與終端用戶進(jìn)行交互的軟件。任務(wù)表處理器可以作為工作流產(chǎn)品的一部分提供給用戶,也可以由用戶自己開發(fā)。在其他情況中,工作流可能要與普通的辦公系統(tǒng)進(jìn)行集成,例如Email,來為終端用戶提供一個統(tǒng)一的任務(wù)管理系統(tǒng)。這就要求在工作流執(zhí)行服務(wù)器與工作流客戶端應(yīng)用程序間有一個非常靈活的通信機(jī)制,來構(gòu)建各種可能遇到的運(yùn)行系統(tǒng)。 任務(wù)表的交互任務(wù)表的交互在工作流模型中,通過客戶端應(yīng)用程序與工作流引擎間的定義良好的接口進(jìn)行交互。在這個接口中包含任務(wù)表由工

34、作流引擎分配給用戶的任務(wù)序列。最簡單的情況是,工作流引擎訪問任務(wù)表,來把任務(wù)分配給用戶;任務(wù)表處理器訪問任務(wù)表,向任務(wù)表中添加任務(wù)項(xiàng)。有許多不同的產(chǎn)品來實(shí)現(xiàn)任務(wù)表的交互。 任務(wù)表中任務(wù)項(xiàng)的操作任務(wù)表中任務(wù)項(xiàng)的操作任務(wù)表中任務(wù)項(xiàng)的激活(例如,啟動應(yīng)用程序,連接工作流相關(guān)數(shù)據(jù)),可能是由工作流客戶端應(yīng)用程序或者終端用戶控制的。在工作流客戶端應(yīng)用程序與工作流執(zhí)行服務(wù)器間定義了一系列的方法,用來向任務(wù)表中添加任務(wù)項(xiàng)、從任務(wù)表中刪除完成的活動、激活臨時掛起的活動等。 調(diào)用應(yīng)用程序調(diào)用應(yīng)用程序與任務(wù)表相關(guān)的部分活動的數(shù)據(jù),是任務(wù)表處理器用來調(diào)用應(yīng)用程序所必須的信息。當(dāng)應(yīng)用程序數(shù)據(jù)是強(qiáng)類型時,在任務(wù)表處理器

35、中要存放一個聯(lián)接,用來實(shí)現(xiàn)程序的調(diào)用。在其他情況中,在任務(wù)表處理器與工作流引擎間要進(jìn)行完全的應(yīng)用程序名稱和地址信息的交換;這時,工作流客戶端應(yīng)用程序也可能實(shí)現(xiàn)一些應(yīng)用程序調(diào)用接口(接口3)中的功能,來獲得必要的信息。 任務(wù)表的復(fù)雜性任務(wù)表的復(fù)雜性任務(wù)表中可能要包含一個過程中的幾個不同實(shí)例的相關(guān)任務(wù),或者包含幾個不同過程中的一個共同活動項(xiàng)。一個任務(wù)表處理器可能要與幾個不同的工作流引擎、幾個不同的工作流執(zhí)行服務(wù)器進(jìn)行交互。按照每個產(chǎn)品的實(shí)現(xiàn),為每個過程單獨(dú)維護(hù)一個物理上分開的任務(wù)表,或者任務(wù)表處理器把幾個不同的任務(wù)表聯(lián)合到一起,呈現(xiàn)給終端用戶??蛻舳藨?yīng)用程序客戶端應(yīng)用程序APIAPI方法的一個總攬

36、方法的一個總攬 客戶端應(yīng)用程序客戶端應(yīng)用程序APIAPI使用概述(使用概述(1 1) 建立會話(Session Establishment) 連接/斷開參與系統(tǒng)間的會話工作流定義操作(Workflow Definition Operations) 對工作流過程定義名稱或者屬性的恢復(fù)/查詢功能過程控制功能(Process Control Functions) 創(chuàng)建/開始/結(jié)束一個過程實(shí)例 掛起/喚醒一個過程實(shí)例 在過程實(shí)例或活動實(shí)例中強(qiáng)制一個狀態(tài)發(fā)生改變 查詢過程實(shí)例或活動實(shí)例的屬性客戶端應(yīng)用程序客戶端應(yīng)用程序APIAPI使用概述(使用概述(2 2) 過程狀態(tài)功能(Process Status

37、Functions) 打開/關(guān)閉過程實(shí)例或活動實(shí)例的查詢,設(shè)置過濾標(biāo)準(zhǔn) 獲取過程實(shí)例或活動實(shí)例的詳細(xì)信息 獲取具體過程或活動的詳細(xì)信息任務(wù)表/任務(wù)項(xiàng)處理功能(Worklist/Workitem Handling Functions) 打開/關(guān)閉任務(wù)表查詢,設(shè)置過濾標(biāo)準(zhǔn) 獲取任務(wù)表中的項(xiàng)目 通知選擇/重分配/結(jié)束一個任務(wù)項(xiàng) 查詢?nèi)蝿?wù)項(xiàng)屬性客戶端應(yīng)用程序客戶端應(yīng)用程序APIAPI使用概述(使用概述(3 3) 過程管理功能(Process Supervisory Functions) 改變過程定義或者它的實(shí)例的運(yùn)行狀態(tài) 改變某種類型的所有過程實(shí)例或活動實(shí)例的狀態(tài) 為某種類型的所有過程實(shí)例或活動實(shí)例的

38、屬性賦值 終止所有過程實(shí)例數(shù)據(jù)處理功能(Data Handling Functions) 恢復(fù)/返回工作流相關(guān)或應(yīng)用程序數(shù)據(jù)應(yīng)用程序調(diào)用(Application Invocation) 上邊對功能的概括,為支持任務(wù)表處理器對應(yīng)用程序調(diào)用提供了基礎(chǔ)。應(yīng)用程序調(diào)用功能的一些命令是與客戶端應(yīng)用程序環(huán)境相關(guān)的。 有些產(chǎn)品可以只實(shí)現(xiàn)全部WAPI的一部分;以后會給出進(jìn)一步的考慮,定義一致性級別,來滿足市場中不同的產(chǎn)品間的,不同的協(xié)作需要。 應(yīng)用程序調(diào)用問題應(yīng)用程序調(diào)用問題 所有的WFM產(chǎn)品都沒有足夠的邏輯單元,知道如何調(diào)用所有的應(yīng)用程序,這些應(yīng)用程序存在異種的產(chǎn)品環(huán)境中。這就需要,能夠處理在所有平臺下和網(wǎng)

39、絡(luò)環(huán)境中進(jìn)行調(diào)用的邏輯,并需要能使用公共格式和編碼進(jìn)行應(yīng)用數(shù)據(jù)或相關(guān)數(shù)據(jù)傳遞的方法。 應(yīng)用程序調(diào)用方法應(yīng)用程序調(diào)用方法許多工作流系統(tǒng)能夠使用了更多受限制的應(yīng)用程序,特別是那些采用強(qiáng)制數(shù)據(jù)類型和直接與應(yīng)用程序相連的系統(tǒng)。在其他情況中,應(yīng)用程序?qū)Σ僮鞯恼{(diào)用,可能是通過邊準(zhǔn)的交換機(jī)制來實(shí)現(xiàn)的。一些實(shí)現(xiàn)使用了“應(yīng)用程序代理(Application Agent)”,把這些在在標(biāo)準(zhǔn)接口之后的各種方法包含在工作流執(zhí)行服務(wù)器中。也有可能開發(fā)“Workflow enabled”應(yīng)用工具,這種工具使用標(biāo)準(zhǔn)的API集來與工作流執(zhí)行服務(wù)器進(jìn)行通信,來接收應(yīng)用程序數(shù)據(jù)、信號和響應(yīng)活動事件等。這些API可以被應(yīng)用工具直接

40、調(diào)用;也可以被應(yīng)用程序代理過過程調(diào)用,作為與其他應(yīng)用程序(不包含任何工作流技術(shù)的程序)交互的前端。 應(yīng)用程序調(diào)用用到的一些接口類型應(yīng)用程序調(diào)用用到的一些接口類型 應(yīng)用程序調(diào)用接口(接口應(yīng)用程序調(diào)用接口(接口3 3) 應(yīng)用程序調(diào)用的可能情況應(yīng)用程序調(diào)用的可能情況在簡單的情況中,工作流引擎在本地處理應(yīng)用程序調(diào)用,使用過程定義中的信息來確定活動的性質(zhì)、將要調(diào)用的應(yīng)用程序的類型和所需的數(shù)據(jù)。被調(diào)用的應(yīng)用程序可能存儲在工作流引擎中,或者與工作流引擎一同存儲在相同的平臺下,或者存放在一個獨(dú)立的網(wǎng)絡(luò)訪問的平臺中;過程定義中有足夠的應(yīng)用程序類型和尋址信息(工作流機(jī)的特殊需求),來實(shí)現(xiàn)應(yīng)用程序調(diào)用。在這種情況下

41、,應(yīng)用程序命名與尋址的協(xié)定是處于工作流引擎與過程定義之間的。 應(yīng)用程序調(diào)用可以使用的一些命令概括應(yīng)用程序調(diào)用可以使用的一些命令概括 創(chuàng)建會話(Session Establishment) 連接/斷開應(yīng)用程序會話活動管理功能(Activity Management Functions) 開始活動 掛起/恢復(fù)/放棄 活動 活動完成通知 信號事件 查詢活動屬性數(shù)據(jù)處理功能(Data Handling Functions) 提供工作流相關(guān)數(shù)據(jù) 提供應(yīng)用程序數(shù)據(jù)或數(shù)據(jù)地址協(xié)同工作能力協(xié)同工作能力 WFMC的一個主要目標(biāo)是,為不同開發(fā)商的工作流系統(tǒng)產(chǎn)品,相互間能夠進(jìn)行無逢傳遞任務(wù)項(xiàng)定義標(biāo)準(zhǔn)。 標(biāo)準(zhǔn)工作流引

42、擎必須具有協(xié)同操作能力。協(xié)同工作范圍協(xié)同工作范圍WFMC把焦點(diǎn)聚集到,開發(fā)多種不同的協(xié)同工作框架,這些框架可以操作一系列標(biāo)準(zhǔn)的協(xié)調(diào)工作;從簡單的任務(wù)傳遞到整個工作流系統(tǒng)的協(xié)同工作(包括過程定義轉(zhuǎn)換、工作流相關(guān)數(shù)據(jù)交換、通用的界面等);簡單的協(xié)同工作,WFMC的協(xié)同工作定義將在最初就能支持;而復(fù)雜的協(xié)同工作,還需要進(jìn)一步的研究。工作流引擎協(xié)同目標(biāo)工作流引擎協(xié)同目標(biāo)盡管可以開發(fā)一個非常復(fù)雜的協(xié)同工作框架,由許多個工作流引擎構(gòu)成一個執(zhí)行服務(wù)器,但是這種框架不會在近期實(shí)現(xiàn);因?yàn)檫@需要所有的工作流引擎都可以解釋一個公共的過程定義和共享公共的工作流控制數(shù)據(jù)集,事實(shí)上是維護(hù)異種工作流引擎間的一個共享過程視圖

43、;現(xiàn)階段要現(xiàn)實(shí)的目標(biāo)是,能夠在運(yùn)行時期傳遞過程的某些部分,來支持不同的執(zhí)行服務(wù)器運(yùn)行。工作流引擎協(xié)同目標(biāo)工作流引擎協(xié)同目標(biāo)WFMC定義了4個協(xié)同工作模型,包含多種協(xié)同工作能力級別;下邊就來描述這幾個模型。l模型 1 鏈鎖式l模型 2 子過程嵌套l模型3 P2Pl模型 4 相似同步圖中使用正方形來表示任務(wù)或者活動,用不同的陰影來區(qū)別每個工作流執(zhí)行服務(wù)器的任務(wù)。 模型模型 1 鏈鎖式鏈鎖式 這個模型中,過程A中的一個連接點(diǎn),連接到過程B中的一個連接點(diǎn),連接點(diǎn)可以是過程中的任何一個活動。 這個模型支持在兩個工作流環(huán)境中傳遞一個任務(wù),這個任務(wù)會在第二個環(huán)境中獨(dú)立執(zhí)行,不需要同步??梢允褂靡粋€網(wǎng)關(guān)應(yīng)用功能來實(shí)現(xiàn)這種模型,網(wǎng)關(guān)負(fù)責(zé)處理數(shù)據(jù)格式轉(zhuǎn)換、過程和名稱映射等,例如在兩個執(zhí)行服務(wù)器中使用標(biāo)準(zhǔn)API調(diào)用。 模型模型 2 子過程嵌套子過程嵌套 一個過程可以全部在一個工作引擎范圍內(nèi)執(zhí)行,封裝成父過程的一個任務(wù),在一個與執(zhí)行父過程不同的執(zhí)行服務(wù)器中運(yùn)行。在父過程與封裝過

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論