力軟敏捷開發框架工作流實現技術

wqdfnsd發表於2018-11-12
工作流管理聯盟(WFMC)提出了一個工作流參考模型,約定了工作流系統的體系結構、應用介面及特性,主要目的是為了實現工作流技術的標準化和開放性。下面簡要介紹系統中的各個部分,並對參考模型中的五類介面進行描述。
  1. 工作流管理系統中的各種資料
         控制資料(Workflow Control Data)工作流執行服務/工作流機透過內部的工作流控制資料來辨別單個過程或活動例項的狀態。這些資料由工作流執行服務/工作流機控制。使用者、應用程式或其它的工作流機/工作流執行服務不能對其進行直接讀寫操作,它們可以透過向工作流執行服務/工作流機傳送訊息來獲得工作流控制資料的內容。
         (Workflow Relevant Data)工作流管理系統透過工作流相關資料來確定過程例項狀態轉換的條件,並選擇下一個執行的活動。這些資料可以被工作流應用程式訪問並修改。因此,工作流管理軟體應該在活動例項之間傳遞工作流相關資料。
          (Workflow Application Data)這種資料指那些由應用程式操作的資料。它們是針對應用程式的,工作流管理系統無法對它們進行訪問。
2. 工作流模型和工作流建模工具  
          模型過程模型包含了工作流執行服務執行該過程的所有必需的資訊,包括它啟動和結束的條件、組成的活動、活動間導航的準則、參與其中的使用者、需要啟用的應用程式的指標、需要用到的工作流相關資料的定義等等。    
         在工作流的建模期間需要參考組織/角色模型來獲得有關組織結構和組織內角色的資訊。過程定義指定完成某項活動的組織實體或角色,而不是定義具體人員。工作流執行服務負責在 執行環境內將組織實體或角色對映為特定的人員。    
         建模工具它主要用於分析、建模、描述並記錄經營過程。它應輸出一個能被工作流機動態解釋的過程定義。不同的工作流產品其建模工具輸出的格式是不同的,參考模型中的介面1不僅使工作流的定義階段和執行階段分離,使使用者可以分別選擇建模工具和執行產品,還可以使不同的工作流產品合作為一個過程定義的執行提供執行服務環境。    
         工作流管理聯盟針對工作流建模做了兩方面的工作:  (1) 建立了一個元模型(process meta model):它用於描述一個過程模型內各個物件、它們之間的關係及它們的屬性,有利於多個工作流產品之間交換模型資訊。  (2) 定義了一套可以在工作流管理系統之間及在管理系統與建模工具之間互動過程模型定義的API介面。  圖1為工作流管理聯盟定義的過程元模型。
3. 工作流執行服務
        工作流執行服務由一個或多個工作流機組成(在分佈環境下,由多個工作流機組成),提供了過程例項執行的執行環境,主要完成以下功能:  (1) 解釋流程定義,生成過程例項,並管理其實施過程。  (2) 依據過程定義和工作流相關資料為過程例項的導航提供進入和退出的條件、並行或序列執行活動的資訊、使用者資訊或所需啟用的應用程式的資訊等等。  (3) 與外部資源互動完成各項活動。 (4) 維護工作流控制資料和工作流相關資料(這些資料包括不同過程和活動例項的內部狀態資訊、工作流機用於協調和恢復的各種檢查資料和恢復/重起資訊等),並向使用者傳遞必要的相關資料。    
力軟敏捷開發框架工作流實現技術


      在分散式的工作流執行服務中,多個工作流機協調工作,推進 機例項的執行。每一個工作流機控制過程執行的一部分,並使用相關的資源和應用工具。這種執行服務需要共同的命名和管理範圍,便於過程定義和使用者/應用名稱一致。分散式的工作流系統採用特定的協議來同步各工作流機,並傳遞相應的控制資訊。在一個同構的工作流執行服務中這些協議是因廠家而異的。當選用不同的工作流系統產品時,各工作流機之間需要一個標準來進行轉換。它應包括以下幾個方面的內容:  (1) 一個共同的命名機制;  (2) 支援共同的過程定義物件和屬性;  (3) 能夠傳遞相應的工作流相關資料,並控制過程例項的生成;  (4) 能夠在異構的工作流機間傳遞過程、子過程及活動;  (5) 支援共同的管理職能。
 4. 工作流機  
          機是一個為工作流例項的執行提供執行環境的軟體服務或“引擎”。它主要提供以下功能:  (1) 對過程定義進行解釋;  (2) 控制過程例項的生成、啟用、掛起、終止等;  (3) 控制活動例項間的轉換,包括序列或並行操作、工作流相關資料的解釋等;  (4) 支援使用者操作的介面;  (5) 維護工作流控制資料和工作流相關資料,在應用或使用者間傳遞工作流相關資料;  (6) 提供一用於啟用外部應用程式和訪問工作流相關資料的介面;  (7) 提供控制、管理和監督的功能。    
         機的一個重要功能就是控制例項和活動例項的狀態轉換。工作流管理聯盟的參考模型中為過程例項的執行狀態和活動例項的狀態進行了定義,並給出了狀態轉換的條件。圖2和圖3分別描述了過程例項和活動例項各個狀態之間的轉換。  過程例項包括以下幾種執行狀態:  初始(inactived):一個過程例項已經生成,但該過程例項並沒有滿足開始執行的條件;  準備執行(running):該過程例項已經開始執行,但是還不滿足開始執行第一個活動並生成一個任務項的條件;       
