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