Windows WorkFlow Foundation入門(一)
這幾天在學習Windows WorkFlow Foundation(以下簡稱WF),但并沒有很好的學習資料,所以干脆翻譯了。本人英文不怎么樣,譯得不好,請見諒啊
一、工作流概述
工作流是由活動單元組成的集合,活動是真實過程的的一個模型。工作流提供了一種描述一系列相互關聯的工作之間有執行順序,這種工作從頭到尾貫穿了整個活動,這些活動可能是由人工或系統來執行。
每一個運行的工作流實例由工作流運行時引擎來創建和維護的。雖然對于每一個應用程序域只能有一個工作流運行時引擎,但工作流運行時引擎內可以行多個工作流實例并發工作。
一旦一個工作流模型被編譯,它就可以在任何一Windows進程內工作,包括控制臺程序,窗口程序,Windows服務程序,Asp.net網站及Web Service等。因為工作流駐留在進程中,所以它可以很容易與它的宿主進程進行通信。
下面這幅圖表明了工作流、活動以及工作流運行時引擎都存在于一個宿主程序中。
活動
如上所述,活動是工作流的基本單元,它們通過程序被加入到一個工作流中,其方式就好比將一個XML DOM子節點加入到根節點中。一旦工作流中的所有節點都運行完成,工作流實例就會結束。
WF由一系列標準活動類庫組成,同時也提供了一個機制幫助開發人員開發自己的類庫。這使得工作流之間的可擴展性和可重用性更加優異。
服務
當一個工作流運行的時候,工作流運行時引擎要使用到多個服務。這些服務組件是可插拔的,這使得應用程序可以在它們的運行環境中,提供具有唯一性的服務。Windows Workflow Foundation提供了這些運行時服務的默認實現,可以滿許多種應用程序需求。例如,它提供的這些組件實現了工作流實例的調度模型,工作流及其宿主程序之間的通信,怎樣監視和跟蹤你的工作流等等。
開發人員同樣可以從平臺提供的服務基類繼承,來自定義工作流,從而擴展WF平臺。
有狀態的、穩固的、長時間運行的應用程序
WF簡化了編寫有狀態的、穩固的、長時間運行的程序的過程。工作流運行時引擎管理著工作注的執行,并允許工作流長期保持活動狀態,哪怕是計算機重新啟動。運行時服務通過完美的錯誤管理機制,來實現這一點。
WF包含一個標準的服務,它與Microsoft SQL Server 2005 Express, Microsoft SQL Server 2000 or later or Microsoft SQL Server 2000 Desktop Engine (MSDE) 很好的集成,從而能列容易和高效的保證工作流的穩固性。
關于Visual Studio 2005 Extensions
使用WF組件來開如工作流程序,不一定要用Visual Studio 2005,但是,Visual Studio 2005 Extensions for Windows Workflow Foundation包含了許多工作流和自定義活動的設計器,將會使得開發工作更加方便。
浙公網安備 33010602011771號