第 1 章Workflow基本觀念第 1 章Workflow基本觀念\1-2關於Workflow Foundation

1-2關於Workflow Foundation

 

q  關於微軟的WF

2007年初,老大哥微軟終於推出了第一個可以在.NET上執行的Work Flow架構,Windows Workflow Foundation(簡稱WF),它提供了一個可以整合在VS2008之下的程式開發環境與相關的工具,讓程式開發人員可以利用WF來建構工作流程管理系統,程式人員可以自由開發屬於自己的「流程活動元件」 (Activity),並整合其他現成可用的Web Service與其他外部的程式,可應用到各種不同的企業領域中。它有幾個特色,說明如下:

 

1. WF是有狀態的、持久化的、不間斷執行的應用程式:WF是個有狀態的服務(能記住上一次執行到哪)的架構,並且是一個非同步執行的工作流程應用程序(可以不用讓Client去等待),最重要的是WF的工作流程引擎可以確保所有工作流程實例長期執行,並能抵抗機器的當機重開(這是因為這些Instant可以被序列化保存著)

 

2. 親和與視覺化的工作流程模型:WF為開發人員提供了一個親和與視覺化的工作流程模型,來描述應用系統所需要的處理過程。透過使用此開發界面能讓工作流程模型所提供的流程元件、狀態管理等,讓開發人員可以分離應用程式的邏輯和商業邏輯,構造一個高層次的抽象化流程物件,達到容易理解與維護的目的。

 

3. 元件化可重用:WF為開發者提供了一系列的流程活動,這是一種基本工作單元,可被元件化設計。這種架構封裝了開發者可能經常性使用到的一些程式,可節省開發時間,也可讓這些自定義的活動元件提供了方法(Method),通過將工作流程引擎載入,來讓這個活動元件可受到外界的指揮來執行相對的方法。

4. 可整合其他服務端的服務:執行時,可以透過Web Service或其他遠端服務程

 

序來整合流程中各活動元件與需配合的商業邏輯與資料庫服務,包含資料的分裝與派送,讓系統更加靈活,在SOA(Service Oriented Architecture)服務導向架構風行的今日,更顯得與其他服務整合的重要性。

 

q  WF的架構

 

瞭解了WF的功能與特色後,接著透過這張圖,來了解WF的架構,現將下圖各名詞解釋如下:

 

 

(註:之前微軟官方稱Windows Workflow FoundationWWF,現簡稱為WF)

 

Activity流程活動,為工作流程中的最基本單元,此活動單位,可以很簡單到複雜皆可。

 

Workflow工作流程,為一組多個流程活動所組成的部分或全部的商業處理程序,當流程在引擎中被建立時,會製造一個流程實例(Instant)

 

 

WF designers流程的圖形設計工具,可用於新增與修改的工作流程中的各個流程活動。

 

WF base activity library流程活動的基本元件組,這是微軟為我們開發好現成的流程活動元件,開發者可以直接使用,也可以自行來設計這類的活動元件。

 

WF runtime engine用來執行工作流程的程式庫,也就是WF的工作引擎,並提供與外部整合與溝通的機制與服務,來加強本引擎的彈性能力。

 

Host Process流程主機程序,這是一個WF主機的處理程序,當WFruntime engine執行時,此主機程序將提供穩定的執行服務,如支援工作流程的狀態(利用序列化保留上次的狀態),處理流程的交易和其他功能等。

 

WF提供了開發者自由發揮的空間,架構上提供了以下兩種流程:

 

1.      Sequential Workflow一個循序往下進行流動的工作流程,每個流程活動都依流程的邏輯往下被執行,是一個只能前進不能後退的流程,此流程也可以讓參與者互動,決定何時往下執行,最常運用在企業之複雜型商業邏輯的抽象化,可以簡化耦合度與讓商業邏輯透明化。

 

2.      State Workflow一個依照各個流程活動的狀態,來決定往下執行那個流程活動,此為企業流程最常用的應用,可以讓企業單據與服務在工作流中與參與者互動並整合企業的商業邏輯。

 

 

Top of Page