網路管理、監視、分析

活用MVC三層模式 開發自用web介面網管系統

2012-11-09
在網路普及的今日,網路管理系統(EMS/NMS)已經成為網路管理工作的重要工具。網路管理系統可以持續監視網路上的每個設備,並蒐集網路使用的狀態,提供給網路管理人員最快速的資訊,協助進行分析與及早發現問題。針對此一發展趨勢,本文將說明如何以Ajax、Struts 2以及AdventNet等軟體來建構一個優質的網管環境。
網路管理系統(EMS/NMS)透過SNMP通訊協定與ASN-GW/BS上的SNMP代理器(Agent)溝通,針對設備代理器提供的MIB檔,從而實現各項網路設備的功能管理,包括故障管理(Fault)、組態管理(Configuration)、帳戶管理(Accounting)、效能管理(Performance)以及安全管理(Security),如圖1所示。


▲圖1 系統應用情境圖。(資料來源:專案自行繪製)

其中的各項功能說明如下:

·故障管理:接受設備所發出的TRAP訊息,儲存並做後續分析,若超出Severity等級設定,就通知管理者。
·組態管理:呈現與設定設備的環境參數。
·帳戶管理:使用者/?群組的權限管控,登入Log紀錄分析。
·效能管理:定期詢問設備流量資訊,儲存後做歷史分析,並即時呈現設備資源使用狀況。
·安全管理:針對AAA平台進行管理。

隨著Web技術的不斷發展及Web應用的不斷擴大,開發Web-based EMS/NMS網管系統時,程式碼的複雜度也遠高於以往,若能採用三層架構模式MVC(Model-View-Controller)模式,將可有效降低各層之間的耦合度,提供應用的可擴充性。

Apache採用了結合Struts和WebWork的新框架Struts 2來實現此模式,並解決前一版諸多的缺陷和局限性。另外,在前端使用Ajax技術,可縮短感知等待時間,帶來更好的用戶體驗,而後端利用AdventNet函式庫完成SNMP中介軟體來管理設備Agent。

本文希望藉此說明,讓讀者對Web-based EMS/NMS網管系統的開發有一個新的概念。

相關技術介紹

以往,Struts 1是市場占有率的佼佼者,擁有龐大的開發社群和資料文件,但其表現層卻很單一,例如FreeMarker等流行的模版技術皆無法支援。

到了Struts 2,採用WebWork的設計理念,支援包括FreeMarker、Velocity、XSLT等更多表現層技術,且具備捕捉輸入、運算式語言、型態轉換等特性,其特性說明如下:

·捕捉輸入:直接使用Action屬性作為輸入屬性,能夠透過Web頁面上的tablibs存取,簡化對POJO輸入物件的參考。
·運算式語言:除了使用JSTL外,並支援OGNL(Object Graph Notation Language)。
·型態轉換:內建轉換器,會自動呼叫相對應的程式進行型態的轉換。

相關實作方法如下所示。首先,在web.xml中設定Strut 2的核心控制器FilterDispatcher,用以攔截客戶端請求,它會在struts.xml尋找相對應的Action來處理。


Struts 2的taglibs為表現層提供豐富且強大的功能,包含資料處理、流程控制、國際化、Ajax的支援,可以最大程度地減少檢視頁面的程式量。若要使用,必須先宣告:


而一個邏輯控制器的基本結構如下所示:



追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!