肖利華
(西部戰(zhàn)區(qū)陸軍保障信息中心,甘肅蘭州 730000)
智能客戶端屬于一種新型技術(shù),由微軟推出被廣泛應(yīng)用在分布式應(yīng)用程序的構(gòu)建當(dāng)中。既具有胖客戶端的優(yōu)點,又具有瘦客戶端的優(yōu)點,能夠提供各種各樣的用戶界面,對客戶端的部署難題、升級難題等進行解決,同時也可以對脫機工作能力、資源利用方法等進行提供,所以從這些層面來看,分析智能客戶端技術(shù)在軍用裝備管理中的應(yīng)用,具有重要的現(xiàn)實意義。
智能客戶端具有極強的可擴展性,可以對各種應(yīng)用程序進行集成;可以實現(xiàn)無接觸部署;可以進行自動更新與升級;可以對Web進行充分利用,避免了防火墻等問題的發(fā)生;可以便于離線運用,同時也方便對Web Servirces進行連接。智能客戶端技術(shù)主要是建立在類庫技術(shù)基礎(chǔ)之上的,可以按照實際需求進行裁剪。智能客戶端的特征主要包括:①能夠?qū)蛻舳速Y源進行充分利用;②既支持用戶在線工作,又支持用戶離線工作;③可以實現(xiàn)智能安裝與智能更新,同時也可以在客戶端對數(shù)據(jù)進行緩存。
(1)OAB(Offline Application Block,離線應(yīng)用程序塊)模塊??梢詫W(wǎng)絡(luò)狀況進行判斷,可進行離線工作。在過去的B/S(Browser/Server,瀏覽器/服務(wù)器)模式中,應(yīng)用程序無法在脫機狀態(tài)下進行工作,但對于智能客戶端而言,OAB模塊使得應(yīng)用程序可以進行離線工作,提升了整個系統(tǒng)的應(yīng)用性能。
(2)DAB(Data Application Block,數(shù)據(jù)應(yīng)用程序塊)模塊。其重要功能就是增強了數(shù)據(jù)庫與應(yīng)用程序的交互能力,可以減少數(shù)據(jù)庫在創(chuàng)建、測試以及維護等過程中的代碼,能夠增強代碼的統(tǒng)一性,進而提升應(yīng)用開發(fā)速度。
(3)UAB(Updater Application Block,更新應(yīng)用程序塊)模塊。可以解決一些程序升級與部署問題。對于傳統(tǒng)客戶端而言,很難實現(xiàn)程序的部署與升級,特別是在客戶端較多的情況下,需要一個一個進行處理,不僅費時費力,還極易出錯。而對于UAB模塊而言,可以對這個問題進行有效解決,在客戶端啟動時,程序可以檢查各個文件的版本,如果客戶端版本比服務(wù)端版本低,就會提示使用人員是否更新程序,在確定需要更新之后,會自動對程序進行更新升級。
(4)CAB(Caching Application Block,緩存應(yīng)用程序塊)模塊。對于分布式應(yīng)用程序來說,在對服務(wù)端的數(shù)據(jù)進行訪問過程中,需要跨越網(wǎng)絡(luò),這樣就會引發(fā)很多網(wǎng)絡(luò)流量,增加了服務(wù)器的壓力。而對于CAB模塊來說,可以在客戶端對數(shù)據(jù)進行緩存,避免了應(yīng)用程序?qū)W(wǎng)絡(luò)的頻繁訪問,進而降低網(wǎng)絡(luò)流量與服務(wù)器的壓力。
(5)LAB(Logging Application Block,日志應(yīng)用程序塊)模塊。主要是對系統(tǒng)運行情況進行記錄,如用戶操作以及發(fā)生異常等。
(6)SAB(Security Application Block,安全應(yīng)用程序塊)模塊。智能客戶端在應(yīng)用過程中需要進行異地協(xié)同交互,因此就會引發(fā)一些數(shù)據(jù)在傳輸過程中的安全問題。在SAB模塊當(dāng)中,有很多安全問題解決方案,如文件加密、用戶授權(quán)以及合法驗證等。
(7)EMAB (Exception Management Application Block,異常管理應(yīng)用程序塊)模塊。主要是對系統(tǒng)的一些異常情況進行處理。
C/S(Client/Server,客戶機/服務(wù)器)軟件應(yīng)用模式出現(xiàn)的時間比較早,在該模式下,可以利用網(wǎng)絡(luò)將服務(wù)器端和客戶端進行連接,提升了軟件的執(zhí)行效率以及用戶工作的質(zhì)量等,其特點包括:
(1)在C/S模式下,應(yīng)用軟件在安裝、維護以及部署等方面比較復(fù)雜,并且對客戶端在操作平臺上以及附加軟件等方面的應(yīng)用有一定的要求與限制。
(2)在C/S模式下,應(yīng)用軟件可以對客戶端資源進行充分利用,能夠為用戶提供大量界面元素,能夠?qū)Ρ緳C磁盤以及應(yīng)用程序接口等進行存取,并且執(zhí)行速度也比較快。
(3)在C/S模式下,應(yīng)用軟件具有很小的網(wǎng)絡(luò)傳輸量,只需要在服務(wù)器與客戶端之間對數(shù)據(jù)進行傳輸。
(4)在C/S模式下,應(yīng)用軟件的多數(shù)組件都是在DLL(Dynamic Link Library,動態(tài)鏈接庫)以及COM(Component Object Model,組件對象模型)等技術(shù)的基礎(chǔ)上建立起來的,對注冊表比較依賴,如果系統(tǒng)中存在和該組件不相適應(yīng)的版本時,就會引發(fā)DLL沖突。對于局域網(wǎng)范圍中的一些應(yīng)用系統(tǒng)來說,比較適合使用C/S模式。
B/S軟件應(yīng)用模式出現(xiàn)的時間比較晚,在這種模式之下,不需要對客戶端進行安裝與部署,所以對客戶端的操作流程進行了簡化?,F(xiàn)階段,該模式應(yīng)用的比較廣泛,其特點包括:
(1)在B/S模式下,應(yīng)用軟件只有在網(wǎng)絡(luò)連通的狀態(tài)下才可以進行工作,并且不能對客戶端資源進行利用。只能利用HTML語言對用戶界面進行呈現(xiàn),界面比較單一,不能夠?qū)σ恍?fù)雜操作需求進行滿足。
(2)在B/S模式下,應(yīng)用軟件具有較大的網(wǎng)絡(luò)傳輸量。因為客戶端不能夠?qū)顟B(tài)數(shù)據(jù)進行保存,所以需要在服務(wù)器與客戶端之間對界面內(nèi)容、所需數(shù)據(jù)等進行傳輸。
(3)在B/S模式下,應(yīng)用軟件的安全性比較低。服務(wù)器可以利用防火墻對數(shù)據(jù)進行過濾,由于各種傳輸內(nèi)容都是建立在HTTP端口之上的,很難實現(xiàn)數(shù)據(jù)的加密與簽名,進而無法確保數(shù)據(jù)的完整性。
(4)在B/S模式下,比較容易對應(yīng)用軟件進行安裝、部署以及維護,可以支持大量桌面型計算機。由于大部分計算機已經(jīng)安裝了瀏覽器軟件,所以只需要進行服務(wù)器端的部署與更新工作。
在Web應(yīng)用程序不斷發(fā)展的時代背景下,很多分布式應(yīng)用都比較喜歡B/S模式。對于裝備管理系統(tǒng)而言,客戶端的功能比較復(fù)雜,并且具有極強的交互性,但是B/S模式的功能比較簡單,又缺少一定的交互性,比較注重瀏覽,所以B/S模式不適合裝備管理系統(tǒng)。在經(jīng)過上述分析之后,本文研究的裝備管理系統(tǒng)所選擇的是智能客戶端技術(shù),既是基于C/S模式下的一種技術(shù),又具有一些B/S優(yōu)點。
(1)智能客戶端的應(yīng)用程序可以進行動態(tài)加載。在應(yīng)用程序當(dāng)中,各個構(gòu)件可以進行相互調(diào)用,沒有進行直接引用,而是通過動態(tài)加載,有效減少了系統(tǒng)資源的損耗,有利于應(yīng)用程序的升級與更新。
(2)智能客戶端的應(yīng)用程序可以實現(xiàn)模塊化。因為程序具有松散耦合特點,增加了系統(tǒng)模塊化的可能,在添加新功能或者是新特性時,可以對和接口相匹配的新模塊進行開發(fā),再添加連接即可,不需要對現(xiàn)有程序進行修改或者是重新編譯。
(3)在智能客戶端當(dāng)中,應(yīng)用程序可以進行零接觸部署以及自動升級。在安裝過程中,只需要為本地下載一個主程序文件,之后就可以進行直接運行,不需要對系統(tǒng)組件或者是注冊表等進行改變。在升級過程中,可以在服務(wù)器上對新版本程序進行發(fā)布,客戶端可以對新版本程序以及應(yīng)用軟件等進行自動發(fā)現(xiàn),并對其進行下載升級。
(4)在智能客戶端當(dāng)中,應(yīng)用程序既支持在線工作,又支持離線工作。應(yīng)用程序雖然通過網(wǎng)絡(luò)對程序集進行加載,但是程序集在加載之后,就會被緩存在本地當(dāng)中。如果用戶對應(yīng)用程序進行了啟動,那么其裝配就會被緩存或者是下載到本地當(dāng)中,因此用戶可以對智能客戶端進行離線運行。應(yīng)用智能客戶端的關(guān)鍵之處就在于可以進行離線使用。雖然業(yè)務(wù)之間具有緊密的聯(lián)系,但仍然無法確保分布式的應(yīng)用程序可以進行持續(xù)連接。對于離線工作方式而言,在網(wǎng)絡(luò)環(huán)境下,可以對數(shù)據(jù)以及應(yīng)用程序更新等進行自動接收,在過去,這一點是很難實現(xiàn)的。
軍用裝備管理系統(tǒng)是一種基于軍用廣域網(wǎng)下的分布式系統(tǒng),利用軍用廣域網(wǎng)可以將服務(wù)器端和客戶端進行連接。其中服務(wù)器端是由Web服務(wù)、服務(wù)器、數(shù)據(jù)庫以及局域網(wǎng)等構(gòu)成的,客戶端的應(yīng)用程序主要包括打印機、局域網(wǎng)以及數(shù)據(jù)緩存等。
(1)對于應(yīng)用程序?qū)觼碚f,屬于一種接口層面,可以實現(xiàn)用戶和系統(tǒng)的交互,在本地可以對Web服務(wù)進行構(gòu)建,進而可以對Web服務(wù)功能進行充分利用,通過客戶端資源以及智能客戶端技術(shù),讓客戶端進行自動升級,實現(xiàn)數(shù)據(jù)的緩存,進而增強應(yīng)用程序的性能。
(2)對于功能服務(wù)層而言,其運行場所是公共服務(wù)器,主要是通過Web服務(wù)構(gòu)建,并按照Web服務(wù)形式進行封裝發(fā)布,為用戶提供相應(yīng)的應(yīng)用服務(wù)。在框架模型當(dāng)中,功能服務(wù)層屬于核心部分,它的對外接口是由Web服務(wù)組成的,在內(nèi)部封裝了一些具體業(yè)務(wù)操作,主要為系統(tǒng)提供相應(yīng)的業(yè)務(wù)活動。
(3)對于數(shù)據(jù)庫層來說,主要是對各種數(shù)據(jù)進行存儲,功能服務(wù)層可以對這些數(shù)據(jù)進行訪問。在訪問內(nèi)容上,數(shù)據(jù)庫層可以對功能服務(wù)層進行限制,只有具備一定的權(quán)限才可以對數(shù)據(jù)庫進行訪問。
綜上所述,本文對C/S軟件應(yīng)用模式、B/S軟件應(yīng)用模式等進行了分析,并在此基礎(chǔ)上通過智能客戶端技術(shù)對軍用裝備管理系統(tǒng)進行了設(shè)計與開發(fā)。該系統(tǒng)是一種分布式系統(tǒng),主要依靠軍用廣域網(wǎng)進行運行,在該系統(tǒng)當(dāng)中,可以在本地客戶端對一些遠程數(shù)據(jù)進行訪問,用戶可以進行離線操作,等到連接網(wǎng)絡(luò)之后,系統(tǒng)會對本地數(shù)據(jù)進行自動更新,并將它們發(fā)送到服務(wù)器端,實現(xiàn)了系統(tǒng)的穩(wěn)定運行。