力軟敏捷開發框架工作流實現技術


        執行中(active):一個或多個活動已經開始執行(也就是已經生成一個工作項並分配給了合適的活動例項)  掛起(suspended):該過程例項正在執行,但處於靜止狀態,除非有一個“重啟”的命令使該過程例項回到準備執行狀態,否則所有的活動都不會執行;  結束(completed):該過程例項滿足結束的條件,工作流管理系統將執行過程例項結束後的操作(如統計),並刪除該過程例項;  終止(terminated):該過程例項在正常結束前被迫終止,工作流管理系統將執行補救措施,並刪除該過程例項。    
力軟敏捷開發框架工作流實現技術


        活動的執行狀態包括:  未開始(inactive):該活動例項已經生成但還沒有被啟用(例如活動開始條件沒有滿足);  執行中(active):該活動例項已經被啟用了;  掛起(suspended):該活動例項處於靜止狀態;  結束(completed):該活動已經執行完畢,工作流管理系統將進行活動結束後的導航工作,啟用下一個符合啟動條件的活動例項。
 5. 客戶端應用  
        這種方式適合於需要人員參與的活動。這種情況下,工作流機透過任務項列表管理器來進行控制。工作流管理聯盟提供了四種可能的透過任務項列表來實現工作流客戶工作流機之間的通訊方式,如圖4所示。其中一種支援集中式的結構,另外三種適合分佈情況下的工作流系統。  (1) 基於主機方式的模型(Hust Based Model):這種方式適合於集中的情況。此時,客戶端應用程式、任務項列表管理器、任務項列表和工作流機都列在中央的主伺服器上,使用者透過模擬一個終端使用者來獲得任務項列表;  (2) 共享的檔案庫模型(Shared Filestore Model):在這種情形下,客戶應用程式和任務列表管理器位於使用者的工作站上,而工作流位於中央伺服器上。任務項列表位於一個客戶應用和工作流機都能夠達到的共享的檔案系統中。  (3) 電子郵件模型(Electronic Mail Model):這裡,客戶應用和任務項列表管理器位於使用者的工作站上,工作流機位於中央主機上。所有的通訊都使用電子郵件。此時,任務項列表一般位於客戶端;  (4) 過程呼叫或資訊傳遞模型(Procedure Callor Message Passing Model):這時,客戶應用程式和任務項列表管理器位於使用者的工作站上,任務項列表和工作流機位於伺服器端。使用者透過RPC或者其它的訊息傳遞機制來獲得任務項列表。     
力軟敏捷開發框架工作流實現技術


  6. 由工作流機直接呼叫的應用程式  
         這種情況適合於不需要人員參與的活動。在簡單的情況下,工作流機透過過程模型中定義的活動的資訊、應用程式的型別和需要的資料來啟用應用程式。被啟用的應用程式可以和工作流機位於一臺計算機上,可以位於相同的執行平臺上,也可以位於網路可以到達的不同平臺上。模型定義提供了有關應用程式的型別、地址等充分資訊,便於工作流機啟用該程式並執行相應的動作。
 7. 工作流執行服務之間的互操作性
        工作流聯盟的目標之一就是規定一個標準使得不同廠商提供的工作流產品能夠協調工作,整個系統能夠無縫地在各個產品之間傳遞任務項。工作流管理聯盟在互操作性上的工作主要集中在提供了一系列互操作的情景,從簡單的任務傳遞到傳輸整個工作流過程模型和工作流參考資料。儘管有可能考慮那些很複雜的情形(如不同廠商提供的工作流機共同協作實現工作流執行服務,這在目前還不可能實現,因為它要求所有的工作流機都能夠解釋過程模型,共享一套工作流控制資料,並在異構的工作流機環境下共享過程例項狀態。)但就目前來說,比較切合實際的目標是在不同的工作流執行服務間傳遞過程的部分內容,支援其例項的執行。
  8. 系統管理和監控工具
        該工具能夠對工作流在整個組織內的流動狀況進行監控,並提供一系列的管理功能,如有關安全性、對過程的控制和授權操作等方面的管理。主要功能包括以下幾個方面:  (1) 建立、設定和最佳化組成 的各個軟體;  (2) 對過程模型進行例項化;  (3) 將過程模型中的角色例項化;  (4) 將執行中的過程例項、活動例項和資料分發到各個工作流機中;  (5) 啟動、掛起、恢復和終止過程例項;  (6) 管理正在執行的過程例項並對正常或異常退出的過程的歷史資料進行統計和分析。 
 9. 工作流參考模型中的五類介面   
         工作流聯盟給出了五類介面:  (1) 介面1: 服務和工作流建模工具;  (2) 介面2:工作流服務和客戶應用之間的介面,這是最主要的介面規範,它約定所有客戶方應用和工作流服務之間的功能訪問方式;  (3) 介面3:工作流機和直接呼叫的應用程式之間的介面;  (4) 介面4:工作流管理系統之間的互操作介面;  (5) 介面5:工作流服務和工作流管理工具之間的介面。    其中,介面1為在不同物理或電子介質之間傳遞過程定義的資訊提供了互動的形式和API呼叫;介面2定義了通訊建立、工作流定義操作等功能;介面3啟用應用程式的API函式應覆蓋的幾個方面的功能;介面4完成工作流執行服務之間需要提供大量的WAPI來實現互操作,無論是在兩個工作流執行服務之間的直接呼叫還是透過閘道器函式;介面5主要實現對工作流的管理和監視。
力軟敏捷開發框架工作流實現技術


官網:
免費演示地址:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545518/viewspace-2219704/,如需轉載,請註明出處,否則將追究法律責任。

相關文章