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