WfMC工作流標(biāo)準(zhǔn)接口一課件_第1頁
WfMC工作流標(biāo)準(zhǔn)接口一課件_第2頁
WfMC工作流標(biāo)準(zhǔn)接口一課件_第3頁
WfMC工作流標(biāo)準(zhǔn)接口一課件_第4頁
WfMC工作流標(biāo)準(zhǔn)接口一課件_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

WfMC工作流標(biāo)準(zhǔn)--接口一pjj文檔簡(jiǎn)介(一)WFMC為工作流系統(tǒng)定義了5種接口,本文檔重點(diǎn)介紹接口1--過程定義輸入輸出接口接口1包含了1個(gè)用于描述過程定義的公共元模型,以及過程定義間進(jìn)行相互轉(zhuǎn)化的XMLSchemaWfMC制定了一個(gè)工作流過程定義元模型,給出了一些經(jīng)常用到的實(shí)體,并為這些實(shí)體制定了不同的屬性-----以元模型為基礎(chǔ),利用公共轉(zhuǎn)換格式,各種工作流軟件均可對(duì)模型定義進(jìn)行解釋文檔簡(jiǎn)介(二)XPDL是一個(gè)通用框架,無論開發(fā)者如何實(shí)現(xiàn),用什么圖形描述,只要外部接口符合xpdl規(guī)范,對(duì)外表示形式均相同詳細(xì)參見資料 “wfmc工作流標(biāo)準(zhǔn)--接口一.pdf”, “hl--基于活動(dòng)網(wǎng)絡(luò)的工作流過程建模研究與實(shí)踐.pdf”過程定義內(nèi)部總覽什么是過程定義:表示一種由工作流管理系統(tǒng)設(shè)定的自動(dòng)操作為商業(yè)過程,過程定義由各種活動(dòng)及相互之間的關(guān)系組成,標(biāo)識(shí)了過程的開始和終止,并且包含了個(gè)體行為的信息(參與者信息,相關(guān)應(yīng)用程序和數(shù)據(jù))

