論壇文章
Windows Workflow Foundation

省去與底層溝通瑣碎事務  開發通透性更高流程系統

現在企業為了將商業程序電子化、自動化,通常需要流程應用系統將作業程序一步一步串起來,這些程序則包含自動化及人工兩種處理方式。一般來說,一個流程應用系統為要滿足企業的需求除了必須要考慮到流程變更的彈性、交易資料的一致性外,另外還需搭配e-Mail、訊息通知、參考人員及組織資料、紀錄流程的繞送過程等C流程應用系統要處理的事情非常繁瑣,如果沒有一個好的基礎開發平台來協助建置,要滿足前述這些需求並不容易。目前市面上許多軟體廠商都有提供各自的流程產品來因應這些需求,雖然各家廠商提供的功能大同小異,不過各家廠商實作流程系統的方式卻大相逕庭,就連微軟這家公司在內,在之前許多的產品當中也都包含了不同的流程技術在內,這樣的現象,對軟體廠商或是對企業來說,或多或少都增加維護上的困難。

微軟希望整合內部的流程技術,也希望流程開發廠商透過一致的開發平台,就能開發出通透性更高的流程系統,再透過此一開發平台省去花費在與底層溝通瑣碎事務,進而將重心轉移至更高層的設計上,所以推出了Windows Workflow Foundation,簡稱為WF。

特定情境的需求 廠商自行加值完成

WF建置在視窗平台上,是針對建立流程相關應用所提供的程式設計模式、引擎與工具。Workflow的應用情境範圍非常廣泛,可能是系統與系統間的工作流程,也可能是系統與人之間的工作流程,也可能或是人與人之間的工作流程。單要靠一套流程系統就達到滿足各種情境的需求並不容易,因此,WF並沒有針對特定的情境來設計,反之,微軟希望這方面能由廠商自行在WF上加值來完成並滿足需求。

下一版的Windows作業系統Windows Vista將內建WF,因此,日後WF可以直接在Windows Vista上執行,另外,WF也可以透過外掛的方式在Windows XP及Windows 2003上執行。未來即將推出的Office 2007也會與WF有密切的結合,這對於習慣使用Office當作表單簽核工具的使用者而言,不啻是個福音。

有了WF,還需要流程軟體嗎?

那麼,有了WF,還需要流程軟體嗎?答案是需要的。要特別注意的是,WF是一個開發平台,並不是一個可以直接使用的流程產品,因此,若要滿足企業的流程需求,仍需要靠軟體廠商一一將這些功能實作出來。

有了WF,流程系統就能互通無礙?

有了WF,各家廠商開發出來的流程系統就可以互通無礙?答案是無法確保的。我們可以用以下兩點來看。
實作的規範:
WF雖然提供一套流程應用的程式設計模式,但並沒有強制的規範哪些部分是一定要實作出來,所以就某種程度來說,開發廠商仍擁有高度的自由性,可以依據各自的應用領域決定哪些部分要利用WF來架構,雖然各家廠商使用WF做為開發平台,不過各家廠商利用WF實作流程系統的程度可能大不相同。
資料整合:
以系統整合的角度來看,多個流程應用系統彼此可以透過Web Services或是Message Queue奶閬◎噫q,將整個商業程序利用一個流程串接起來。流程可以橫跨多個應用系統,這一點對市面上現有的流程產品來說,並不是問題。

但以一個資料整合的角度來看,要將兩個性質相似但彼此之間沒有任何前後關連的應用系統,透過一個查詢就可直接取得這兩個系統的資料,企業必須在事前先花費一定程度的資料整合成本。這是因為各家廠商儲存的流程資料都不相同,除非額外針對每個系統提供資料整合的工具,否則無法輕易整合各系統的流程資料。而WF 在流程資料存放這方面的設計是由開發廠商自由發揮,所以想要輕鬆的整合資料,還是得花費一番心思。

環境限制

軟體廠商在利用WF開發流程解決方案之前,須考慮到以下幾點:
廠商無法用同樣的開發架構分別提供Windows平台及Java平台的流程解決方案。這是因為WF必須在Windows平台上運作,無法在Java的開發環境中使用。
● Windows XP以下的作業系統並不支援WF。

結論

對於目前紛亂的流程市場而言,WF的推出雖無法解決流程應用系統的整合問題,不過藉由這樣一個開發平台的誕生,也許是流程開發廠商好好思考如何製作互通性更高的流程產品的好時機。