黃麗梅, 李佳林, 李瑞然
(長春市國土資源局信息中心,吉林長春 130011)
目前應(yīng)用的各類電子政務(wù)系統(tǒng),基本上是以工作流技術(shù)為核心的電子審批、檔案管理、行政辦文等相應(yīng)系統(tǒng)組成的綜合性事物處理平臺,為政府提高管理水平提供了有效的技術(shù)支撐[1]。工作流技術(shù)從產(chǎn)生開始發(fā)展到今天,無論是在技術(shù)方面,還是在管理方面,都有了很大的變化,最初的的技術(shù)方法已經(jīng)不能適應(yīng)新的需要,隨著信息化的進一步發(fā)展與深入,一般性的工作流設(shè)計方法已經(jīng)不能使工作流程與實際情況對應(yīng),現(xiàn)實情況對于工作流平臺的要求越來越復(fù)雜,對工作流引擎的子流程技術(shù)改進已經(jīng)成為電子政務(wù)發(fā)展的重要需求[2]。
工作流就是一類能夠完全或者部分由計算機自動執(zhí)行的業(yè)務(wù)過程[3],一個成熟的工作流管理系統(tǒng),其引擎對于子流程(Subflow)功能的支持是必不可少的,就如同是一門編程語言支持函數(shù)一樣普遍。在當前Workflow,BPM,EAI產(chǎn)品的建模工具中,對于子流程的應(yīng)用無處不在,隨著流程建模工具的日益強大、企業(yè)業(yè)務(wù)過程的日趨復(fù)雜及集成要求的不斷增長,把相似的過程封裝成一個個可調(diào)用的過程函數(shù),已經(jīng)是一個不可缺少的功能了[4]。
在工作流技術(shù)基本控制流程模式中,子流程分為4類。
定義1 非同步多實例模式:在一個工作流實例的環(huán)境中,一個動作的多個實例可以被創(chuàng)建。也就是說,在控制線程外產(chǎn)生新的線程。這些線程相互獨立,不需要同步。
例如:在業(yè)主辦理土地證的流程中,同一業(yè)主有多處房產(chǎn),可辦理多個土地證,因此,土地證的辦理動作存在多個實例,辦理土地證A的實例、辦理土地證B的實例等。
定義2 設(shè)計時可知的多實例模式:在一個流程實例中,一個活動被實例化的次數(shù)在設(shè)計時是可知的。一旦所有已知的實例完成,其它的活動需要被執(zhí)行。
例如:某個訂單,需要3次不同的審核。
定義3 運行時可知的多實例模式:在一個流程實例中,一個活動被實例的調(diào)用次數(shù)在設(shè)計時是不可知的,它依賴于流程特性或者資源可用性,僅在流程實例運行時的某個階段可知。
例如:在土地分割登記過程中,一宗地的分割流程中分割的數(shù)量依賴于實際分割的戶數(shù),每戶所分得的土地依賴于宗地總面積、總建筑面積以及該戶的建筑面積。
定義4 運行時不可知的多實例模式:在一個流程實例中,一個活動被實例的調(diào)用次數(shù)在設(shè)計時是不可知的,在流程運行的過程中也是不可知的。
例如:在100臺計算機的運輸流程中,每次運輸?shù)挠嬎銠C的個數(shù)是不可知的,因此,整個運輸次數(shù)也是不可知的。
子流程是一類特殊的工作流過程定義,可以映射成其它工作流定義中的一個活動節(jié)點,當執(zhí)行到子流程節(jié)點時,觸發(fā)子流程執(zhí)行,待子流程執(zhí)行完畢,回到父流程執(zhí)行下一個節(jié)點,通過子流程機制,工作流技術(shù)實現(xiàn)工作流過程定義之間的嵌套和連接[5]。
在此次設(shè)計中,工作流引擎設(shè)計使用微軟的WF(Windows Workflow Foundation)引擎來實現(xiàn)系統(tǒng)核心平臺。Windows Workflow Foundation是編程模型、引擎和工具,用于在Windows上快速生成啟用工作流的應(yīng)用程序。它包括一個命名空間、一個進程內(nèi)工作流引擎和多個Visual Studio 2008設(shè)計器。Windows Workflow Foundation是一個框架,讓用戶可以在其為Windows Vista,Window s XP和Windows Server 2003系列編寫的應(yīng)用程序中創(chuàng)建系統(tǒng)或人工工作流。Windows Workflow Foundation可用于解決簡單方案,如根據(jù)用戶輸入顯示UI控件,或用于解決大型企業(yè)遇到的復(fù)雜方案,如訂單處理和庫存控制。
Windows Workflow Foundation可以處理的方案包括[6]:
?在業(yè)務(wù)線應(yīng)用程序中啟用工作流
?用戶界面頁流
?以文檔為中心的工作流
?人工工作流
?面向服務(wù)應(yīng)用程序的復(fù)合工作流
?業(yè)務(wù)規(guī)則驅(qū)動的工作流
?系統(tǒng)管理的工作流
Windows Workflow Foundation提供了與其它.NET Framework 3.0技術(shù)(如Windows Communication Foundation和Window s Presentation Foundation)一致和熟悉的開發(fā)體驗。Windows Workflow Foundation API完全支持Visual Basic.NET和C#、專用工作流編譯器、在工作流中調(diào)試、圖形工作流設(shè)計器,并支持完全用代碼或標記開發(fā)工作流。Windows Workflow Foundation還提供了可擴展模型和設(shè)計器,用于生成為最終用戶或跨多個項目重用封裝工作流功能的自定義活動。
下面以土地管理系統(tǒng)中的分割登記流程為例來說明此次工作流引擎中子流程技術(shù)的實現(xiàn)。
一般的分割登記流程是由一個分割登記流程通過分割一宗地形成若干個分割宗地及相應(yīng)的分割登記證號,整理立卷之后,分割登記流程結(jié)束。分割轉(zhuǎn)讓登記流程是根據(jù)分割登記流程所形成的分割證號啟動分割轉(zhuǎn)讓登記流程,將臨時性的分割登記證換發(fā)土地證[7]。
這種流程方式的弊端是兩個流程沒有有機地結(jié)合起來,導(dǎo)致分割轉(zhuǎn)讓登記如果發(fā)現(xiàn)問題需要更改時,分割登記流程已經(jīng)形成的電子檔案和紙質(zhì)檔案不能同步修改,使原分割登記的檔案不能保持有效性,需要重新進行分割登記,產(chǎn)生許多重復(fù)工作,這種流程引擎已經(jīng)不能適應(yīng)現(xiàn)在土地登記管理的實際情況。因此就要把流程整合,使兩個流程有機地統(tǒng)一起來,使最終檔案生成有效。
新引擎的設(shè)計使兩個流程能夠有機組合,變成一個父流程與子流程的關(guān)系。解決了數(shù)據(jù)管理和使用的同步問題。下面以土地分割登記為例,說明父流程與子流程之間的調(diào)用方法,土地分割登記中包括調(diào)用分割轉(zhuǎn)讓流程和測繪流程。
以土地分割登記流程為例,流程采用代碼分離方式設(shè)計,其XAML代碼如下[8]:



從上面實例可以看出,分割轉(zhuǎn)讓登記子流程和測繪子流程的調(diào)用方式完全不同,分割轉(zhuǎn)讓登記流程在工作流設(shè)計中使用的是運行時可知的多實例模式,采用ReplicatorActivity方法調(diào)用,ReplicatorActivity類似于代碼中的For Each語句,如果出現(xiàn)需要對許多不同實體重復(fù)同一函數(shù)的任務(wù),則使用ReplicatorActivity解決方案可能比WhileActivity更好,默認情況下,在所有子實例結(jié)束后,ReplicatorActivity結(jié)束,可以用活動完成時要使用的自定義條件重寫此行為。如果在所有子實例結(jié)束前,此條件計算結(jié)果為true,則會取消所有正在運行的未完成子實例,因此,采用ReplicatorActivity。而在測繪子流程中卻采用非同步多實例模式,在工作流設(shè)計中作為一個Active直接調(diào)用。
子流程技術(shù)的引入,減少了工作流二次開發(fā)中大量的重復(fù)勞動,若同時采用動態(tài)表單技術(shù)可以實現(xiàn)單流程多用途的審批管理模式,不僅能夠縮短程序開發(fā)周期,而且具有很強的實用價值。
[1] 辛繼升.推進國土資源信息化建設(shè)若干問題的探討[J].國土資源信息化,2008(3):7-11.
[2] 陶信寬.貴州省國土資源信息化建設(shè)模式研究[J].國土資源信息化,2009(5):3-5.
[3] 李玉華.工作流技術(shù)的研究設(shè)計[J].中國科技信息,2008,10(3):96-98.
[4] 侯秀萍.基于工作流網(wǎng)的過程模型的合理性分析[J].長春工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2006,27(2):162-164.
[5] 唐文忠.基于工作流技術(shù)的構(gòu)件模型研究[J].計算機應(yīng)用研究,2008,25(7):2057-2059.
[6] 譚 云.基于Windows Workflow Foundation技術(shù)的軟件項目管理系統(tǒng)的實現(xiàn)方法[J].青島職業(yè)技術(shù)學(xué)院學(xué)報,2008(3):77-81.
[7] 李明晶.淺析土地分割登記[J].黑龍江國土資源,2007(7):64-65.
[8] 李軍懷.一種基于XM L的工作流過程定義語言研究與應(yīng)用[J].計算機工程,2005,31(15):53-55.