WFMC術(shù)語表-WfMC-TC-1011必須采用XPDL語法來實(shí)現(xiàn)過程定義導(dǎo)入與輸出的一致性,但一定要包含一個(gè)最小對(duì)象、屬性集,這是過程運(yùn)行所必須的。這個(gè)集合中的一些對(duì)象將被過程中的所有實(shí)例繼承過程定義相互轉(zhuǎn)換方法規(guī)范使用了XML作為相互轉(zhuǎn)換機(jī)制。Xpdl指定了一個(gè)公共轉(zhuǎn)換標(biāo)準(zhǔn),可實(shí)現(xiàn)內(nèi)部轉(zhuǎn)換格式和公共轉(zhuǎn)換標(biāo)準(zhǔn)互相映射。無論什么情況,過程定義都必須表示成基于公共對(duì)象、關(guān)系、屬性集的一致性形式元模型元模型描述了過程定義所需要的上層實(shí)體,并且為過程定義劃分相應(yīng)的過程模型、在不同的過程定義與模型中交叉使用公共定義數(shù)據(jù)提供了多方面的協(xié)定定義了過程定義轉(zhuǎn)換中需要的基本實(shí)體集上層實(shí)體圖例工作流過程活動(dòng)過程定義由一個(gè)或多個(gè)活動(dòng)構(gòu)成,一個(gè)活動(dòng)代表一個(gè)需要處理的任務(wù)與活動(dòng)相關(guān)的信息包括:活動(dòng)是否是automatic、資源沖突時(shí)的優(yōu)先級(jí)等一個(gè)活動(dòng)可能是一個(gè)子流程,可能在本地執(zhí)行,可能在遠(yuǎn)程執(zhí)行。允許子流程包含自己的活動(dòng)定義、內(nèi)部轉(zhuǎn)換、資源和應(yīng)用程序的分配。使用輸入/輸出參數(shù)可以實(shí)現(xiàn)父流程與子流程之間必要的工作流相關(guān)數(shù)據(jù)的交互可能是一個(gè)區(qū)塊活動(dòng),負(fù)責(zé)執(zhí)行一個(gè)活動(dòng)集,或者對(duì)轉(zhuǎn)移與活動(dòng)進(jìn)行映射。活動(dòng)集中的活動(dòng)、轉(zhuǎn)移共享過程的名字空間虛活動(dòng):它是一個(gè)活動(dòng)骨架,不執(zhí)行任務(wù)處理(因此不需要分配資源和應(yīng)用程序等)。但它負(fù)責(zé)在轉(zhuǎn)移間判斷,選擇路由轉(zhuǎn)移信息每個(gè)轉(zhuǎn)移(簡(jiǎn)單)有3個(gè)基本信息:源活動(dòng),目的活動(dòng)和轉(zhuǎn)移條件一個(gè)轉(zhuǎn)移離開一個(gè)活動(dòng)的相關(guān)信息(離開動(dòng)作)以及這個(gè)轉(zhuǎn)移進(jìn)入另外一個(gè)活動(dòng)的條件(進(jìn)入動(dòng)作),都在相應(yīng)的活動(dòng)中定義離開動(dòng)作:在一個(gè)活動(dòng)結(jié)束,轉(zhuǎn)移要發(fā)生時(shí)在源活動(dòng)中定義進(jìn)入動(dòng)作:在一個(gè)轉(zhuǎn)移要結(jié)束、目標(biāo)活動(dòng)要開始時(shí)在目標(biāo)活動(dòng)中處理復(fù)雜轉(zhuǎn)移需要虛活動(dòng)來構(gòu)造虛活動(dòng)做為一些活動(dòng)的中間步驟,可以把一些離開動(dòng)作和進(jìn)入動(dòng)作聯(lián)系在一起使用附加虛活動(dòng)的基本轉(zhuǎn)移實(shí)體,可實(shí)現(xiàn)任意復(fù)雜的路由結(jié)構(gòu)包提出原因:過程模型中包含的實(shí)體(工作流參與者、應(yīng)用程序定義、工作流相關(guān)數(shù)據(jù)定義),可能會(huì)被多個(gè)工作流定義所使用,元模型采用通用的過程定義資源庫來保持各種構(gòu)成過程定義的實(shí)體類型。在資源庫內(nèi)部,為了有效把過程定義數(shù)據(jù)導(dǎo)入導(dǎo)出,提出了包的概念包就象一個(gè)容器,對(duì)許多不同過程定義中的通用數(shù)據(jù)實(shí)體進(jìn)行分組,從而避免重復(fù)定義包中存放工作流過程定義實(shí)體的公共屬性(作者,版本,狀態(tài)等),包中的每一個(gè)過程定義都自動(dòng)繼承包中的公共屬性,除非在過程定義中屬性被個(gè)別重新定義全程實(shí)體與包引用有的實(shí)體能被同一包中的任何工作流定義所引用,包括:

1、工作流參與者描述

2、工作流外部應(yīng)用程序聲明

3、工作流相關(guān)數(shù)據(jù)包引用運(yùn)行使用包內(nèi)對(duì)象或者所使用的外部包中的上層實(shí)體對(duì)象

1、子流程可以引用過程ID號(hào)

2、工作流參與者聲明

3、工作流外部應(yīng)用程序聲明包內(nèi)名稱搜索在同一工作流中定義不同的包間使用名稱、標(biāo)識(shí)符管理約定,開發(fā)者可以得到唯一正確的名稱與標(biāo)識(shí)符名稱引用默認(rèn)搜索順序: 過程ID號(hào)、外部應(yīng)用程序、工作流參與者--先在同一模型搜索(包括非本地的過程),然后是外部參考模型中搜索工作流相關(guān)數(shù)據(jù)的命名在一個(gè)包中必須唯一過程元模型 為工作流定義轉(zhuǎn)換定義了基本的實(shí)體集和屬性集。下列實(shí)體是必須被定義,或從包中繼承,或通過包的交叉引用工作流過程活動(dòng)轉(zhuǎn)移信息工作流參與者聲明工作流外部應(yīng)用程序聲明工作流相關(guān)數(shù)據(jù)包元模型 包對(duì)單獨(dú)的過程定義及其相關(guān)實(shí)體數(shù)據(jù)進(jìn)行分組,這些數(shù)據(jù)適合這個(gè)過程所包含的所有過程。包元模型中包括下列實(shí)體:工作流過程定義工作流參與者聲明工作流外部應(yīng)用程序聲明工作流相關(guān)數(shù)據(jù)元素總覽XPDL中定義的主要元素:

1)所有主要元素的通用屬性和元素

2)每個(gè)主要元素的特有屬性

3)需要參考其他元素的元素

4)文檔和圖表元素,包含需要的描述信息

5)過程模擬、過程優(yōu)化的相關(guān)信息開發(fā)者擴(kuò)展屬性擴(kuò)展屬性: 由開發(fā)者定義的屬性,描述在系統(tǒng)間交互的實(shí)體特性,需要單獨(dú)定義,并且在過程定義的導(dǎo)出和工作流服務(wù)器導(dǎo)入方需要達(dá)成一致擴(kuò)展參數(shù)映射: 規(guī)范中沒有對(duì)編譯和參數(shù)傳遞的詳細(xì)的scheme的定義。參數(shù)映射和編譯局部的scheme都是由開發(fā)者自己定義的過程定義xpdl表示<xsd:elementname="WorkflowProcess"> <xsd:complexType> <xsd:sequence> <xsd:elementref="xpdl:ProcessHeader"/> <xsd:elementref="xpdl:RedefinableHeader"minOccurs="0"/> <xsd:elementref="xpdl:FormalParameters"minOccurs="0"/> <xsd:elementref="xpdl:DataFields"minOccurs="0"/> <xsd:elementref="xpdl:Participants"minOccurs="0"/> <xsd:elementref="xpdl:Applications"minOccurs="0"/> <xsd:elementref="xpdl:ActivitySets"minOccurs="0"/> <xsd:elementref="xpdl:Activities"minOccurs="0"/> <xsd:elementref="xpdl:Transitions"minOccurs="0"/> <xsd:elementref="xpdl:ExtendedAttributes"minOccurs="0"/> </xsd:sequence> <xsd:attributename="Id"type="xsd:NMTOKEN"use="required"/> <xsd:attributename="Name"type="xsd:string"/> <xsd:attributename="AccessLevel"> <xsd:simpleType> <xsd:restrictionbase="xsd:NMTOKEN"> <xsd:enumerationvalue="PUBLIC"/> <xsd:enumerationvalue="PRIVATE"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType></xsd:element>工作流過程定義主要元素傳給過程的參數(shù)列表工作流相關(guān)數(shù)據(jù)列表資源列表應(yīng)用程序列表活動(dòng)集列表 活動(dòng)集:活動(dòng)、轉(zhuǎn)移的自包含集,集合中轉(zhuǎn)移只能與本集合中的活動(dòng)相關(guān)聯(lián)

組成過程的活動(dòng)列表轉(zhuǎn)移列表過程的訪問級(jí)別活動(dòng)集xpdl表示<xsd:elementname="ActivitySet"> <xsd:complexType> <xsd:sequence> <xsd:elementref="xpdl:Activities"minOccurs="0"/> <xsd:elementref="xpdl:Transitions"minOccurs="0"/> </xsd:sequence> <xsd:attributename="Id"type="xsd:NMTOKEN"use="required"/> </xsd:complexType></xsd:element>活動(dòng)集定義:活動(dòng)、轉(zhuǎn)移的自包含集,集合中轉(zhuǎn)移只能與本集合中的活動(dòng)相關(guān)聯(lián)與子過程的對(duì)比:

1)與子過程類似

2)活動(dòng)集是在過程內(nèi)部說明的,與過程中其他實(shí)體共享一個(gè)名稱空間,且不能被其他過程調(diào)用。不能被異步調(diào)用

