WWF支援的工作流模式和風格

2021-04-13 03:18:43 字數 2457 閱讀 7095

wwf支援的工作流模式和風格

dino esposito的文章

介紹了目前在visual studio 2005中建立wwf的五種專案

sequential workflow library

workflow activity library

state machine workflow library

empty workflow 

sequential workflow library --建立乙個順序的工作流庫專案

workflow activity library  --建立乙個工作流節點/步驟庫專案

應用wwf開發乙個工作流的應用,一般進行下面的步驟:

1. 使用工作流設計器設計其工作流的模型和行為--你可以看作是產生乙個activity

2. 使用工作流設計器或**組合(compose)多個activity,並且設定相應的屬性。

3. 將工作流hosting在乙個控制台程式中,當然也可以hosting在windows services,winform或iis等等的應用程式中

4. 工作流引擎啟動,例項化你之前創作的工作流

5. 將業務資料送入工作流,或從工作流中獲得狀態的資料,進行流程狀態跟蹤的處理和展現

如果理解了上面的,那麼就非常容易兩類關於狀態機的工作流專案型別了

state machine workflow library--建立乙個狀態機的工作流專案,沒有設定hosting,可以作為乙個元件

sequential(時序) 和state machine(狀態機)是wwf提供的最主要的兩種工作流型別,也是目前應用比較廣泛的工作型別。wwf還提供一種基於role-based(基於角色)的工作流,由於role-based主要是面向控制鑑權、使用者角色和業務規則,所以它可以單獨存在(這時表現和biztalk hws非常相似),也可以遷入到sequential和state machine兩種工作流中,進行組合和變化

而 empty workflow 則只提供了乙個專案檔案和wwf需要的相關引用,可以有使用者決定加入上述五種不同的專案或是成為這五種專案的一種,因為wwf sdk也支援不使用工作流設計器完全用**的方式來構建和執行wwf應用。

簡單來看,我們可以使用visual studio wwf的擴充套件創作整個工作流(其實是組合、排列和設定activity的關係網),activity則可以理解成我們經常說的工作流中某一步,子流程,裡面包含了流程、狀態、規則、某個狀態下的行為(actions)以及它們之間的關係。而多個activity的組合或排列就構成了wwf的工作流(workflow),所以使用和理解activity的概念非常重要的

從整個的架構上,wwf支援面向人(human)和系統(system)的兩種工作流模式,並且努力將它放到乙個工作流模型(one model)中。

從風格上看:

sequential 型的比較傳統,帶有明顯的時序性,適用於大多數結構化的工作流應用

role-based 型用於比較靈活,資料驅動的,面向多種業務規則的某個專門領域的工作流

state machine型也非常靈活,屬於事件驅動,帶有事務特徵,適合於非結構化面向人或角色相關的工作流場景

同樣基於上述的風格很容易進行組合或建立出新的風格。

通俗理解的描述(當然是我的理解),你可以發現創作工作流的過程,實際是產生乙個xoml的工作流描述語言,之後它會被編譯成乙個.net assembly,它包含的工作流的元資料和相關的設定、屬性和**。之後你配置hosting(其實是配置工作流主機的通訊協議、執行緒、事務、時鐘和資料/狀態序列化方式),然後在hosting中執行和啟動wwf工作流引擎,工作流引擎再載入帶有工作流元資料和**的.net assembly,這些assembly被工作流引擎按計畫或步驟地執行;工作流引擎負責每個工作流例項的生命週期,多個工作流的執行、排程、狀態跟蹤、解析規則引擎,而我們的應用程式則處理輸入和輸出資料、狀態的展現,編寫每個步驟中對於資料的處理。

所以wwf提供了乙個工作流應用和平台的基本功能和服務,比如它目前就不關心像biztalk server那樣做集群、配置高可用性,這就如同之前我們使用sql report services一樣,rs並不關心最後報表列印的技術問題。wwf也一樣,它提供了乙個平台、提供了乙個framework和相關的開發工具。它非常明顯的特徵和服務使它和wpf,wcf一起成為microsoft winfx中非常重要的三大基礎服務之一

published monday, september 19, 2005 2:38 pm by

ccboy

filed under: wf(winoe)

BPEL對工作流模式的支援

bpel支援了21個工作流模式中的14個 基本模式 5 個 順序模式 按照順序執行各項活動 並行分支模式 同時執行兩個活動 同步模式 同步兩個並行的執行執行緒 單選模式 從多條路徑中選擇乙個執行 簡單合併模式 合併兩個二選一路徑 高階分支與同步模式 2個 多選模式 從多條執行路徑中選出幾條 同步合併...

工作流模式

工作流模式 工作流原理上有很多特定模式,可以用於工作流過程建模和分析。在研究工作流引擎時,這些是必不可少知識儲備 基本模式 5個 1 順序模式 按照順序執行各項活動,工作流流程中的乙個活動只有當另乙個活動完成後才能進行。如 當訂單登記活動完成後,客戶通知才可以進行。2 並行分支模式 同時執行兩個活動...

工作流模式

工作流原理上有很多特定模式,可以用於工作流過程建模和分析。在研究工作流引擎時,這些是必不可少知識儲備 基本模式 5個 1 順序模式 按照順序執行各項活動,工作流流程中的乙個活動只有當另乙個活動完成後才能進行。如 當訂單登記活動完成後,客戶通知才可以進行。2 並行分支模式 同時執行兩個活動。在流程中的...