王亞林 天津市信息中心
基于微軟平臺的工作流技術開發實踐與研究
王亞林 天津市信息中心
目前幾年,計算機行業已經漸漸地將開發重點轉移到微軟平臺的工作流技術開發研究與實踐當中,而計算機行業的領頭羊微軟也早已進行了微軟平臺的工作流開發工作,即WINDOWS WORKFLOW之上,現在計算機行業的主流工作重點也是將微軟平臺的workflow與之前傳統保守的工作環境相結合,這樣做的目的是為了計算機軟件開發提供更為舒適的開發環境。
微軟平臺 工作流 開發實踐
歷史上最早出現工作流(workflow)這一思想是在上世紀六七十年代,由于那個年代計算自動化正在辦公室之間普及開來,并且逐漸在蓬勃發展當中,工作流這一概念在當時被認為可以極大地提高辦公自動化的水平并且促進辦公的效率,可是事與愿違,在當時的技術水平以及社會環境之下,人們對電腦在辦公之中的應用接受程度較為保守,并且開發者也沒有充分地考慮到辦公室的實際情況以及對自動化的需求,且當時計算機處于剛剛發展的階段,水平技術不夠先進,所以這種想法最終還是付之東流了。
Workflow這一概念的基本原理為:首先為工作之中遇到的一個基本程序的日常活動制定一個概念,之后借用一些工作活動達到定義目標、身份、秩序和過程來進行執行以及監控,從而實現大大提升工作效率以及工作生產組織環境質量的目標,通俗來講就是實現辦公過程的自動化以及計算機信息化,workflow這一思想在人力資源管理、辦公管理、法務管理以及提供特殊服務的部門當中都有著十分良好的未來,對優秀的workflow產品的基本要求為既可以在人們的平時工作和重要的辦公領域提供關鍵的智能化的支持以及便利,也可以依據客戶公司的具體要求因地制宜地提供自動化計算機化的服務,從而制定一些工作流程然后達到提高辦公室辦公效率以及辦公準確度的目標。
目前全世界的計算機水平以及信息自動化的水平不斷提高,人們應用計算機的水平也在逐步的提升,從而促使了企業生產出一些較為成熟的適用于商業開發的計算機workflow產品,這其中較為常見的是以下幾個,WINDOWS WORKFLOW FOUNDATION(WWF)、jbpm、osworkflow。由于微軟系統在計算機系統中出現時間較早,所以大多數人對微軟系統的操作是比較熟悉的,而又因為有些人不習慣學習適應新事物,這些人就可以選擇使用微軟工作流系統開發工具。
NET、Framework 3.0之中一重要組成部分便是微軟工作流基礎,即WINDOWS WORKFLOW FOUNDATION(WWF),它其實是一個可擴展的基礎框架,主要是應用在微軟的平臺之中為程序等開發提供具體的方案。與此同時,它也是一個兼具普遍性以及通用性的workflow framework。可是在現實的開發當中,這對機器配置的要求最低為NET FRAMEWORK 2.0又或者是更高的版本,并且最少為WINDOWS XP Service Pack 2(sp2)等,在具備了上述平臺的基礎之上,則可以進行Windows workflow foundation與Visual Studio 2005結合交替運用,進行微軟工作流各種平臺的應用軟件開發。
在微軟的工作流引擎問世之后,隨即就吸引了人們的目光,作為微軟自己開發的平臺,它在微軟的工作環境之下是有很多的便利的,可是在實際應用工作流引擎之中,卻發現它還是存在很多問題的。
若想熟練地使用微軟工作流引擎,那么一定要具備十分專業的計算機知識,這對普羅大眾來說其實是比較困難的。
由于在微軟系統下工作流引擎開發周期較長,所以在日新月異的計算機環境中,很難滿足大多數人對workflow的迅速更新實用需求。
在工作流引擎使用提供一系列服務的過程當中,可以進行持久化處理,比如對服務進行跟蹤,可是這些服務通常只是提供了一些最基本的服務,這些最基本的并不能夠滿足實際中更為復雜的使用需求。
在執行Workflow Foundation的過程中,要對其進行管理,包括對其啟動、運行以及終止,并且工作流引擎在運行時應加以服務。
由于過長時間的運行Workflow會造成時間的浪費,但是它仍始終處于閑置的狀態,這種狀態下的Workflow會在延遲活動結束后進行。可是在啟用持久化服務之后,運行時刻便會將之前閑置的workflow永久化,然后再把其從系統中剔除出來,延遲活動直到新的事件達到之后才會繼續進行工作。
若想使用跟蹤服務,那么便會不可避免的使用其配置,即tracking profile,它的主要功能是進行甄別所接收到的workflow Foundation發送的信息,跟蹤服務可以憑借其自身的判斷選擇接受工作流引擎發送的信息,然后再講這些信息記錄到其文件之中,當然也可以選擇記錄到數據庫中,跟蹤服務會隨著Workflow Foundation一起工作,可以保證它保存的記錄是永久且相同的。
由于Workflow Foundation是基于微軟平臺進行開發的一種工作流引擎,它可以幫助辦公實現自動化以及信息化,并且該系統與其他相比具有圖形化工作流程、多種流程邏輯結構等鮮明的特點,但是其也存在著自身不可避免的局限,比如workflow中活動不夠豐富等。總體來說工作流引擎系統能夠使各個子系統良好運行,且可以為日常辦公提供較為良好的服務,也能夠為其系統結構進行定義。
[1](美)內格爾,C#高級編程(第四版),清華大學出版社,2006
[2]Davis Green,在工作流平臺上構建應用程序[J].The Architecture Journal,2006