3)子流程是過程中的一個(gè)活動(dòng)對(duì)另外一個(gè)獨(dú)立過程調(diào)用,名稱空間可以不同。過程可以被異步調(diào)用工作流活動(dòng)xpdl表示<xsd:elementname="Activity"> <xsd:complexType> <xsd:sequence> <xsd:elementref="xpdl:Description"minOccurs="0"/> <xsd:elementref="xpdl:Limit"minOccurs="0"/> <xsd:choice> <xsd:elementref="xpdl:Route"/> <xsd:elementref="xpdl:Implementation"/> <xsd:elementref="xpdl:BlockActivity"/> </xsd:choice> <xsd:elementref="xpdl:Performer"minOccurs="0"/> <xsd:elementref="xpdl:StartMode"minOccurs="0"/> <xsd:elementref="xpdl:FinishMode"minOccurs="0"/> <xsd:elementref="xpdl:Priority"minOccurs="0"/> <xsd:elementref="xpdl:Deadline"minOccurs="0“maxOccurs="unbounded"/> <xsd:elementref="xpdl:SimulationInformation"minOccurs="0"/> <xsd:elementref="xpdl:Icon"minOccurs="0"/> <xsd:elementref="xpdl:Documentation"minOccurs="0"/> <xsd:elementref="xpdl:TransitionRestrictions"minOccurs="0"/> <xsd:elementref="xpdl:ExtendedAttributes"minOccurs="0"/> </xsd:sequence> <xsd:attributename="Id"type="xsd:NMTOKEN"use="required"/> <xsd:attributename="Name"type="xsd:string"/> </xsd:complexType></xsd:element>工作流活動(dòng)主要元素Route虛活動(dòng),不對(duì)應(yīng)實(shí)際任務(wù)執(zhí)行,只負(fù)責(zé)復(fù)雜路由構(gòu)造Implementation規(guī)則的活動(dòng),可能通過調(diào)用應(yīng)用程序來完成或是由人工執(zhí)行,也可能對(duì)應(yīng)一個(gè)子流程的調(diào)用BlockActivity

執(zhí)行一個(gè)活動(dòng)集ActivitySet的活動(dòng)Performer與工作流參與者相關(guān)聯(lián)StartMode

描述如何觸發(fā)活動(dòng)的執(zhí)行(人工觸發(fā)的或是自動(dòng)的)FinishMode

描述活動(dòng)結(jié)束時(shí)系統(tǒng)如何操作(人工確認(rèn)的或是自動(dòng)的)Priority活動(dòng)的優(yōu)先級(jí)Deadline說明活動(dòng)的截止期限,以及到達(dá)截止期限時(shí)要采取的動(dòng)作TransitionRestriction

