WfMC工作流標準接口一課件_第1頁
WfMC工作流標準接口一課件_第2頁
WfMC工作流標準接口一課件_第3頁
WfMC工作流標準接口一課件_第4頁
WfMC工作流標準接口一課件_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

WfMC工作流標準--接口一pjjWfMC工作流標準--接口一pjj1文檔簡介(一)WFMC為工作流系統(tǒng)定義了5種接口,本文檔重點介紹接口1--過程定義輸入輸出接口接口1包含了1個用于描述過程定義的公共元模型,以及過程定義間進行相互轉(zhuǎn)化的XMLSchemaWfMC制定了一個工作流過程定義元模型,給出了一些經(jīng)常用到的實體,并為這些實體制定了不同的屬性-----以元模型為基礎,利用公共轉(zhuǎn)換格式,各種工作流軟件均可對模型定義進行解釋文檔簡介(一)WFMC為工作流系統(tǒng)定義了5種接口,本文檔重點2文檔簡介(二)XPDL是一個通用框架,無論開發(fā)者如何實現(xiàn),用什么圖形描述,只要外部接口符合xpdl規(guī)范,對外表示形式均相同詳細參見資料 “wfmc工作流標準--接口一.pdf”, “hl--基于活動網(wǎng)絡的工作流過程建模研究與實踐.pdf”文檔簡介(二)XPDL是一個通用框架,無論開發(fā)者如何實現(xiàn),用3過程定義內(nèi)部總覽什么是過程定義:表示一種由工作流管理系統(tǒng)設定的自動操作為商業(yè)過程,過程定義由各種活動及相互之間的關系組成,標識了過程的開始和終止,并且包含了個體行為的信息(參與者信息,相關應用程序和數(shù)據(jù)) WFMC術(shù)語表-WfMC-TC-1011必須采用XPDL語法來實現(xiàn)過程定義導入與輸出的一致性,但一定要包含一個最小對象、屬性集,這是過程運行所必須的。這個集合中的一些對象將被過程中的所有實例繼承過程定義內(nèi)部總覽什么是過程定義:表示一種由工作流管理系統(tǒng)設定4過程定義相互轉(zhuǎn)換方法規(guī)范使用了XML作為相互轉(zhuǎn)換機制。Xpdl指定了一個公共轉(zhuǎn)換標準,可實現(xiàn)內(nèi)部轉(zhuǎn)換格式和公共轉(zhuǎn)換標準互相映射。無論什么情況,過程定義都必須表示成基于公共對象、關系、屬性集的一致性形式過程定義相互轉(zhuǎn)換方法規(guī)范使用了XML作為相互轉(zhuǎn)換機制。Xpd5元模型元模型描述了過程定義所需要的上層實體,并且為過程定義劃分相應的過程模型、在不同的過程定義與模型中交叉使用公共定義數(shù)據(jù)提供了多方面的協(xié)定定義了過程定義轉(zhuǎn)換中需要的基本實體集元模型元模型描述了過程定義所需要的上層實體,并且為過程定義劃6上層實體圖例上層實體圖例7工作流過程活動過程定義由一個或多個活動構(gòu)成,一個活動代表一個需要處理的任務與活動相關的信息包括:活動是否是automatic、資源沖突時的優(yōu)先級等一個活動可能是一個子流程,可能在本地執(zhí)行,可能在遠程執(zhí)行。允許子流程包含自己的活動定義、內(nèi)部轉(zhuǎn)換、資源和應用程序的分配。使用輸入/輸出參數(shù)可以實現(xiàn)父流程與子流程之間必要的工作流相關數(shù)據(jù)的交互可能是一個區(qū)塊活動,負責執(zhí)行一個活動集,或者對轉(zhuǎn)移與活動進行映射?;顒蛹械幕顒印⑥D(zhuǎn)移共享過程的名字空間虛活動:它是一個活動骨架,不執(zhí)行任務處理(因此不需要分配資源和應用程序等)。但它負責在轉(zhuǎn)移間判斷,選擇路由工作流過程活動過程定義由一個或多個活動構(gòu)成,一個活動代表一個8轉(zhuǎn)移信息每個轉(zhuǎn)移(簡單)有3個基本信息:源活動,目的活動和轉(zhuǎn)移條件一個轉(zhuǎn)移離開一個活動的相關信息(離開動作)以及這個轉(zhuǎn)移進入另外一個活動的條件(進入動作),都在相應的活動中定義離開動作:在一個活動結(jié)束,轉(zhuǎn)移要發(fā)生時在源活動中定義進入動作:在一個轉(zhuǎn)移要結(jié)束、目標活動要開始時在目標活動中處理轉(zhuǎn)移信息每個轉(zhuǎn)移(簡單)有3個基本信息:源活動,目的活動和轉(zhuǎn)9復雜轉(zhuǎn)移需要虛活動來構(gòu)造虛活動做為一些活動的中間步驟,可以把一些離開動作和進入動作聯(lián)系在一起使用附加虛活動的基本轉(zhuǎn)移實體,可實現(xiàn)任意復雜的路由結(jié)構(gòu)復雜轉(zhuǎn)移需要虛活動來構(gòu)造10包提出原因:過程模型中包含的實體(工作流參與者、應用程序定義、工作流相關數(shù)據(jù)定義),可能會被多個工作流定義所使用,元模型采用通用的過程定義資源庫來保持各種構(gòu)成過程定義的實體類型。在資源庫內(nèi)部,為了有效把過程定義數(shù)據(jù)導入導出,提出了包的概念包就象一個容器,對許多不同過程定義中的通用數(shù)據(jù)實體進行分組,從而避免重復定義包中存放工作流過程定義實體的公共屬性(作者,版本,狀態(tài)等),包中的每一個過程定義都自動繼承包中的公共屬性,除非在過程定義中屬性被個別重新定義包提出原因:過程模型中包含的實體(工作流參與者、應用程序定義11全程實體與包引用有的實體能被同一包中的任何工作流定義所引用,包括: 1、工作流參與者描述 2、工作流外部應用程序聲明 3、工作流相關數(shù)據(jù)包引用運行使用包內(nèi)對象或者所使用的外部包中的上層實體對象 1、子流程可以引用過程ID號 2、工作流參與者聲明 3、工作流外部應用程序聲明全程實體與包引用有的實體能被同一包中的任何工作流定義所引用,12包內(nèi)名稱搜索在同一工作流中定義不同的包間使用名稱、標識符管理約定,開發(fā)者可以得到唯一正確的名稱與標識符名稱引用默認搜索順序: 過程ID號、外部應用程序、工作流參與者--先在同一模型搜索(包括非本地的過程),然后是外部參考模型中搜索工作流相關數(shù)據(jù)的命名在一個包中必須唯一包內(nèi)名稱搜索在同一工作流中定義不同的包間使用名稱、標識符管理13過程元模型 為工作流定義轉(zhuǎn)換定義了基本的實體集和屬性集。下列實體是必須被定義,或從包中繼承,或通過包的交叉引用工作流過程活動轉(zhuǎn)移信息工作流參與者聲明工作流外部應用程序聲明工作流相關數(shù)據(jù)過程元模型 為工作流定義轉(zhuǎn)換定義了基本的實體集和屬性集。下列14包元模型 包對單獨的過程定義及其相關實體數(shù)據(jù)進行分組,這些數(shù)據(jù)適合這個過程所包含的所有過程。包元模型中包括下列實體:工作流過程定義工作流參與者聲明工作流外部應用程序聲明工作流相關數(shù)據(jù)包元模型 包對單獨的過程定義及其相關實體數(shù)據(jù)進行分組,這些數(shù)15元素總覽XPDL中定義的主要元素: 1)所有主要元素的通用屬性和元素 2)每個主要元素的特有屬性 3)需要參考其他元素的元素 4)文檔和圖表元素,包含需要的描述信息 5)過程模擬、過程優(yōu)化的相關信息元素總覽XPDL中定義的主要元素:16開發(fā)者擴展屬性擴展屬性: 由開發(fā)者定義的屬性,描述在系統(tǒng)間交互的實體特性,需要單獨定義,并且在過程定義的導出和工作流服務器導入方需要達成一致擴展參數(shù)映射: 規(guī)范中沒有對編譯和參數(shù)傳遞的詳細的scheme的定義。參數(shù)映射和編譯局部的scheme都是由開發(fā)者自己定義的開發(fā)者擴展屬性擴展屬性:17過程定義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>過程定義xpdl表示<xsd:elementname="W18工作流過程定義主要元素傳給過程的參數(shù)列表工作流相關數(shù)據(jù)列表資源列表應用程序列表活動集列表 活動集:活動、轉(zhuǎn)移的自包含集,集合中轉(zhuǎn)移只能與本集合中的活動相關聯(lián) 組成過程的活動列表轉(zhuǎn)移列表過程的訪問級別工作流過程定義主要元素傳給過程的參數(shù)列表19活動集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>活動集xpdl表示<xsd:elementname="Ac20活動集定義:活動、轉(zhuǎn)移的自包含集,集合中轉(zhuǎn)移只能與本集合中的活動相關聯(lián)與子過程的對比: 1)與子過程類似 2)活動集是在過程內(nèi)部說明的,與過程中其他實體共享一個名稱空間,且不能被其他過程調(diào)用。不能被異步調(diào)用 3)子流程是過程中的一個活動對另外一個獨立過程調(diào)用,名稱空間可以不同。過程可以被異步調(diào)用活動集定義:活動、轉(zhuǎn)移的自包含集,集合中轉(zhuǎn)移只能與本集合中的21工作流活動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>工作流活動xpdl表示<xsd:elementname="22工作流活動主要元素Route虛活動,不對應實際任務執(zhí)行,只負責復雜路由構(gòu)造Implementation規(guī)則的活動,可能通過調(diào)用應用程序來完成或是由人工執(zhí)行,也可能對應一個子流程的調(diào)用BlockActivity執(zhí)行一個活動集ActivitySet的活動Performer與工作流參與者相關聯(lián)StartMode描述如何觸發(fā)活動的執(zhí)行(人工觸發(fā)的或是自動的)FinishMode描述活動結(jié)束時系統(tǒng)如何操作(人工確認的或是自動的)Priority活動的優(yōu)先級Deadline說明活動的截止期限,以及到達截止期限時要采取的動作TransitionRestriction為與活動相關聯(lián)的各轉(zhuǎn)移提供進一步的約束工作流活動主要元素Route虛活動,不對應實際任務執(zhí)行,23Implementation的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的xpdl描述<xsd:elem24元素Implementation的3種實現(xiàn)方式No:這是說工作流系統(tǒng)不能自動調(diào)用應用程序或方法來執(zhí)行活動,可能的情況有兩種:一種是由人工操作來完成的任務,由人工確認活動的開始與結(jié)束;另一種是工作流引擎自身知曉的任務。Tool:通過一個或多個工具來實現(xiàn)的活動,一般對應應用程序的調(diào)用。SubFlow:活動對應子流程的調(diào)用,子流程可以同步或異步執(zhí)行。同步調(diào)用的情況下,父流程中的活動將被掛起,并等待子流程的完成,子流程終止后,活動被恢復,并可能從子流程得到一些返回參數(shù)。異步調(diào)用的情況下,子流程初始化后,父流程中的活動將繼續(xù)推進,并且子流程不返回參數(shù)。元素Implementation的3種實現(xiàn)方式No:這是說工25轉(zhuǎn)移約束TransitionRestrictionXpdl通過TransitionRestriction來表達業(yè)務流程控制中的分支、匯聚等邏輯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>轉(zhuǎn)移約束TransitionRestrictionXpdl通26Join描述轉(zhuǎn)移約束的輸入轉(zhuǎn)移部分Join用于描述一個活動的多個輸入轉(zhuǎn)移,它有兩種類型:AND-Join(與匯聚)和XOR-Join(異或匯聚)AND-Join用于同步多個并發(fā)線程,即當活動的所有輸入轉(zhuǎn)移的條件都滿足時,活動才被初始化。XOR-Join則不要求同步,只要活動的任一輸入轉(zhuǎn)移的條件得到滿足,活動就被初始化Join描述轉(zhuǎn)移約束的輸入轉(zhuǎn)移部分27Join的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>Join的xpdl表示<xsd:elementname="28SplitSplit用于描述一個活動的多個輸出轉(zhuǎn)移,它同樣有兩種類型:AND-Split(與分支)和XOR-Split(異或分支)。但Split比Join多了一個屬性TransitionRefs(轉(zhuǎn)移引用),它是活動的所有輸出轉(zhuǎn)移的一個列表,只和XOR-Split在一起使用。AND-Split用于表達多個可能并發(fā)執(zhí)行的線程,活動的所有輸出轉(zhuǎn)移的條件被同時計算,所以條件被滿足的輸出轉(zhuǎn)移將同時被執(zhí)行XOR-Split則從活動的所有輸出轉(zhuǎn)移中選擇其中的一個來執(zhí)行,根據(jù)各輸出轉(zhuǎn)移在TransitionRefs列表中的順序,對轉(zhuǎn)移條件逐個進行計算,若條件被滿足,則執(zhí)行相應的轉(zhuǎn)移并結(jié)束計算,否則繼續(xù)判斷下一個。SplitSplit用于描述一個活動的多個輸出轉(zhuǎn)移,它同樣29Split的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>Split的xpdl表示<xsd:elementname=30轉(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)移信息的xpdl表示<xsd:elementname="31轉(zhuǎn)移信息(TransitionInformation)轉(zhuǎn)移信息描述活動間的轉(zhuǎn)移以及轉(zhuǎn)移發(fā)生與否的條件。如果一個活動對應多個輸入或輸出轉(zhuǎn)移,則它們之間的控制約束在活動實體的轉(zhuǎn)移約束屬性

溫馨提示

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

最新文檔

評論

0/150

提交評論