- 相關(guān)推薦
一種基于Java技術(shù)的網(wǎng)絡(luò)管理軟件的設(shè)計方案
論文關(guān)鍵詞:網(wǎng)絡(luò) 軟件體系結(jié)構(gòu) Java XML
論文摘要:提出了基于Java技術(shù)的網(wǎng)管系統(tǒng)體系結(jié)構(gòu)。這種結(jié)構(gòu)是典型的三層體系結(jié)構(gòu):客戶表示層、中間服務(wù)提供層以及數(shù)據(jù)永久存儲層,同時對每層中涉及到的相關(guān)技術(shù)進行了闡述,并給出了具體的實現(xiàn)方法。
。. 引言
隨著Web/Java技術(shù)的成熟及其在Internet上的廣泛應(yīng)用,網(wǎng)絡(luò)管理技術(shù)和模式迎來了又一次革命。在網(wǎng)絡(luò)管理領(lǐng)域,通過Web技術(shù)(如Web服務(wù)器,HTTP協(xié)議、HTML和Java等)來集成網(wǎng)絡(luò)管理系統(tǒng),就能夠獲得可運行于各種平臺的簡單有效的管理工具。特別是目前人們對網(wǎng)絡(luò)管理工具的要求已不僅僅局限于集中式管理模式,而要求網(wǎng)絡(luò)管理工具具有分布計算能力。近幾年來隨著Java、EJB[1]、XML[2]等技術(shù)的發(fā)展與成熟使人們對網(wǎng)絡(luò)管理的分布式要求已成為現(xiàn)實。
2. 基于Web的網(wǎng)絡(luò)管理模式
網(wǎng)絡(luò)管理系統(tǒng)從結(jié)構(gòu)上來說,由兩部分組成:管理應(yīng)用層和為之提供服務(wù)的下層結(jié)構(gòu)軟件。下層結(jié)構(gòu)軟件包括管理信息庫(MIB)、圖形化用戶接口(GNI)、網(wǎng)絡(luò)接口(NCI)。它們通過一組應(yīng)用編程接口(API)向應(yīng)用程序提供服務(wù)。
2.1基于Web的網(wǎng)絡(luò)管理模式的特點
基于Web的網(wǎng)絡(luò)管理[3]之所以受到廣泛關(guān)注,是由于具有如下特點:
(1)分布性。沒有位置的限制,適合于分布式網(wǎng)絡(luò)管理。
(2)跨平臺性。網(wǎng)管人員可以從任何平臺的任何一臺計算機上訪問網(wǎng)絡(luò),這就解決了由多平臺異構(gòu)而導(dǎo)致的互操作性問題。
(3)低。界面更加友好,管理方式更加簡單方便,降低了網(wǎng)管成本。
(4)效率高,安全性好。采取瘦客戶機/胖服務(wù)器模式,大量繁重的計算和存儲任務(wù)交給Web服務(wù)器完成,這樣提高了管理效率并使用戶能更靈活的操作網(wǎng)管系統(tǒng),同時借助WWW的安全機制可以有效的進行訪問控制、數(shù)據(jù)加密及服務(wù)器驗證。
2.2基于Web的網(wǎng)絡(luò)管理系統(tǒng)的實現(xiàn)方式
目前,隨著Web技術(shù)的流行和發(fā)展,在網(wǎng)絡(luò)管理中普遍采用基于Web的網(wǎng)管技術(shù)。常用的基于Web的網(wǎng)絡(luò)管理技術(shù)有兩種:一種是基于嵌入式的網(wǎng)絡(luò)管理,將網(wǎng)管工作站嵌入到網(wǎng)絡(luò)端設(shè)備中,每個設(shè)備都有自己的Web地址,網(wǎng)管人員可以通過瀏覽器訪問并管理設(shè)備,這種技術(shù)適合于小型網(wǎng)管系統(tǒng),而且不利于擴展;第二種是基于代理的網(wǎng)絡(luò)管理,由代理程序來管理設(shè)備,將管理程序加載到網(wǎng)管工作站中,通過SNMP協(xié)議與代理程序通信,瀏覽器通過HTTP協(xié)議或其它方式與網(wǎng)管工作站通信,這種技術(shù)使得瀏覽器與網(wǎng)管工作站可以采用B/S(Browser/Server,瀏覽器/服務(wù)器)結(jié)構(gòu)通信,軟件系統(tǒng)的部署、升級維護和數(shù)據(jù)備份只需在服務(wù)器端完成,客戶端無需做應(yīng)用程序的安裝和調(diào)試,極大地降低了系統(tǒng)總維護成本,加強了系統(tǒng)的穩(wěn)定性和可擴展性。由于T比特路由器是核心路由器,用于大規(guī)模網(wǎng)絡(luò),且對可擴展性有較高要求,所以應(yīng)采用基于代理的管理方法。其系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 T比特路由器網(wǎng)管系統(tǒng)Web管理模塊結(jié)構(gòu)圖
[1]
2.3基于Java的三層體系結(jié)構(gòu)
作為一種,Java是相當優(yōu)秀的。它具有面向?qū)ο、與操作平臺無關(guān)、可移植性、安全性和穩(wěn)定性高等特點。同時,作為一種面向網(wǎng)絡(luò)編程的語言,Java又具有簡潔、多線程執(zhí)行等特點。它與Internet緊密結(jié)合,克服了原來CGI編程中存在的效率低下,實時性不高、系統(tǒng)資源占用率高等特點。
在T比特路由器項目中,利用Java及相關(guān)技術(shù),通過需求以及對網(wǎng)絡(luò)模型的層層抽象,可以建立三層網(wǎng)絡(luò)管理體系結(jié)構(gòu)框架,具體說這三層分別是:客戶表示層、中間服務(wù)提供層以及后端的數(shù)據(jù)永久存儲層。其中客戶表示層是基于HTML的;中間服務(wù)提供層又可分為兩層,一是前端服務(wù)器,另一個是后端服務(wù)器。其中前端服務(wù)器主要負責客戶與后端服務(wù)器的交互,而后端服務(wù)器主要負責對被管設(shè)備的輪詢、狀態(tài)監(jiān)控、數(shù)據(jù)采集以及與數(shù)據(jù)庫的數(shù)據(jù)交換等功能。
這種三層體系結(jié)構(gòu)層次分明,集開放性、高效性、可擴展性以及網(wǎng)絡(luò)安全性于一體,并且有利于各功能模塊并行研制及分工協(xié)作。T比特路由器網(wǎng)管軟件體系結(jié)構(gòu)如圖2所示。
3. 體系結(jié)構(gòu)中功能實體
3.1被管實體
被管實體是整個被管理網(wǎng)絡(luò)中所有被管設(shè)備的集合,包括T比特路由器中的主控板、轉(zhuǎn)發(fā)板等,其中每個被管設(shè)備均是一個SNMP節(jié)點,均符合SNMP協(xié)議,每個設(shè)備中都運行著SNMP代理,這一代理主要實現(xiàn)對該設(shè)備MIB信息的維護。它可以通過SNMP、RMI、CORBA等協(xié)議與位于中間服務(wù)器層中的后端服務(wù)器進行,SNMP代理還可以主動的向后端服務(wù)器發(fā)送trap報文,同時后端服務(wù)器向它進行主動輪詢。
3.2數(shù)據(jù)存儲層
數(shù)據(jù)存儲層是通過關(guān)系數(shù)據(jù)庫對網(wǎng)管信息進行存儲的介質(zhì)。它主要負責對永久數(shù)據(jù)的存儲,這些數(shù)據(jù)包括設(shè)備的基本數(shù)據(jù)、性能數(shù)據(jù)、策略數(shù)據(jù)等。這些數(shù)據(jù)是由位于中間層的后端服務(wù)器經(jīng)過與被管設(shè)備通信得到并存儲到數(shù)據(jù)庫中的。這些數(shù)據(jù)可能來自于后端服務(wù)器對被管設(shè)備的主動輪詢,還可能來自被管設(shè)備向后端服務(wù)器發(fā)出的trap。客戶表示層可以根據(jù)需要,通過前端服務(wù)器——后端服務(wù)器——數(shù)據(jù)庫來實現(xiàn)對永久數(shù)據(jù)存儲的寫操作。而對于客戶端僅僅是需要查詢所關(guān)心的數(shù)據(jù)時,它可以直接通過前端服務(wù)器來對數(shù)據(jù)庫進行查詢操作。數(shù)據(jù)存儲層與后端服務(wù)器間是通過標準的JDBC進行通信,使數(shù)據(jù)存儲層不依賴于具體的RDBMS,這樣就保證了數(shù)據(jù)存儲層的可擴充性以及與存儲介質(zhì)的無關(guān)性。存儲層中存儲著整個網(wǎng)絡(luò)管理中的所有信息,通過對這些信息的各種操縱實現(xiàn)網(wǎng)絡(luò)管理功能。
3.3中間服務(wù)提供層
中間服務(wù)器層包括兩個服務(wù)器,一個是前端服務(wù)器,另一個是后端服務(wù)器。更確切地說,每一個服務(wù)器都是一些功能服務(wù)器的集合。這些服務(wù)器是整個T比特路由器體系結(jié)構(gòu)的核心部分,它們負責數(shù)據(jù)的采集、數(shù)據(jù)的維護以及用戶的授權(quán)、認證等安全方面的任務(wù)。下面對這些服務(wù)器進行詳細地介紹。
3.3.1后端服務(wù)器
后端服務(wù)器執(zhí)行服務(wù)器端的核心網(wǎng)絡(luò)管理任務(wù),主要任務(wù)是完成故障管理、性能管理、安全管理、配置管理等。通過這些功能來對被管設(shè)備的信息進行維護,接收并實現(xiàn)trap處理、事件處理、告警處理、數(shù)據(jù)采集、狀態(tài)輪詢等。這一層是整個T比特路由器網(wǎng)絡(luò)管理中的核心層,只有通過這一層才能采集并存儲網(wǎng)絡(luò)管理信息到數(shù)據(jù)庫中。后端服務(wù)器負責維護與更新存儲在數(shù)據(jù)庫中的基于網(wǎng)絡(luò)事件、狀態(tài)輪詢、管理員操作等的信息模型。
后端服務(wù)器可以通過配置文件實現(xiàn)定制,并能夠?qū)崿F(xiàn)擴充。當前端與后端服務(wù)器運行在同一個JVM(Java Virtual Machine)上時,后端服務(wù)器可以通過Java API的Socket來實現(xiàn);當前端與后端服務(wù)器運行在分布式中,后端服務(wù)可以通過RMI來實現(xiàn)。后端服務(wù)器支持SNMP、CORBA等各種協(xié)議。
圖2 T比特路由器網(wǎng)管軟件體系結(jié)構(gòu)圖
[2]
3.3.2后端服務(wù)器實現(xiàn)的一些考慮
(1)事件模塊;
(2)故障管理模塊;
(3)設(shè)備狀態(tài)輪詢模塊;
(4)配置模塊;
(5)安全管理模塊。
3.4前端服務(wù)器及相關(guān)技術(shù)
3.4.1前端服務(wù)器
前端服務(wù)器支持HTML客戶,其中所有的處理操作均在服務(wù)器端進行,而客戶端瀏覽器僅將處理結(jié)果以報表、圖形、曲線等的形式來表示。前端服務(wù)器處理來自客戶端的請求,它形成了客戶端與服務(wù)器端的鏈接,后端服務(wù)器執(zhí)行核心任務(wù),并將數(shù)據(jù)存儲到RDBMS中。這一處理操作主要是對后端數(shù)據(jù)庫進行直接的查詢操作,從圖2可以看出無論是前端服務(wù)器還是后端服務(wù)器均與數(shù)據(jù)庫相連,其中后端服務(wù)器可以對數(shù)據(jù)庫進行存取操作,而前端服務(wù)器只能對數(shù)據(jù)庫進行讀操作。這兩個服務(wù)器與數(shù)據(jù)庫均采用標準的JDBC接口。如果客戶端請求對數(shù)據(jù)庫中的數(shù)據(jù)進行寫操作,那么它只能通過后端服務(wù)器來進行。
前端服務(wù)器起到了雙重的作用,對后端服務(wù)器來說,它以客戶的身份出現(xiàn);對客戶端來說,它又起到服務(wù)器的作用。前端服務(wù)器起到了承前啟后的作用,它的主要功能是來處理客戶的請求,為客戶準備他們所關(guān)心的路由器狀態(tài)信息。
3.4.2前端服務(wù)器與后端服務(wù)器的通信問題
前端服務(wù)器與后端服務(wù)器通信方式主要是依據(jù)這兩個服務(wù)器集合運行的分布程度來決定的。如果前端服務(wù)器與后端服務(wù)器運行于同一個JVM上,那么兩者可以通過基于TCP的SOCKET協(xié)議進行通信,如果兩者是處于分布式運行中,則可以通過RMI協(xié)議進行通信。
3.4.3前端服務(wù)器實現(xiàn)的一些考慮
由于客戶端基于Web,所以前端服務(wù)器要維護一個Web服務(wù)器。這一Web服務(wù)器與Servlets綁定在一起,它維護著Servlets與JSP。Servlets通過RMI調(diào)用后端服務(wù)器所支持的API。在具體的實現(xiàn)中應(yīng)考慮下面的模塊:
(1) 事件服務(wù)器模塊;
(2) 告警服務(wù)器模塊;
(3) 狀態(tài)輪詢服務(wù)器模塊等。
4. 網(wǎng)絡(luò)管理軟件的實現(xiàn)
4.1前端與后端服務(wù)器數(shù)據(jù)的交換
位于中間層的前端與后端服務(wù)器可以通過XML來實現(xiàn)數(shù)據(jù)交換。XML是一種標準的數(shù)據(jù)交換,通過利用XML使系統(tǒng)間的數(shù)據(jù)訪問變得更加容易。具體實現(xiàn)可以通過前、后端服務(wù)器中的XML解析器來對XML的語法及語義進行具體的分析與提取。通過靈活的配置文件實現(xiàn)了應(yīng)用的可擴充能力。
4.2客戶表示層
通過Web客戶端可以查看T比特路由器故障告警信息、路由器性能、各種圖及進行路由器的配置等。通過瀏覽器,用戶可以直接對數(shù)據(jù)庫中不需要的信息進行刪除。
客戶表示層通過基于瀏覽器的方式來訪問中間服務(wù)層,這種訪問包括兩種方式:一種為基于Web的Java客戶端,另一種是基于Web的HTML客戶端。基于Web的Java客戶端與前端服務(wù)器采用RMI、CORBA、SOCKET或HTTP協(xié)議進行通信;基于Web的HTML客戶端采用HTTP協(xié)議實現(xiàn)與前端服務(wù)器的通信。這兩種基于Web方式的客戶端是是目前在網(wǎng)絡(luò)管理中比較流行的方式。
4.3實現(xiàn)中涉及到的Java、Java相關(guān)技術(shù)以及XML技術(shù)
Java、Java組件技術(shù)以及XML技術(shù)為開發(fā)T比特路由器網(wǎng)管系統(tǒng)提供了相當豐富的工具支持。
[3]
4.3.1XML技術(shù)
在現(xiàn)代網(wǎng)絡(luò)中,利用XML技術(shù)有利于實現(xiàn)管理信息交換與存儲的標準化。例如在網(wǎng)管系統(tǒng)中不同權(quán)限的用戶所關(guān)聯(lián)的菜單功能是不同的,有些用戶只能對系統(tǒng)進行查詢,而有些用戶除了查詢功能外,還有修改功能。這樣對不同的用戶可以通過XML作為配置文件來進行相應(yīng)的功能定制,以滿足不同用戶對系統(tǒng)權(quán)限的需求與管理。利用XML作為配置文件,有效地增加了系統(tǒng)的靈活性與擴充性。
4.3.2EJB技術(shù)
EJB技術(shù)提供了分布式組件模型,這一技術(shù)可以使開發(fā)人員將精力集中在解決自己業(yè)務(wù)方面的問題上,而依靠J2EE平臺來解決系統(tǒng)級的復(fù)雜問題。這種側(cè)重點分離的開發(fā)方式有利于快速地開發(fā)出具有可擴充的、易于理解的以及高可靠性的應(yīng)用軟件。前端服務(wù)器通過利用EJB技術(shù),可以實現(xiàn)許多的高級功能,如可擴充性、事物支持、數(shù)據(jù)庫集成及負載均衡等。
4.3.3Java Applet技術(shù)
Java Applet是Java的小應(yīng)用程序,以Class的形式嵌入到HTML,通過主頁發(fā)布到Internet,網(wǎng)絡(luò)用戶訪問服務(wù)器的Applet時,Applet就下載到本地,然后在瀏覽器中由本地Java虛擬機解釋執(zhí)行。Applet客戶端是實現(xiàn)網(wǎng)絡(luò)實時管理的有效工具;趕wing的Applet客戶端彌補了純HTML客戶端與用戶互動性差的弱點。
5. 結(jié)束語
通過對T比特路由器網(wǎng)管系統(tǒng)的開發(fā),可以抽象并提出現(xiàn)代網(wǎng)絡(luò)管理系統(tǒng)的多層軟件體系結(jié)構(gòu)模型。整個模型的體系結(jié)構(gòu)層次分明,各層完成各自的任務(wù)。其中位于中間層的后端服務(wù)器完成網(wǎng)絡(luò)管理的五大功能的核心部分,如故障告警、性能管理等。位于中間層的前端服務(wù)器起到連接客戶表示層與后端服務(wù)器的功能,處理客戶端的請求。當客戶請求對數(shù)據(jù)庫進行寫操作時,直接將這種請求交給后端服務(wù)器來處理,通過后端服務(wù)器安全認證后,才可以進行相應(yīng)的操作;當客戶請求對數(shù)據(jù)庫進行讀操作時,前端服務(wù)器可以直接與數(shù)據(jù)庫,這樣就保證了數(shù)據(jù)的安全性。通過利用XML技術(shù)、Java及Java相關(guān)技術(shù)使開發(fā)的系統(tǒng)具有較強的可擴充性、安全性以及跨平臺性。這種基于Web的網(wǎng)絡(luò)管理方式正是符合現(xiàn)代網(wǎng)絡(luò)管理的特點與要求,希望這種網(wǎng)管軟件體系結(jié)構(gòu)對其它類似軟件具有借鑒與參考價值。
參考文獻
[1] Ed Roman, 精通EJB(第二版),出版社,2002
[2]陳會安,XML網(wǎng)頁制作徹底研究,中國鐵道出版社,2003
[3]呂夢雅,基于Java技術(shù)的網(wǎng)絡(luò)管理應(yīng)用,河北省科學(xué)院學(xué)報第19卷第3期,2002
[4]
【一種基于Java技術(shù)的網(wǎng)絡(luò)管理軟件的設(shè)計方案】相關(guān)文章:
基于IPTV的承載網(wǎng)絡(luò)技術(shù)03-18
基于Web技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)03-18
基于策略的網(wǎng)絡(luò)管理技術(shù)論文12-04
Java語言與Java 技術(shù)03-20
基于光纖直放站的網(wǎng)絡(luò)覆蓋技術(shù)03-19
基于數(shù)據(jù)挖掘的網(wǎng)絡(luò)入侵檢測技術(shù)11-23
基于融合網(wǎng)絡(luò)的一種新業(yè)務(wù)設(shè)計03-07