為與活動(dòng)相關(guān)聯(lián)的各轉(zhuǎn)移提供進(jìn)一步的約束Implementation的xpdl描述<xsd:elementname="Implementation"> <xsd:complexType> <xsd:choice> <xsd:elementref="xpdl:No"/> <xsd:elementref="xpdl:Tool"maxOccurs="unbounded"/> <xsd:elementref="xpdl:SubFlow"/> </xsd:choice> </xsd:complexType></xsd:element>元素Implementation的3種實(shí)現(xiàn)方式No:這是說工作流系統(tǒng)不能自動(dòng)調(diào)用應(yīng)用程序或方法來執(zhí)行活動(dòng),可能的情況有兩種:一種是由人工操作來完成的任務(wù),由人工確認(rèn)活動(dòng)的開始與結(jié)束;另一種是工作流引擎自身知曉的任務(wù)。Tool:通過一個(gè)或多個(gè)工具來實(shí)現(xiàn)的活動(dòng),一般對(duì)應(yīng)應(yīng)用程序的調(diào)用。SubFlow:活動(dòng)對(duì)應(yīng)子流程的調(diào)用,子流程可以同步或異步執(zhí)行。同步調(diào)用的情況下,父流程中的活動(dòng)將被掛起,并等待子流程的完成,子流程終止后,活動(dòng)被恢復(fù),并可能從子流程得到一些返回參數(shù)。異步調(diào)用的情況下,子流程初始化后,父流程中的活動(dòng)將繼續(xù)推進(jìn),并且子流程不返回參數(shù)。轉(zhuǎn)移約束TransitionRestrictionXpdl通過TransitionRestriction來表達(dá)業(yè)務(wù)流程控制中的分支、匯聚等邏輯Xpdl描述:<xsd:elementname="TransitionRestriction"> <xsd:complexType> <xsd:sequence> <xsd:elementref="xpdl:Join"minOccurs="0"/> <xsd:elementref="xpdl:Split"minOccurs="0"/> </xsd:sequence> </xsd:complexType></xsd:element>Join描述轉(zhuǎn)移約束的輸入轉(zhuǎn)移部分Join用于描述一個(gè)活動(dòng)的多個(gè)輸入轉(zhuǎn)移,它有兩種類型:AND-Join(與匯聚)和XOR-Join(異或匯聚)AND-Join用于同步多個(gè)并發(fā)線程,即當(dāng)活動(dòng)的所有輸入轉(zhuǎn)移的條件都滿足時(shí),活動(dòng)才被初始化。XOR-Join則不要求同步,只要活動(dòng)的任一輸入轉(zhuǎn)移的條件得到滿足,活動(dòng)就被初始化Join的xpdl表示<xsd:elementname="Join"> <xsd:complexType> <xsd:attributename="Type"> <xsd:simpleType> <xsd:restrictionbase="xsd:NMTOKEN"> <xsd:enumerationvalue="AND"/> <xsd:enumerationvalue="XOR"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType></xsd:element>SplitSplit用于描述一個(gè)活動(dòng)的多個(gè)輸出轉(zhuǎn)移,它同樣有兩種類型:AND-Split(與分支)和XOR-Split(異或分支)。但Split比Join多了一個(gè)屬性TransitionRefs(轉(zhuǎn)移引用),它是活動(dòng)的所有輸出轉(zhuǎn)移的一個(gè)列表,只和XOR-Split在一起使用。AND-Split用于表達(dá)多個(gè)可能并發(fā)執(zhí)行的線程,活動(dòng)的所有輸出轉(zhuǎn)移的條件被同時(shí)計(jì)算,所以條件被滿足的輸出轉(zhuǎn)移將同時(shí)被執(zhí)行XOR-Split則從活動(dòng)的所有輸出轉(zhuǎn)移中選擇其中的一個(gè)來執(zhí)行,根據(jù)各輸出轉(zhuǎn)移在TransitionRefs

列表中的順序,對(duì)轉(zhuǎn)移條件逐個(gè)進(jìn)行計(jì)算,若條件被滿足,則執(zhí)行相應(yīng)的轉(zhuǎn)移并結(jié)束計(jì)算,否則繼續(xù)判斷下一個(gè)。Split的xpdl表示<xsd:elementname="Split"> <xsd:complexType> <xsd:sequence> <xsd:elementref="xpdl:TransitionRefs"minOccurs="0"/> </xsd:sequence> <xsd:attributename="Type"> <xsd:simpleType> <xsd:restrictionbase="xsd:NMTOKEN"> <xsd:enumerationvalue="AND"/> <xsd:enumerationvalue="XOR"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType></xsd:element>轉(zhuǎn)移信息的xpdl表示<xsd:elementname="Transition"> <xsd:complexType> <xsd:sequence> <xsd:elementref="xpdl:Condition"minOccurs="0"/> <xsd:elementref="xpdl:Description"minOccurs="0"/> <xsd:elementref="xpdl:ExtendedAttributes"minOccurs="0"/> </xsd:sequence>

<xsd:attributename="Id"type="xsd:NMTOKEN"use="required"/> <xsd:attributename="From"type="xsd:NMTOKEN"use="required"/> <xsd:attributename="To"type="xsd:NMTOKEN"use="required"/> <xsd:attributename="Name"type="xsd:string"/> </xsd:complexType></xsd:element>轉(zhuǎn)移信息(TransitionInformation)轉(zhuǎn)移信息描述活動(dòng)間的轉(zhuǎn)移以及轉(zhuǎn)移發(fā)生與否的條件。如果一個(gè)活動(dòng)對(duì)應(yīng)多個(gè)輸入或

溫馨提示

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

評(píng)論

0/150

提交評(píng)論