摘要:林權(quán)證管理系統(tǒng)對于提高林權(quán)證管理的效率和科學(xué)性具有重要意義。對當(dāng)前林權(quán)證管理系統(tǒng)存在的問題進(jìn)行了分析,提出采用Smart Client技術(shù)進(jìn)行林權(quán)證管理系統(tǒng)的開發(fā),分析了離線狀態(tài)下林權(quán)證辦理的實現(xiàn)技術(shù),為保障林權(quán)證業(yè)務(wù)的正常開展提供了一個有效途徑。
關(guān)鍵詞:Smart Client;林權(quán)證管理系統(tǒng);離線應(yīng)用
中圖分類號:TP315文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2009)36-10180-02
Research on Authorized Area based Access Control Technique
SHI Jun-nan, LONG Zhi-hao
(Research Central of Forestry Remote Sensing Information Engineering, Central South University of Forestry and Technology, Changsha 410002, China)
Abstract: Forest ownership document management system is important to improve the efficiency and scientific of forest ownership document management. This paper analyzes the current problems of Forest ownership document management system, proposes to develop forest ownership document management system with Smart Client, analyses the realization of forest ownership accreditation at the offline state, which provide an effective way to guarantee the forest ownership business.
Key words: Smart Client; forest ownership document management system; offline application
集體林權(quán)制度改革(以下簡稱林改)是針對集體山林歸屬不清、權(quán)責(zé)不明,經(jīng)營機制不活、產(chǎn)權(quán)流轉(zhuǎn)不規(guī)范、經(jīng)營主體不落實、利益分配不合理等問題而開展的以“明晰產(chǎn)權(quán)、放活經(jīng)營、減輕稅費、規(guī)范流轉(zhuǎn)”為主要內(nèi)容的林權(quán)改革活動。自2003年起選擇福建、江西、遼寧為試點率先進(jìn)行林改,建立了相應(yīng)林權(quán)證管理信息系統(tǒng),為林權(quán)本證管理系統(tǒng)的研究奠定了基礎(chǔ)。以文獻(xiàn)[1]為代表的C/S模式的林權(quán)證管理系統(tǒng)集中解決了林權(quán)空間和屬性數(shù)據(jù)的錄入及管理、林權(quán)證的制作打印。但是該類型系統(tǒng)部署不方便、升級維護(hù)成本大。文獻(xiàn)[2-3]研究了基于WebGIS的林權(quán)管理信息系統(tǒng),實現(xiàn)了林權(quán)信息的在線發(fā)布與瀏覽。河北省建立了網(wǎng)絡(luò)版林權(quán)管理信息系統(tǒng),實現(xiàn)了林權(quán)證在線登記、發(fā)證、建檔等功能。林權(quán)WebGIS雖然易于部署,維護(hù)方便,但是客戶端與服務(wù)器的數(shù)據(jù)交換頻繁,網(wǎng)絡(luò)負(fù)載大,難于充分利用客戶機資源,而且網(wǎng)絡(luò)不通時用戶無法訪問系統(tǒng)。針對上面的問題,智能客戶端技術(shù)可以將兩者的優(yōu)點結(jié)合起來,既像WebGIS易于部署,又類似于C/S充分利用客戶端資源,有效降低網(wǎng)絡(luò)負(fù)載和服務(wù)器壓力,并支持離線工作模式。本文將探索Smart Client技術(shù)實現(xiàn)林權(quán)證管理系統(tǒng)中的離線應(yīng)用,以期促進(jìn)林權(quán)證管理的效率。
1 智能客戶端技術(shù)
智能客戶端是易于部署和管理的客戶端應(yīng)用程序,它們通過統(tǒng)籌使用本地資源和到分布式數(shù)據(jù)資源的智能連接,從而為您提供適應(yīng)的、快速響應(yīng)的、豐富的交互式體驗[4]。它可以無接觸部署、即需即裝、動態(tài)加載,XCopy即可運行而無須修改注冊表,可以動態(tài)升級、自動更新,可以方便的經(jīng)Web運行而不用擔(dān)心防火墻問題并可以方便的離線運用,方便的連接WebServices的Windows應(yīng)用程序。將智能客戶端技術(shù)應(yīng)用于林權(quán)信息管理中,其優(yōu)勢主要表現(xiàn)在以下幾個方面:
1)充分利用本地資源
智能客戶端應(yīng)用程序因功能級別的不同而呈現(xiàn)出多種形式和大小。所有智能客戶端應(yīng)用程序都具有的一個特性是具有利用本地資源的能力。例如,用于存儲、處理或數(shù)據(jù)捕獲的硬件(如閃存、CPU和掃描儀)。智能客戶端解決方案通過充分利用Microsoft Windows平臺提供的所有功能,為最終用戶提供高保真體驗。例如,Word、Excel、MS Money、甚至PC游戲都是廣為人知的智能客戶端應(yīng)用程序。
2)智能部署、動態(tài)加載和自動更新升級
安裝時只要將一個主程序文件下載到本地,直接運行即可,無須改變注冊表或共享的系統(tǒng)組件,應(yīng)用程序的各個構(gòu)件之間的相互調(diào)用并不采用直接引用的方式,而是采用動態(tài)加載,即需即裝的方式,有效地降低了對系統(tǒng)資源的消耗。在軟件的更新升級時,只需將新版本的程序發(fā)布在服務(wù)器上,由客戶端自動發(fā)現(xiàn)最新版本的程序和應(yīng)用組件,并自動下載和更新。
3)具備離線能力
無論是否連接到Internet,智能客戶端應(yīng)用程序都可以正常工作。Microsoft Outlook是個很好的示例。在沒有網(wǎng)絡(luò)連接或網(wǎng)絡(luò)連接斷續(xù)時,智能客戶端能夠利用本地緩存和處理進(jìn)行操作。
智能客戶端應(yīng)用程序盡管使用網(wǎng)絡(luò)加載程序集,但一旦加載之后,程序集便被緩存到了本地。當(dāng)用戶至少啟動了一次應(yīng)用程序后,其裝配就被下載和緩存到本地內(nèi)存中了,所以用戶就可以離線運行你的智能客戶端了(通過轉(zhuǎn)換瀏覽器到離線工作狀態(tài)),假設(shè)應(yīng)用程序不需要永久訪問Web services或一個共享的數(shù)據(jù)庫就可以運行。
4)通信安全
在企業(yè)或Internet范圍內(nèi),智能客戶端應(yīng)用程序能夠輕松地與系統(tǒng)連接并與之進(jìn)行數(shù)據(jù)交換。Web服務(wù)使智能客戶端解決方案能夠利用行業(yè)標(biāo)準(zhǔn)協(xié)議(如XML、Http和SOAP)來與任何類型的遠(yuǎn)程系統(tǒng)交換信息。較之以前的任何技術(shù),Visual Studio .NET Framework和.NET Compact Framework讓W(xué)eb服務(wù)的使用更為容易。
2 Smart Client技術(shù)實現(xiàn)林權(quán)證辦理離線應(yīng)用
2.1 問題分析
在辦理林權(quán)證的過程中,首先根據(jù)林權(quán)人的申請向系統(tǒng)錄入林權(quán)登記申請表并存入數(shù)據(jù)庫中,然后調(diào)入林權(quán)申請人的宗地圖開始制作林權(quán)證并打印發(fā)放,最后將林權(quán)證發(fā)放信息存入數(shù)據(jù)庫備檔案管理。在這一過程中,與數(shù)據(jù)庫服務(wù)器要多次進(jìn)行交互。一旦網(wǎng)絡(luò)不通不暢,則林權(quán)證業(yè)務(wù)辦理受阻甚至無法進(jìn)行工作,這將嚴(yán)重影響工作效率。因此保證離線狀態(tài)下林權(quán)證業(yè)務(wù)的正常辦理具有重要意義。
2.2 離線應(yīng)用實現(xiàn)技術(shù)
當(dāng)前解決離線應(yīng)用主要有兩種技術(shù)方法:以數(shù)據(jù)為中心和面向服務(wù)的方法。
與服務(wù)器上的數(shù)據(jù)相結(jié)合的應(yīng)用程序使用以數(shù)據(jù)為中心的方法。以數(shù)據(jù)為中心的方法是在本地安裝數(shù)據(jù)庫管理系統(tǒng),并使用內(nèi)置功能將本地數(shù)據(jù)更改傳回服務(wù)器,處理同步過程,并檢測和解決可能存在的數(shù)據(jù)沖突。
面向服務(wù)的方法是將數(shù)據(jù)信息存儲在消息中,當(dāng)客戶端出于離線狀態(tài)時,將這些消息排列在隊列中,當(dāng)重新連接變?yōu)樵诰€狀態(tài)時,隊列中的消息將依次傳向服務(wù)器進(jìn)行處理。
智能客戶端是面向服務(wù)解決方案的組成部分,它可以通過服務(wù)請求與網(wǎng)絡(luò)上的服務(wù)進(jìn)行交互。這些服務(wù)可能作為Web服務(wù)來實現(xiàn),或者通過某種機制來實現(xiàn)。要在離線狀態(tài)下支持Smart Client需要使用一個允許存儲服務(wù)請求詳細(xì)信息的基礎(chǔ)結(jié)構(gòu),這樣當(dāng)客戶端重新連接到網(wǎng)絡(luò)時就可以執(zhí)行這些服務(wù)請求。這樣的基礎(chǔ)結(jié)構(gòu)主要由下列四個元素組成:
1)服務(wù)代理:服務(wù)代理提供服務(wù)的主要訪問點,管理客戶端與服務(wù)的所有交互,并封裝所有不要的邏輯以允許客戶端創(chuàng)建服務(wù)請求。
2)服務(wù)請求:服務(wù)請求的所有詳細(xì)信息都封裝在一個服務(wù)請求對象中。然后,服務(wù)請求保留在服務(wù)請求隊列中,知道執(zhí)行程序組件可以對它們進(jìn)行處理。
3)服務(wù)請求隊列:該隊列尾服務(wù)請求對象提供持久的存儲區(qū)。
4)執(zhí)行程序:當(dāng)客戶端重新連接到網(wǎng)絡(luò)時,執(zhí)行程序負(fù)責(zé)從隊列中提取服務(wù)請求并執(zhí)行他們。在服務(wù)請求完成后,執(zhí)行程序會通知服務(wù)代理,以便它可以通知客戶端。
2.3 OAB實現(xiàn)林權(quán)辦證離線應(yīng)用
Offine Application Block(OAB)通過采用面向服務(wù)的方法,根據(jù).NET框架的功能并封裝智能客戶端應(yīng)用程序來構(gòu)建,以幫助用戶在離線狀態(tài)下執(zhí)行任務(wù),就像在線狀態(tài)下執(zhí)行任務(wù)一樣簡單有效。OAB主要提供以下服務(wù):通過判斷網(wǎng)絡(luò)支配其屋里連接狀態(tài)檢測網(wǎng)絡(luò)是否連通,并自動在離線和在線兩種模式下切換;緩存不易改變的數(shù)據(jù);在機器重新連網(wǎng)時執(zhí)行存儲在機器上的請求。以上3個特征使得OAB具備基本的支持離線應(yīng)用程序開發(fā)的功能。
OAB主要由四個子系統(tǒng)組成,如圖1所示:連接狀態(tài)管理、服務(wù)代理管理、參考數(shù)據(jù)管理、消息數(shù)據(jù)管理。
1)連接狀態(tài)管理。此部分消息注冊機制可以使程序凋用者得到當(dāng)前的網(wǎng)絡(luò)狀態(tài)是處于聯(lián)機狀態(tài)還是脫機狀態(tài)。一旦網(wǎng)絡(luò)狀態(tài)發(fā)生改變的時候,可以及時得到響應(yīng),并依此來調(diào)整相應(yīng)的業(yè)務(wù)邏輯。該模塊實現(xiàn)了對當(dāng)前網(wǎng)絡(luò)狀態(tài)的判斷。
2)服務(wù)代理管理。此模塊管理兩類數(shù)據(jù):即消息數(shù)據(jù)和參考數(shù)據(jù)。它負(fù)責(zé)離線狀態(tài)時緩存數(shù)據(jù),在線狀態(tài)時將消息數(shù)據(jù)返回服務(wù)器,并且解決數(shù)據(jù)環(huán)境同步等問題。
3)參考數(shù)據(jù)管理。它與服務(wù)代理管理和消息數(shù)據(jù)管理配合工作,以下載存儲在本地計算機上的參考數(shù)據(jù)。在大多數(shù)情況下,參考數(shù)據(jù)是用于完成工作流的只讀數(shù)據(jù)。參考數(shù)據(jù)管理可使參考數(shù)據(jù)與服務(wù)器上的數(shù)據(jù)保持一致。它將消息存儲在隊列中以下載參考數(shù)據(jù)。然后,執(zhí)行程序?qū)⑹褂孟⒎?wù)請求與服務(wù)連接,以下載參考數(shù)據(jù)。
4)消息數(shù)據(jù)。它是在工作流過程中創(chuàng)建的數(shù)據(jù)。當(dāng)應(yīng)用程序處于脫機狀態(tài)時,該數(shù)據(jù)將存儲在一個本地隊列中。當(dāng)應(yīng)用程序聯(lián)機后,執(zhí)行程序會從隊列中刪除消息,發(fā)出與服務(wù)器同步數(shù)據(jù)的服務(wù)請求,然后數(shù)據(jù)就會與服務(wù)器進(jìn)行同步。
利用OAB實現(xiàn)林權(quán)辦證離線工作模式,重點解決以下兩個方面的問題:
1)離線/在線工作模式切換:OAB通過調(diào)用OfflineBlockBuilder.Instance屬性從OfflineBlockBulider類創(chuàng)建一個塊生成器實例,并創(chuàng)建一個連接管理器ConnectionManager;使用ConnectionManager 注冊離線/在線更改狀態(tài)事件,系統(tǒng)便可以根據(jù)連接狀態(tài)的改變設(shè)置系統(tǒng)的運行狀態(tài);通過調(diào)用OfflineBlockBulider對象的Start方法啟動“連接管理器”來輪詢連接狀態(tài)并在連接狀態(tài)發(fā)生更改時將事件發(fā)生到“服務(wù)代理”;通過ConnectionManager的GoOffline方法和GoOnline方法實現(xiàn)系統(tǒng)在離線和在線模式下運行。
2)數(shù)據(jù)緩存:為滿足離線模式下運行的需要必須將常用的固定的服務(wù)器端數(shù)據(jù)緩存到本地。如林權(quán)證辦理過程中,全縣范圍內(nèi)的宗地數(shù)據(jù)是有必要緩存到縣級客戶端的。當(dāng)處于在線狀態(tài)時,先將宗地數(shù)據(jù)緩存到本地,供制作林權(quán)證調(diào)用。當(dāng)系統(tǒng)處于離線狀態(tài)時,調(diào)用緩存中的宗地數(shù)據(jù)制作林權(quán)證,同時將林權(quán)登記申請需提交的數(shù)據(jù)先保存到本地緩存中,保證林權(quán)辦證的正常進(jìn)行。當(dāng)系統(tǒng)由離線變?yōu)樵诰€時,應(yīng)用程序再把本地緩存需要提交的數(shù)據(jù)通過調(diào)用Web Services同步到服務(wù)器。
3 結(jié)束語
Smart Client應(yīng)用模式將C/S模式的功能和靈活性與B/S模式的易部署性和穩(wěn)定性結(jié)合了起來,可以方便地調(diào)用Web Services,實現(xiàn)離線運用,滿足林權(quán)辦證在實際工作中對離線狀下工作的需要,從項目角度而言,應(yīng)用系統(tǒng)技術(shù)風(fēng)險得到降低,開發(fā)周期也得到縮短。
參考文獻(xiàn):
[1] 張光輝.基于GIS的江西省林權(quán)證管理信息系統(tǒng)[J].江西林業(yè)科技,2005(6):30-32.
[2] 鄭德祥,鄭淑娟,張春霞,等.基于WebGIS的林權(quán)管理信息系統(tǒng)設(shè)計[J].福建林學(xué)院學(xué)報,2006(1):18-21.
[3] 劉永川,林宇洪.基于WebGIS的林權(quán)信息管理系統(tǒng)開發(fā)[J].森林工程,2008,24(2):69-72.
[4] 周靜,武波.基于Smart Client的軍隊網(wǎng)上考評系統(tǒng)的改進(jìn)[J].計算機技術(shù)與發(fā)展,2008,18(2):234-236.
[5] 鄧吉,張奎亭,羅詩堯.網(wǎng)絡(luò)安全攻防實戰(zhàn)[M].北京:電子工業(yè)出版社,2008:119-123.