Posted on 2010-08-30 16:53
TWaver 閱讀(1515)
評論(0) 編輯 收藏
1.概述
前文講述了用Java開發(fā)電信網(wǎng)管界面系統(tǒng)遇到的困難。其中,制作網(wǎng)絡(luò)拓撲圖是我們第一個必須克服的困難。本文概述如何使用和制作網(wǎng)絡(luò)拓撲圖的產(chǎn)品和方法和思路。
2.電信網(wǎng)絡(luò)拓撲組件的要求
網(wǎng)絡(luò)拓撲圖是電信網(wǎng)管客戶端的核心。對于電信網(wǎng)絡(luò),在使用任何網(wǎng)絡(luò)拓撲組件時,必須注意電信網(wǎng)絡(luò)的一些特點:
- 數(shù)據(jù)量大。一般電信網(wǎng)絡(luò)的規(guī)模都比較大,網(wǎng)絡(luò)設(shè)備數(shù)量多,拓撲復(fù)雜。網(wǎng)絡(luò)拓撲圖界面必須考慮到能夠處理大數(shù)據(jù)量的網(wǎng)絡(luò)節(jié)點和連接。
- 多層次展示網(wǎng)絡(luò)。在一個綜合電信網(wǎng)絡(luò)中,各種類型設(shè)備往往相互連接、相互承載,運行在不同的網(wǎng)絡(luò)協(xié)議層中。同時,電信設(shè)備在邏輯和物理上也可能分布在不同層次上。網(wǎng)絡(luò)拓撲圖必須有能力按層次的來組織各種網(wǎng)絡(luò)資源。
- 高效率。網(wǎng)絡(luò)拓撲圖必須能高效、迅速的反應(yīng)網(wǎng)管系統(tǒng)的數(shù)據(jù)變化。
- 輕量。拓撲圖畢竟只是界面系統(tǒng)的一部分,它在開發(fā)、部署、運行資源占用上,都不應(yīng)該太“重”。如果它是一個個頭超過10兆、占用數(shù)十兆內(nèi)存的模塊,我認為很難接受。
- 簡單易用。簡單的就是好的。我們不想把開發(fā)人員的腦細胞都耗費在組件的使用上,而是網(wǎng)管系統(tǒng)的架構(gòu)設(shè)計上。
3.可用產(chǎn)品
開源產(chǎn)品:最讓人遺憾的是,目前還沒有專門針對電信網(wǎng)管開發(fā)的開源的或者免費的Java組件產(chǎn)品可以使用。雖然有JGraph等非常優(yōu)秀的開源項目,但是如果用它來制作網(wǎng)絡(luò)拓撲,還需要大量的開發(fā)和定制。希望將來能有開源或者免費產(chǎn)品的出現(xiàn)。
商用產(chǎn)品:其實選擇也不多,羅列如下:
- ILOG JTGO:這是該領(lǐng)域最著名的一個產(chǎn)品。你可以到google上搜索一下,看看有多少公司的招聘信息都提到這個產(chǎn)品。這是一個老牌電信界面組件產(chǎn)品,占據(jù)了絕大多數(shù)市場份額,產(chǎn)品功能非常全面、穩(wěn)定。JTGO是基于ILOG另外一個繪圖產(chǎn)品JVIEWS上開發(fā)的,所以它在開發(fā)和運行時都需要JVIEWS包的支持,因此顯得比較龐大(大約11兆)。JTGO提供了地圖、設(shè)備面板圖、樹、表格等現(xiàn)成組件,以及大量文檔和例程,為開發(fā)提供了很大方便。JTGO支持XML數(shù)據(jù)以及瘦客戶端技術(shù),非常適合在web上應(yīng)用。但是,JTGO的架構(gòu)設(shè)計比較復(fù)雜,API繁多,想要徹底精通這個產(chǎn)品的使用還是要費不少力氣。
- JLOOX:JLOOX是一套功能很強大的Java2D產(chǎn)品,有專門為電信行業(yè)提供而提供的JLOOX Telecom產(chǎn)品包,專門用于電信行業(yè)OSS/EMS/NMS界面開發(fā)。JLOOX在國內(nèi)也有少量應(yīng)用。不過,最近ILOG已經(jīng)正式從eNGENUITY公司收購了JLOOX產(chǎn)品線。ILOG在網(wǎng)站上聲稱,鼓勵原有JLOOX客戶轉(zhuǎn)移到ILOG的JVIEWS產(chǎn)品上來,以獲得更好的支持。由于JLOOX產(chǎn)品線和ILOG既有產(chǎn)品線JVIEWS/JTGO有太多的重合,這使得JLOOX的前景非常黯淡。
- SERVA Software TWaver:TWaver是SERVA Software公司的新產(chǎn)品。和上述產(chǎn)品具有完整的Java2D繪圖功能不同,TWaver設(shè)計的目標非常明確,就是用于電信網(wǎng)管界面的開發(fā)。在功能上,它和JTGO有很大相似之處,包括提供的組件、業(yè)務(wù)對象、API設(shè)計、XML數(shù)據(jù)支持、編輯器程序等。TWaver的最大優(yōu)點是非常輕量、高效,易于使用。TWaver的發(fā)布包不只有1兆左右,卻可以承載數(shù)千個節(jié)點和連接,同時保持良好的響應(yīng)速度,占用內(nèi)存大約2.5兆/千節(jié)點。
4.使用架構(gòu)
在電信網(wǎng)管界面的設(shè)計中,應(yīng)該遵循MVC的設(shè)計原則,分離數(shù)據(jù)的存儲、呈現(xiàn)和控制,便于系統(tǒng)進行擴展。如果整個NMS系統(tǒng)看成一個MVC框架,GUI部分就算是系統(tǒng)的View了。在GUI這個View內(nèi)部,再按照MVC的原則,將各種界面呈現(xiàn)元素(對話框、組件包等)看作View,而各種資源、業(yè)務(wù)對象、運行信息等看作Model。前后端的交互可以通過EJB調(diào)用、JMS消息等方式完成。由于各種網(wǎng)絡(luò)拓撲組件產(chǎn)品的設(shè)計本身都遵循了MVC的設(shè)計原則,所以在設(shè)計整個GUI架構(gòu)時可以按照這種“MVC層層嵌套”的模式進行設(shè)計,以便系統(tǒng)的擴展。
5.結(jié)束
下次將使用ILOG的JTGO以及SERVA的TWaver用代碼展示制作簡單網(wǎng)絡(luò)拓撲圖的方法。