呂太之
(江蘇海事職業(yè)技術(shù)學(xué)院信息工程系,江蘇 南京 211170)
基于web2.0的網(wǎng)絡(luò)管理平臺是企業(yè)網(wǎng)絡(luò)管理集成平臺,實現(xiàn)對企業(yè)網(wǎng)絡(luò)的管理。系統(tǒng)采用基于JAVA EE四層體系架構(gòu),即用戶層、Web表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)信息層。采用了中間件、組件技術(shù),在開發(fā)中利用面向?qū)ο蟪绦蜷_發(fā)的建模技術(shù),程序的編寫使用 EJB、Servlet、JSP、AJAX、Web Service技術(shù),增強了系統(tǒng)與用戶的交互性。在數(shù)據(jù)庫設(shè)計上,采用了MYSQL數(shù)據(jù)管理理念,保證了數(shù)據(jù)管理的經(jīng)濟性。
系統(tǒng)是一個N層體系結(jié)構(gòu),包括瀏覽器層、Web服務(wù)器層、數(shù)據(jù)庫層、數(shù)據(jù)采集層、被管設(shè)備層。服務(wù)器負(fù)責(zé)系統(tǒng)的業(yè)務(wù)處理,包括配置管理、安全管理、故障管理、計費管理和性能管理。該層采用當(dāng)前主流的J2EE框架,使用Tomcat作為Web服務(wù)器。數(shù)據(jù)庫層采用了MySQL作為后臺數(shù)據(jù)庫,部署在Linux服務(wù)器上面,降低了使用成本。數(shù)據(jù)采集系統(tǒng)負(fù)責(zé)從被管理設(shè)備中獲得管理所需的原始數(shù)據(jù)。
MVC(Model-View-Controller,模型—視圖—控制器模式)是軟件工程中的一種軟件架構(gòu)模式。它把軟件系統(tǒng)分為三個基本部分:模型(Model,視圖(View)和控制器(Controller)。本系統(tǒng)采用MVC模式實現(xiàn),下面將按照MVC模式分層介紹Web服務(wù)器的設(shè)計與實現(xiàn)。
3.1.1 模型層
本系統(tǒng)業(yè)務(wù)模型的實現(xiàn)主要由Spring和Hibernate集成的持久層來完成。本系統(tǒng)采用Hibernate中實體類和數(shù)據(jù)庫表映射的關(guān)系通過Hibernate Annotation(注解)的方式來實現(xiàn)。數(shù)據(jù)庫的操作通過spring+hibernate的集成來實現(xiàn)。系統(tǒng)中,所有數(shù)據(jù)庫的操作都封裝到相應(yīng)的dao類中,dao通過繼承HibernateDaoSupport來簡化操作,只需要幾條簡單的幾條語句就能完成數(shù)據(jù)庫的增加、刪除、修改、查找等操作。
3.1.2 控制層
控制(Controller)可以理解為從用戶接收請求,將模型與視圖匹配在一起,共同完成用戶的請求。本系統(tǒng)采用struts2框架,控制層由核心控制器FilterDispatcher和用戶編寫的業(yè)務(wù)控制器組成。核心控制器FilterDispatcher是Struts2框架的基礎(chǔ),包含了框架內(nèi)部的控制流程和處理機制。業(yè)務(wù)控制器Action和業(yè)務(wù)邏輯組件是需要用戶自己實現(xiàn)的。用戶在開發(fā)Action和業(yè)務(wù)邏輯組件的同時,還需要編寫相關(guān)的配置文件,供核心控制器FilterDispatcher來使用。struts.xml文件是整個Struts2框架的核心。Struts2框架的核心配置文件就是struts.xml配置文件,該文件主要負(fù)責(zé)管理Struts2框架的業(yè)務(wù)控制器Action。整個項目的控制都配置在整個文件中。
3.1.3 表示層
視圖(View)代表用戶交互界面,對于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。本系統(tǒng)使用JSP實現(xiàn)視圖層,在JSP中沒有任何業(yè)務(wù)邏輯代碼。通過使用struts2標(biāo)簽庫,簡化JSP開發(fā)的難度,解決了在JSP頁面中,避免使用Java代碼的情況,能夠極大的簡化頁面開發(fā)。
數(shù)據(jù)庫采用了開源的Mysql數(shù)據(jù)庫,對數(shù)據(jù)庫的操作統(tǒng)一采用了JDBC的方式,并且使用數(shù)據(jù)庫連接池技術(shù)。數(shù)據(jù)庫連接池技術(shù)是指:在系統(tǒng)初期或者是初次使用時,完成數(shù)據(jù)庫的連接,而后不再釋放此連接而是在處理后面的請求時,反復(fù)使用這些已經(jīng)建立的連接。這種方式可以大大減少數(shù)據(jù)庫的處理時間,有利于系統(tǒng)的整體性能;連接池一般比直接連接更有優(yōu)越性,因為它在提高了性能的同時還保存了寶貴的資源。本系統(tǒng)的數(shù)據(jù)庫連接池的實現(xiàn)通過在spring的appliation.xml的配置DBCP來實現(xiàn)。
采集數(shù)據(jù)有兩種方式:主動訪問被管對象和被動接收告警信息。本系統(tǒng)采用主動訪問被管對象的方式,首先從數(shù)據(jù)庫中配置的表中獲取設(shè)備的配置信息和對應(yīng)的IP地址,然后向協(xié)議適配器申請驅(qū)動程序,協(xié)議適配器從自己管理的協(xié)議棧中找到合適的協(xié)議驅(qū)動程序給采集器,目前本系統(tǒng)只支持SNMP協(xié)議,接著當(dāng)采集器接收到報警信息或采集數(shù)據(jù)發(fā)生異常時,采集器將產(chǎn)生不同的事件,并通過事件處理通道提交給事件處理器,事件處理器得到事件后,根據(jù)用戶事先設(shè)定的處理策略進行處理。最后將獲取的這些數(shù)據(jù)存儲到數(shù)據(jù)庫中。采集頻率的確定需要綜合網(wǎng)絡(luò)帶寬權(quán)衡網(wǎng)絡(luò)安全過程。采集頻率過低,占用網(wǎng)絡(luò)資源相對較少,但是數(shù)據(jù)的更新周期相對較大,不能反映參數(shù)的真實變化情況;采集頻率過高,數(shù)據(jù)更新自然較快,但是在采集周期內(nèi)所占用的網(wǎng)絡(luò)資源就會很大,增加網(wǎng)絡(luò)設(shè)備的負(fù)擔(dān),甚至有可能會影響到正常的網(wǎng)絡(luò)通信。因此在確定數(shù)據(jù)采集的頻率時,必須根據(jù)實際的網(wǎng)絡(luò)帶寬資源進行考慮,同時還要考慮被管設(shè)備中被管對象的數(shù)量。本系統(tǒng)采用多態(tài)采集頻率,根據(jù)被管理的設(shè)備和網(wǎng)絡(luò)帶寬情況實時調(diào)整采集頻率。
Ajax(Asynchronous JavaScript and XML)技術(shù)是目前深受Web用戶歡迎的一項技術(shù),它利用JavaScript、DOM、XMLHttpRequest實現(xiàn)客戶端與服務(wù)器的異步交互。本系統(tǒng)中設(shè)備分組樹、設(shè)備監(jiān)控信息動態(tài)更新等功能的實現(xiàn)需要客戶端向服務(wù)器發(fā)出HTTP請求,服務(wù)器收到請求后進行驗證、訪問數(shù)據(jù)庫等處理,處理完畢后刷新頁面顯示出結(jié)果給用戶,該技術(shù)大大提高了顯示效率。
為了能在web瀏覽器上顯示,要求用戶界面使用HTML以及圖片的方式來展現(xiàn)數(shù)據(jù),而傳統(tǒng)的一些利用操作系統(tǒng)本身的控件來開發(fā)的用戶界面無法適應(yīng)琳瑯滿目的客戶端,因此在這里也變得無能為力。為了創(chuàng)建一個可以在web瀏覽器上查看到圖表,可以直接在web服務(wù)器端生成圖表圖片文件后發(fā)送給瀏覽器。在本系統(tǒng)中我們采用JAVA的圖表引擎JFreeChart來產(chǎn)生基于WEB的圖表。它主要用來產(chǎn)生各種各樣的圖表,這些圖表包括:餅圖、柱狀圖(普通柱狀圖以及堆棧柱狀圖)、線圖、區(qū)域圖、分布圖、混合圖、甘特圖以及一些儀表盤等等。這些不同式樣的圖表基本上可以滿足目前的要求。在本系統(tǒng)中,我們使用JFreeChart來顯示各設(shè)備的使用情況,讓用戶可以對設(shè)備的大致情況一目了然。
本文討論基于Web2.0中小企業(yè)網(wǎng)管平臺的設(shè)計與實現(xiàn)。該系統(tǒng)采用了“集中管理,分布處理”的策略來設(shè)計中小企業(yè)網(wǎng)絡(luò)管理平臺,并給出了一個比較靈活的設(shè)計方案。本系統(tǒng)采用了MVC模式來進行系統(tǒng)的設(shè)計與實現(xiàn)。隨著web應(yīng)用程序的不斷發(fā)展,使用MVC模式可以很好地將web系統(tǒng)分為三層,使得程序開發(fā)人員更清楚的掌握項目的進度從而對系統(tǒng)進行更好的管理,在這種規(guī)范下設(shè)計出的web應(yīng)用程序大大提高了軟件的可擴展性和重用性,保證了系統(tǒng)的穩(wěn)定性、靈活性、易維護性。
[1]陳春紅.基于SNMP的層次化網(wǎng)絡(luò)管理體系結(jié)構(gòu)的研究[D].華中師范大學(xué)學(xué)位論文,1999,7.
[2]朱非、肖德寶.基于Web/CORBA的網(wǎng)管關(guān)鍵技術(shù)的研究[J].小型微型計算機系統(tǒng),2000.
[3]袁嘉 基于Struts+Spring+Hibernate的Web開發(fā)框架[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2008,04:210-214.
[4]何瑕,肖德寶.基于Web的網(wǎng)管中間層分布式對象建模策略及其實現(xiàn)[A].第十一屆中國計算機學(xué)會網(wǎng)絡(luò)與數(shù)據(jù)通信專業(yè)學(xué)術(shù)會議論文集[C].北京,2000.09.