系統介紹
??? iTopoview是專門面向網絡拓撲圖領域的界面組件,采用Java技術開發,為軟件開發人員準備。使用者 無需了解任何圖形技術,無需借助其他腳本,通過簡單的Java數據定義和操縱,即可創建出專業高效的網絡拓撲圖;并且提供了菜單、鼠標、用戶業務數據、用戶業務處理、告警等操作,讓網絡拓撲圖的工作變得 愉悅高效。iTopoview附帶了一個完整網絡拓撲圖界面源代碼,供用戶學習參考,可用于Java GUI、Web Applet或Ajax + iTopoview等環境中。
Java Web Start方式演示(需Java插件)?????????? 瀏覽器在線方式演示
iTopoview界面樣例
采用iTopoview API開發的界面
★ 總覽 (overview)
該圖形庫使用了 DHTML 和 Javascript 技術,它可以畫線,圓,橢圓,折線,多邊形,矩形。對于一個不太了解 Javascript 的人來說使用這個圖形庫也是非常容易的,另外,使用這個圖形庫畫出的圖形是完全被優化到像素級的!
★ 瀏覽器的兼容性
Linux 系統 :
Browsers with Gecko-Engine (Mozilla, Netscape 6+, Galeon), Konqueror 3.0.3 ( 非常慢 ), Netscape 4, Opera 5 and 6.
Windows 系統 :
Gecko-Browsers, IE 4, 5 and 6, Netscape 4, Opera 5, 6 and 7.
說明:如果在網頁全部加載完成后,使用這個矢量圖形庫進行繪制,在 Opera 版本 7 以前的瀏覽器中不會執行, Netscape 版本 4 也不會執行。相反,當 HTML 頁面正在被解析時, 使用這個圖形庫進行繪制是全部瀏覽器均能做到的。
★ 怎樣使用這個矢量圖形庫?
1 .包含這個庫 插入下面的代碼到你的 html 文件的開頭部分(在 <head> 和 </head> 之間): |
|||
|
|||
2 .使用層( div 或 layer )作為畫布( canvases )
如果在頁面加載完成后繪制,應該設置幾個具有絕對坐標的層,作為你的畫布,每一個層應該有一個唯一的 id: |
|||
3 .下載并保存這個圖形庫 到這個地址 http://www.walterzorn.com/scripts/wz_jsgraphics.zip 下載,將解壓后的 wz_jagraphics.js 與你的 html 文件放至相同的目錄中,如果你的 wz_jagraphics.js 與 html 文件處于不同的目錄下,記得在 src=”wz_jsgraphics.js” 中指示 wz_jagraphics.js 的相對路徑。 |
★ 怎樣使用這個矢量圖形庫中的繪制函數?
1 . 創建一個 jsGraphics 對象
a) 在頁面完全載入后繪制: (這種方式不會在 Netscape 版本 4 和 Opera 版本小于 7 的瀏覽器中執行) 還記得前面用 div 元素創建的畫布嗎?看下面的示例, 需要為 div 創建相應的 jsGraphics 對象,這些代碼必須插入到相關的 div 元素結束標志 </div> 后面, 但必須在 </body> 的前面, div 元素的 id 作為 new jsGraphics(); 的構造參數,像下面這樣: |
|||
|
|||
如果有多個 div 元素,每一個 div 都需要有它自已的 jsGraphics 對象: |
|||
|
|||
b )在頁面載入的時候繪制
只需要將構造參數設為空: |
|||
你可以選擇 jg,jg2 或 jg_doc 其它的變量名,只要不違反 Javascript 的命名規則就可以。 |
|||
2. 圖形繪制函數
為確保所有瀏覽器能正確執行, 這里選擇頁面載入時進行繪制,即上文的 b 方式 一旦產生這些圖形對象(在這個示例中 jg, jg2 或 jg_doc ),就可以使用它來調用繪制圖形的方法。由圖形對象所繪制的圖形將會在相關的 div 元素上顯示(采用上文 a 方式構造圖形對象): |
|||
|
|||
開始畫時應首先選擇畫筆顏色,否則,畫筆的顏色取默認值-黑色。坐標值作為繪制圖形方法的參數,如果采用上文的 a 方式構造圖形對象,那么坐標值是相對于 div 元素的左上角的。每一個畫布(圖形對象),它的 paint 方法必須被顯示的調用以產生 html 格式的圖形,否則,在你的屏幕上什么都不會發生。 |
函數名(方法) | 示例代碼(用 jg 圖形對象) |
setColor( "#HexColor" ); |
jg.setColor("#ff0000"); |
setStroke( Number ); |
jg.setStroke(3); |
drawLine( X1, Y1, X2, Y2 ); |
jg.drawLine(20,50,453,40); |
drawPolyline( Xpoints, Ypoints );
var Xpoints = new Array(x1,x2,x3,x4,x5); |
var Xpoints = new Array(10,85,93,60); |
drawRect( X, Y, width, height ); 一個矩形的外邊線。參照左上角的坐標點,并指定矩形的寬度和高度。 |
jg.drawRect(20,50,70,140); |
fillRect( X, Y, width, height ); 填充矩形,參照左上角的坐標點,并指定矩形的寬度和高度。 |
jg.fillRect(20,50,453,40); |
drawPolygon( Xpoints, Ypoints );
var Xpoints = new Array(x1,x2,x3,x4,x5); 如果始點和終點末被指定,多邊線將會自動閉合。 |
var Xpoints = new Array(10,85,93,60); |
fillPolygon( Xpoints, Ypoints ); 填充矩形。參數作用見 drawPolygon() |
jg.fillPolygon(new Array(10,85,93,60), new Array(50,10,105,87)); |
drawEllipse( X, Y, width, height ); 畫橢圓邊線。參照橢圓的外接矩形, x 和 y 是這個外接矩形的左上角坐標 |
jg.drawEllipse(20,50,70,140); |
fillEllipse( X, Y, width, height ); |
jg.fillEllipse(20,50,71,141); |
drawString( "Text", X, Y ); 寫文本至由 x 和 y 坐標指定的位置。不同于 Java ,坐標值是第一行文本的左上角坐標值。如果文本中包含有 HTML 標記將被轉義,舉個例子: "Some Text<br>more Text" 會被轉義為兩行
它們可以結合使用 |
jg.setFont("arial","15px",Font.BOLD); |
drawImage( "src", X, Y, width, height ); |
jg.drawImage("friendlyDog.jpg", 20,50,100,150); |
paint();
像下面這樣的調用應該避免 :
像下面這樣的調用性能會很高 : |
jg.paint(); |
clear(); 與圖形對象關聯的 div 畫布中的圖形被清除(在 div 中不是由這個圖形對象創建的內容是不會被改變的) |
jg.clear(); |
setPrintable( true ); 默認情況下,打印這些圖形是不太可行的,因為瀏覽器的默認打印設置中會關閉打印背景,調用 setPrintable() ,并設置參數為 true ,將重置圖形為可打印的(至少在 Mozilla/Netscape 6+ and IE 中) |
?????? 還記得那個 zkajax 工程嗎,打開它,然后打開 web.xml 文件 ( 如果不知道這個文件的位置,我就該哭了 ) ,如果出現的是圖形,就點下面 Source 即可出現代碼。
?????? 在 <listener> 標簽的前面添加如下的 filter(Ctrl+Shift+F5 可以對齊文本 )
<filter>
????????????? <filter-name>zkFilter</filter-name>
????????????? <filter-class>
???????????????????? org.zkoss.zk.ui.http.DHtmlLayoutFilter
????????????? </filter-class>
????????????? <init-param>
???????????????????? <param-name>extension</param-name>
???????????????????? <param-value>html</param-value>
???????????????????? <!-- Use XHTML components as default. -->
????????????? </init-param>
?????? </filter>
?????? <filter-mapping>
????????????? <filter-name>zkFilter</filter-name>
????????????? <url-pattern>*.jsp</url-pattern>
????????????? <dispatcher>REQUEST</dispatcher>
????????????? <dispatcher>INCLUDE</dispatcher>
????????????? <dispatcher>FORWARD</dispatcher>
????????????? <dispatcher>ERROR</dispatcher>
?????? </filter-mapping>
????
在 WebContent 目錄下新建一個 test_jsp 文件 , 內容如下
<%@ page language="java" pageEncoding="UTF-8"%>
<html xmlns:x="http://www.zkoss.org/2005/zul">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title> 測試 zk jsp</title>
</head>
<body>
<x:window id="test" title=" 測試 zk jsp" border="normal" width="100px">
測試 zk jsp
</x:window>
</body>
</html>
在這文件上點右鍵 ->Rin As->Run on server, ,即可看到運行結果,大概是下圖的樣子:
是不是字體很小?我覺得太小了,于是我修改
css
文件中的字體,我把大部分該成了
感覺到變化了吧。
?????? 接下來不好過了,后臺技術足夠了 , 缺一個做界面的,要是 dorado 不付費早用它了。接下來費了好大勁終于找到了一個開源的東西 ---zk ,一個作界面的不二之選。
?????? 扯遠了,接下來是正題。
???
可以在
http://www.zkoss.org/
上下到有關
zk
需要的東西,
我用的版本是
zk-
下面介紹如何在 eclipse 部署 zk 環境
(1)??? 打開 eclipse, File->New->Project->Web->Dynamic Web Project ,即新建一個動態網站,工程名為 zkajax 。我個人傾向于在 Java Psrspective 環境下工作。
(2)???
將
zk-
(3)???
將
zk-
(4)???
將
zk-
(5)??? 最后是下圖的樣子
(6)??? 運行,在工程 zkajax 上點右鍵 ->Run As->Run on Server ,選中 tomcat ,點 Finish 即可,網頁出來后點 Zk Demo ,效果圖如下:
ASP.NET AJAX是微軟.NET平臺上的解決方案,提供涵蓋伺服器端與用戶端所需的AJAX技術與JavaScript整 合機制。
透過與下載與安裝ASP.NET AJAX到Visual Studio 2005當中,即可利用預設的控制項,開發出一些視覺特效與非同步傳輸的應用。
另外,ASP.NET AJAX也提供控制項的Toolkit,包含開發人員想自行開發AJAX應用時所需的基底類別與專案范本。
ASP.NET AJAX除了處理瀏覽器的相容性問題,也讓用戶端的JavaScript在開發時加入物件導向特性,例如型別系統、資料型別、命名空間、事件等,使得程式 碼更容易除錯、維護與重復使用。
雖然ASP.NET AJAX提供伺服器與用戶端的解決方案,透過Visual Studio2005加持,也讓開發、除錯的難度降低,不過和其他AJAX框架相比,許多AJAX效果和功能都還在測試階段(在CTP版本中供用戶測 試),可以應用的功能有限。
2.支援「上一頁」與加入「我的最愛」功能
Dojo
網址:dojotoolkit.org
一些輕巧的Ajax框架,用意在解決JavaScript遇到的易用性或特效問題,相較之下,Dojo更像是個面面俱到的JavaScript 工具套餐,號稱可以降低網頁或網頁應用程式前端開發速度。
Dojo支援拖拉、淡出、淡入、移動、透明、操作SVG圖檔等動態效果,它的Widget也讓使用者可以輕易使用選單,分頁標簽(tab)、樹 狀結構、日歷、文字編輯器等效果,當然也支援非同步處理的Ajax功能。
另外,Ajax由于以動態的方式操作文件物件,導致使用者習于使用上一頁、下一頁的功能無法使用,也無法利用像是「我的最愛」的功能,將使用者 所需的頁面留下正確的書簽,但這些需求Dojo都已有解法。
比起其他輕巧型的Ajax框架,要摸熟Dojo顯然要下較多的功夫才能掌握,目前文件較少也是個問題。不過由于它的功能更為完整,因此開發人員 需要自行加工的地方就相對較少。
3.可由JavaScript呼叫Java語法
DWR(Direct Web Remoting)
網
址:www.getahead.ltd.uk/dwr
DWR是設計給Java語言的Ajax框架,讓開發人員可以利用JavaScript程式呼叫Java語法。
DWR的運作可分為兩個部分,一方面用在瀏覽器上,處理連接伺服器端Java程式,另一部分則是用來展示回傳資料。透過DWR呼叫Java的函 式,它會處理連接處理的細節,而當資料被處理完成后,DWR就會執行回呼函式,以進行后續呈現的處理。
在安裝DWR時必須編輯Web應用程式的部署描述檔案,而且也要編輯DWR特定檔案。 DWR配置檔案指定了可以遠端建立和呼叫的類別。檔案中包含伺服器程式碼的JAR檔案,另外還有JavaScript檔案,提供一些輔助函式,處理互動呈 現的效果。
DWR最大的好處就在于讓Java開發人員可以利用熟悉的語法來處理頁面與資料,并且能配合Struts、Tapestry來使用。不過從用戶 端呼叫遠端伺服器的Java程式,仍存在一些安全上的疑慮,在使用時必須注意。
4.以易用性、簡化語法為目標
jQuery
網址:jquery.com
jQuery是最近大受矚目的Ajax框架,它以Prototype為本,簡化并提升JavaScript語法的功能。
jQuery有點像是將Prototype所做的事再推向極端,讓使用者改變原有撰寫JavaScript的方法。它最為人稱道的地方,就在于 強大的存取頁面元素功能,無論是文件的節點、CSS的選取子或Xpath表達式,都能利用「$( )」函式快速存取,并賦予它更多的功能。
此外,它的chainable方法能將一串處理函式結合在一起,讓程式碼更為簡潔。另外jQuery也提供一些動態效果,不過和其他框架相比, 這部分就顯得陽春許多。
jQuery的優劣其實都在同一件事情上,一方面它簡化JavaScript的語法,讓撰寫程式更為簡便,就好用的目的而言,的確是相當成功。 然而這卻讓JavaScript的程式碼會發展成另一種樣子,對于初學者而言,一開始學習時,必須要花點時間去適應。
5.依功能需求,下載模組化工具
MooTools
網址:mootools.net
前身是以輕巧著稱的Moo.fx,與Prototype有著相似的概念和語法,但在物件導向上做得更為徹底,而且在動畫效果和互動行為上,提供 更多的功能與應用,能讓使用者更快的寫出物件導向概念的JavaScript語法。
MooTools的下載檔依模組分為核心、類別、原生語法、網頁元素、瀏覽器視窗、動畫效果、拖曳、遠端傳輸與外掛程式,除了核心程式是必要下 載之外,其他可依使用者需求,下載所需的JavaScript檔案,借此減少檔案的體積。
雖然MooTools將JavaScirpt物件導向化的結果做得更徹底,有利于程式的擴展與維護,不過也挑戰原先熟悉JavaScript物 件觀的人,需要較多的時間適應。
不過無論是網站本身呈現、程式語法展示,甚至是模組下載介面,MooTools都展現相當精致的動態效果,參與網站的示范,很快就能實作。
6.大大擴充JavaScript基本功能
Prototype
網址:prototype.conio.net
Prototype不像其他框架,有許多炫人耳目的動態效果,而是專注在改良JavaScript本身的功能,讓JavaScript更容易使 用,也更具物件導向風格。
Prototype在簡化JavaScript方法上,提供許多方便的語法,最著名的如「$( )」函式,只要將DOM節點的ID傳入這個函式,就能取得這個節點物件,簡化了DOM的操作方法。而這個方式也幾乎成為其他開發框架延用的功能。其他如 「$F( )」函數能直接處理Web表單元件的值,「$A( )」函數能將列舉的字串轉換成陣列等,都是Prototype經典功能。
在非同步處理上,它也提供了Ajax.Request、Ajax.Updater等類別,讓開發人員在處理非同步運作時可以利用它提供的方法, 讓溝通行為更為容易、正確。
雖然Prototype沒有太多花俏的功能,不過它簡化JavaScript的特性,仍讓許多Web開發人員衷情于它。
7.平順、豐富的動畫效果
Rico
網址:openrico.org
Rico是基于Prototype之上的Ajax框架,在西班牙文中,「rico」即為「rich」的意思,這也說明Rico的目標是提供開發 人員利用JavaScript達到豐富的網頁元件與應用。
Rico提供非同步的Ajax應用,可讓非同步回應繞送到一個或多個回呼以操作DOM或JavaScript物件。在動畫效果方面,支援如拖曳 功能、縮放、過場、進度指標和黃褪技術等,可立即套用豐富的效果。
由于Rico志在讓JavaScript也能表現出Flash般的動畫效果,因此像是網頁元件的顏色、形狀或下拉效果的變化都相當平滑,也能讓 DIV方塊做出圓角的效果,讓視覺表現更具Web 2.0風格。
Rico的LiveGrid功能同樣是為人所稱道之處。它能讓表單資料產生更多元的表現方式,突破表格的檢視行為。例如它可以讓使用者在觸動卷 動軸時,動態下載資料,利用這種方式,可以分段下載,就無需采用分頁檢視的手法。
8. RoR與CakePHP的指定框架
Script.aculo.us
網址:Script.aculo.us
Script.aculo.us是建立在Prototype之上的Ajax框架,是解決視覺效果與互動行為的輕巧框架,Ruby on Rails及PHP上的開發框架CakePHP等,都是使用Script.aculo.us作為Ajax的解決方案。
在視覺效果上,Script.aculo.us利用改變透明度、大小、位置以及結合以上三種元素,產生更多種變化,例如淡進、淡出、閃動、提示 等數十種視覺效果,可讓頁面效果更具變化,引導使用者與介面程式互動等。
在互動介面方面,提供了拖曳元件、就地編輯元件(In-Place Editor)、水平、垂直拉動卷軸、自動完成、元件排序、購物車等,這些預先打包成套的功能,解決了瀏覽器相容性的問題,也讓使用者很容易可以直接導入 在現有的專案功能中,節省自行開發的時間。
此外,Script.aculo.us包含單元測試(Unit Test)框架,可以利用本身的test物件,用來驗證程式執行的狀態,并且支援模擬滑鼠與鍵盤的功能。
9.有Yahoo!網站服務背書的框架
Yahoo! User Interface
網
址:developer.yahoo.com/yui/
Yahoo! User Interface(YUI)是Yahoo!所提供的Ajax框架,提供便捷的開發方式與許多JavaScript函式庫,使用者可以利用它來開發互動式 的介面與Ajax效果。 YUI可分為三大部分,包含工具、CSS和 控制元件等函式庫,工具部分是核心物件,負責一些較底層的處理功能,CSS則提供像版面規畫、字體工具。而控制元件則有自動完成、月歷、樹狀結構這些工 具。
由于YUI實際應用在Yahoo!的網站中,因此實作的可靠性相當不錯,在YUI網站上也提供不少范例與文件,能協助使用者快速上手。雖然 YUI是由Yahoo!所推出,不過它遵循JavaScript的語法規則,并將樣式、內容與行為分離,開發人員如果要擴充功能,也相當容易。
一般Ajax框架都需要置放在網站的伺服器端,隨著頁面一起下載,YUI除了采取這種方式之外,也提供使用連結的方式,使用者只要在應用的頁面 中將路徑指向YUI主機即可。
10.適合Java開發環境的企業級解決方案
ZK
網址:www.zkoss.org
ZK是基于Ajax、XUL(XML User Interface Language)、Java網頁應用程式的開發框架,讓網頁的操作行為可以像是桌面應用程式一般。
不同于用戶端的Ajax解決方案,ZK由伺服器端出發,利用ZK處理Ajax互動的引擎,處理用戶端的頁面行為,也因此大為降低利用 JavaScript作為動態開發語法時,常遇到的瀏覽器相容問題。
ZK提供超過70個XUL組件及80個XHTML組件,因此一些網頁或應用程式常見的功能,ZK都提供現成的工具可讓使用者立即應用,只需利用 ZK以XML為基礎的使用介面設計語言,即可產生這些組件。應用的人則可在后端利用Java語言進行來處理程式邏輯與資料傳遞。
由于ZK利用Java語言開發,屬于以伺服器為中心的解決方案,因此必須安裝支援Java的應用程式伺服器(如Tomcat)才能執行。
ZK框架是一個用JAVA實現的簡單但是功能強大的表現層框架。它包括了一個基于Ajax的 事件驅動引擎、這也是它的最大特色。可以做到沒有JavaScript,只通過ZUML(ZK User Interface Markup Language)這種標識語言即可做到界面創建和事件響應。
ZK的實現完全用java實現,開發過程中不會有任何的JavaScript代碼,但是通過 將zul文件(ZK的源文件,類似于jsp文件)通過ZK引擎編譯后查看頁面源代碼,結果還是可以看到,ZK實現的本質還是通過 JavaScript+CSS來處理異步請求的。
組件是ZK中最常見的元素。有點類似于JAVA Swing或者VB這樣的基于組件的編程。結合ZK Studio,可以達到可視化和動態地查看頁面效果。
特征:
不足之處:
需要安裝的工具有JDK、Tomcat(或者其他服務器)、My Eclipse(或者Eclipse)、 ZK開發包、ZK Studio。JDK、Tomcat、My Eclipse安裝都不用介紹了,主要介紹ZK相關的部門。我的環境是JDK 1.6.0_16+Tomcat 6+My Eclipse 6.0。
準備工作:
zk-bin-5.0.2.zip
,Linux
下選擇zk-bin-5.0.2.tar.gz。下載好后還需要下載一個demo包。這個demo包里面包含了一些xml模板,創建ZK頁面時可以根據模
板快速生成。demo下載選擇zk-demo-5.0.2.zip。2.2 ?? ZK環境的配置
zk-bin-5.0.2.zip
,
創建用戶自定義庫:在My Eclipse里面選擇windows->Preferences->JAVA->Build
Path->User Libraries。添加3個用戶庫。名字隨便取,可以分別叫:ZK Ajax Frame、ZK Ajax
Framework Extendsion以及ZK Ajax Framework Forge
Library。分別對應zk-bin-5.0.2目錄結構中dist下的lib、lib/ext以及lib/zkforget中的jar包。配置好后的
用戶庫如下圖:
<?xml version=”1.0″
encoding=”$encoding”?><?page title=”title” ?><zk
xmlns=”http://www.zkoss.org/2005/zul”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul “> </zk> |
<templatecontext=”com.genuitec.eclipse.wizards.xml”script=”templates/xml/ZKWeb.vtl”
name=”XML template for a web.xml file with ZK capability”/> <template context=”com.genuitec.eclipse.wizards.xml” script=”templates/xml/LangAddon.vtl” name=”XML template for a lang-addon.xml file for ZK”/> <template context=”com.genuitec.eclipse.wizards.xml” script=”templates/xml/Portlet.vtl” name=”XML template for a port-let.xml file for ZK”/> <template context=”com.genuitec.eclipse.wizards.xml” script=”templates/xml/ZK.vtl” name=”XML template for a zk.xml file”/> <template context=”com.genuitec.eclipse.wizards.xml” script=”templates/xml/ZUL.vtl” name=”XML template for a *.zul file”/> |
有兩種方式創建ZK Project。第一種方式是直接在ZK Welcome Page里面新建一個ZK工程,這樣不用再添加ZK庫。第二種方式是先創建一個Web Project,然后在Build Path里面添加剛才添加的三個User Libraries。然后在WebRoot里面添加zul文件即可。添加zul文件要選擇新建XML Advanced Tempaltes文件。
打開zul文件可以選擇Open with Zul Editor。這樣便可以利用zk studio的可視化編程進行開發。
除了ZK自己提供的一些組件外,html的標簽在ZK中完全可以繼續用。但是為了避免ZK解 釋HTML標簽,通常要使用<![CDATA[ 和 ]]>將HTML標簽圍入其中。換言之,他們并不是子組件。而是被存儲在content屬性內。
組件可以從zk palet直接拖拉進代碼區,然后可以在中查看和設置組件支持的所有屬性和事件。其特點就是高效地組建頁面。如果不添 加任何JAVA代碼,那么創建一個頁面的效率不亞于直接用Axure創建界面原型。圖4是一個界面demo。無任何js和CSS代碼。當然,ZK框架并不 排斥使用CSS代碼。利用style屬性可以設置CSS樣式,還可以通過<style src=” CSS文件”/>加載CSS文件。
最好的幫助文檔其實是zkoss官網的一些文檔。比如:開發手冊(http://zh.zkoss.org/doc/devguide/index.html)。 但是對于開發人員來說,官方的幫助文檔其實還不夠的。ZK總提供上百個組件和13個指令。每個組件都會有10到60個不同的屬性和事件響應。所以,對于這 些屬性及用法沒有一個好的類似java api文檔那樣的東西,實在是會不知所措。所以在zkoss官方還提供了zkoss組件的java api(http://www.zkoss.org/javadoc/latest/zk/), 方便開發人員。
每個組件都支持一些事件。如onClick、onOK,onClose等。以下是 window組件所支持的事件:
在ZK異步更新引擎的支持下,組件的屬性可以被動態改變。首先獲得組件對象,然后設 置值。獲得組件可以通過JAVA代碼或者EL表達式。同一ID空間中的可以用getFellow(組件id),還有一種方法是利用 org.zkoss.zk.ui.api包中的Path類可以很方便地獲取組件。Path.getComponent(組件路徑)。如獲取以下頁面的 label組件的value值可以這樣寫:
<?page id=”page1”?><window
id=”winA”><label id=”labelA” value=”Label A” />
</window> <zscript><![CDATA[ alert(Path.getComponent(“/winA/labelA.value”)); ]]></zscript> |
跨頁面的組件訪問可以用//表示當前桌面。如要在page2中訪問page1的id為 winA的window組件,可以這樣寫Path.getComponent(“//page1/winA”)。
當然,ZK也不排除使用javascript。如:
<script
type=”text/javascript”>function testAlert()
{alert(“調用javascript成功!”);
} </script> <button label=”SayHello”> <attribute name=”onClick”> <![CDATA[ Clients.evalJavaScript("testAlert();"); ]]> </attribute> </button> |
事件還可以在JAVA代碼中進行注冊。注冊后與直接寫在zul頁面中的效果是一樣的。比如我 們可以先定義一個事件類:
public
class
MyListener implements EventListener{@Overridepublicvoid onEvent(Event event) throws
Exception {
// TODO add some methods …… } } |
然后可以在另外一個類中注冊它。
public
class
ShowMessage extends Window {publicvoid
onCreate() throws InterruptedException{ //does
initialization
getFellow(“btnAddUser”).addEventListener(“onClick”, new MyListener()); } } |
這樣我們就可以通過use=”ibatis.ShowMessage”來調用 MyListener里面定義的一些方法了。
將組件和組件的控制代碼最好進行分離。利用組件的use或者applay屬 性將JAVA代碼和zul頁面進行關聯。如:<window width=”100%” height=”100%” apply=”zktest.borderlayout.BorderLayoutComposer”>或者<listbox width=”800px” rows=”5″ use=”zktest.jianer.ListTestBean”>。
我們知道,一個經典的MVC框架中,視圖,控制器和模型都是必須要有的。在一個WEB工程中 DAO層的引入比較容易,比如說hibernate或者說淘寶現在用的比較多的iBatis。而控制器從何而來。視圖如何與控制器互相傳遞數據?這里就用 到了zul頁面和java代碼的分離。分離出java代碼后,java代碼可以很容易與DAO層打交道,而獲取視圖層的數據也可以輕松通過 getFllow獲取到組件進行操作。這樣MVC三層便實現了。另外,在Web工程中還可以配置Spring進行類管理。
要想程序與數據庫打交道,有很多種方式。直接寫JDBC當然是最笨的一種,現在淘寶的 JAVA應用普遍采用iBatis作為持久層,沒有采用hibernate是因為考慮到hibernate的效率問題,所以我也試著將iBatis配置進 工程里面。
首先當然是有一個ZK的工程。參照前面第3章的內容。在My Eclipse里面新建好一個Web工程。然后在Build Path里面配置需要的包。這里我用到的是MySQL的JDBC包和iBatis的包。都加入到Build Path里面:。然后進行iBatis的配置。
要使iBatis跑起來,至少需要3個配置文件。。SqlMap.properties用來 配置數據庫連接的相關信息。如用戶名,密碼,連接字符串等。SqlMapConfig.xml用來指定數據源、SqlMap.properties的位置 和用到的sqlMap。而這個User.xml就是一個sqlMap。用來配置sql語句、返回類型,傳入參數和名字的。在sqlMap類里面就通過名字 對sql語句進行調用。一切配置好后就可以開始正式編碼了。
在MyEclipse里面添加Spring相當容易。直接在工程上點右鍵,選擇My Eclipse->Add Spring Capabilities。這樣就將Spring的包引入了進來,并且自動生成了Spring的配置文 件:applicationContext.xml。在applicationContext.xml里面便可以進行bean的配置。更多Spring的 用法可以參照相關的資料。在此便不多說。
通過配置iBatis和Spring后便可分層對一個Web應用進行開發了。JAVA代碼處 理業務邏輯,充當控制層。ZK負責界面展示。iBatis負責持久層。
zk學習篇
?
1,首先是zk的官方網站首頁:zk版本發布信息,新聞,demo入口,學習文檔入口,zk愛好者開發examples入口
?
?
2,文檔入口
?
??http://docs.zkoss.org/wiki/Documentation
?
?
2,zk學習開發手冊
?
??http://zh.zkoss.org/doc/devguide/??中文
?
??http://zkoss.org/doc/devguide-single/index.html ?英文
?
?
3,zk開發向導
?
??http://docs.zkoss.org/wiki/Developer's_Reference??
?
???http://www.zkoss.org/download/download.zul?file=pdf/ZK-devref.pdf&link=/doc&source=defref_pdfdownload?? ? ? ? ? ? ? ? ? ? ?pdf版
?
4,zk樣式手冊
?
?? http://docs.zkoss.org/wiki/Style_Guide
?
?
5,zk組件開發手冊
?
???http://www.zkoss.org/doc/compdevguide/
?
?
6,關于zk的small talks,非常實用,如果開發文檔看完了,可以到這里進階
?
?? ?http://docs.zkoss.org/wiki/Small_Talks
?
?
7,zk在線java doc
?
?
8,zk二進制開發包,source ,documentation,and others
?
???http://zkoss.org/download/zk.dsp
?
9,zk demo集合
?
?
10,zk論壇
?
?
11,zk架構
?
?? ??http://zh.zkoss.org/doc/devguide/ch03.html#id404475
?
12,zk組件活動周期
?
?? ?http://zh.zkoss.org/doc/devguide/ch04.html
?
13,zk事件處理
?
???http://zh.zkoss.org/doc/devguide/ch05.html
?
zk進階篇
?
?
?
一,開發環境的搭建
?
?? 1) ?Eclipse中開發 zk,如果你是最新的開發web的eclipse,第一步可省略
?
???http://docs.zkoss.org/wiki/Develop_ZK_Applications_with_Eclipse
?
?? 2) ?NetBean
?
?http://docs.zkoss.org/wiki/How_to_build_your_first_ZK_application_with_NetBeans
?
?? 3) ZK開發的Eclipse插件 編輯器
?
1?@ zk Studio 安裝
?
http://docs.zkoss.org/wiki/ZK_Studio_Installation_Guide
?
??2 @ zk快速上手
?
http://docs.zkoss.org/wiki/QuickStart_Guide
?
?? ? ? ?3 @?ZK Studio 用戶手冊
?
http://docs.zkoss.org/wiki/Studio_userguide
?
二,基于zk的MVC架構
?? ?
?? 1)?ZK Composer 介紹,特別是最后一張圖,非常重要:如果清楚認識這個圖,對以后數據處理等非常有益
?
http://docs.zkoss.org/wiki/An_Introduction_of_ZK_Composer
?
?? 2) 最佳MVC模式,提示:其中的AfterComposer方法內時間綁定現在已過時,zk有更好的實現,見4
?
http://docs.zkoss.org/wiki/Best_Model-View-Controller_Patterns
?
?? 3) ?MVC三部曲,呵呵,作者的標題很有意思,冒險呢
?
http://docs.zkoss.org/wiki/The_Trilogy_of_ZK's_MVC_Adventure
?
?? 4) 輕松實現MVC,對于學習架構設計理念非常好的一個例子
?
http://docs.zkoss.org/wiki/ZK_MVC_Made_Easy
?
?? 5)一個基于spring的聯系人列表的事例,
?
注:其中時間綁定已過時,?<button label="Register" onClick="loginWnd.onRegister()" />
?
?? ? 官方推薦forward="onXXX=onYYY",等號前的為js事件,onYYY對應Controller class方法
?
?? ? ? ? ? ? ?forward默認是onClick事件,所以可簡寫為forward="onYYY"
http://docs.zkoss.org/wiki/Contact_List_with_ZK_and_Spring
?? 6) 使用Zk Studio六步輕松實現CRUD
?
http://docs.zkoss.org/wiki/Build_CRUD_Application_with_ZK_Studio_in_6_Steps
?
?? 7) SHZ ?z為ZK
?
http://docs.zkoss.org/wiki/Hibernate_%2B_Spring_%2B_ZK
?
?? 8) ?spring+jpa+zk ?mvc
?
http://docs.zkoss.org/wiki/ZK_With_Spring_JPA_And_A_Model-View-Controller_Pattern
?
?? 9) ?基于ZK注解的數據綁定的四個個例子
?
1,ZK數據綁定實現
?
?? ??http://docs.zkoss.org/wiki/Data-Binding_Implementation_for_ZK
?
2,使用zk注解,實現雙向數據綁定
?
http://docs.zkoss.org/wiki/Two-way_Data_Binding_with_ZUML_Annotations
?
?? ? ? ?3,使用zk注解實現零代碼數據綁定
?
http://docs.zkoss.org/wiki/Zero_Code_Data_Binding_with_ZUML_Annotations
?
4,使用zk注解綁定集合數據
?
http://docs.zkoss.org/wiki/Data_Binding_Collection_Data_with_ZUML_Annotations
?
?? 10) zk 各種監聽器的作用
?
?
??更多資源請看http://docs.zkoss.org/wiki/Small_Talks
編寫工作到此完成。一、 技術架構的變遷
???? 在網管軟件最早的年代,基本上都是從電信管理網的那一套發展起來的,按TMN規范定義的模型來處理,像什么Q接口、F接口、X接口、CORBA、NMS/EMS、FCAPS功能劃分,都是這種模型的代表。這種模型對于大型的電信網絡來說是必須的,可是對于企業級別的設備網管軟件來說,就顯得過于笨重,花費的成本是無法接受的。
???? 于是對于設備網管軟件的架構,逐步向實用化、工程化發展,也就是輕量級技術的發展。輕量級的技術,沿用了FCAPS的功能模型,也是用戶關心的問題。而在內部技術上,突破了TMN的種種限制,好的就借用,不好的就拋棄。在這種輕量級技術的影響下,根據用戶的需求,靈活選擇JAVA技術、數據庫技術、SNMP協議,就是這一技術的代表。
二、 輕量級技術架構
???? 選擇C/S,還是B/S?這是首選問題。C/S的客戶端功能很強大,界面表現力很好,而且故障的反應能實時處理。B/S在集成網絡拓撲圖的界面展示上會打折扣,好在報表分析這塊上。最好的建議是用Applet+服務端的模式,兼顧兩者的優缺點。因為網管軟件的網絡服務特性、實時處理特性、大量任務監視、事件分發特性,不適合采用J2EE的模型,用普通JAVA做服務端是最恰當的。
三、 模塊級技術選擇
1.通信協議選擇:C/S架構的,可以選擇RMI;Applet架構的可選XML-RPC或RMI技術,B/S架構不存在這個問題。
2.數據庫技術選擇:O-R Mapping是最佳選擇,Hibernate是這個領域最成熟的組件,比只用JDBC簡便很多。
3.網管客戶端:這個是最容易被忽略的問題,真正在網管開發中,界面的復雜度和工作量比服務端大很多,而且對于用戶體驗來說,界面更加重要。界面當中最重要非網絡拓撲圖不可,基本上大多數的網管軟件界面都是圍繞著網絡拓撲圖來開發的。目前可以用商業的ilong視圖組件,因為功能涉及面比較廣,API比較復雜,報表系統做的很多,每個客戶端都要收運行費用。喜歡輕量級開發的,可以用itopoview網絡拓撲圖組件,專門針對網管軟件,很多網管系統常用的界面處理都內置了,上手也快,組件庫小巧靈活,只收開發費。兩個組件都可以用于applet環境。
4.WEB客戶端:如果選用B/S,可以考慮flex或SGV或ajax技術的web拓撲圖,flex更成熟一些,用的人比較多。但是所有WEB 拓撲圖都有一個缺點,都是100% java技術的,這樣的話,團隊中需要懂其他技術的開發人員。這是我再次推薦用Applet的原因。
5.網管協議:目前運用的最多是SNMP協議,相關的java協議棧也比較多,像SNMP4j就是比較好的JAVA SNMP協議棧。如果想加快SNMP的開發,可以考慮ObjectSNMP組件,采用O/M Mapping技術(和O/R Mapping類似),這樣的話,開發SNMP的主要工作就是定義普通JAVA對象,當然ObjectSNMP底層可能采用如SNMP4J這樣的協議棧。
6.客戶端報表分析:毫無疑問,jfreechar肯定能滿足需求,而且是免費的(只收文檔費用)。還有一個選擇,用JRobin,可以快速做出漂亮的流量圖,但是JRobin是基于文件的數據存儲,與系統的集成度不好,將來做數據分析也不方面,僅限用于救急。
7.故障、事件分發機制:網管的事件分發不是很復雜,用一個JMS的產品如OpenJMS就可以;如果嫌JMS的存儲多余,可以考慮JGroup消息廣播機制。
8.任務機制:是網管就不可避免的會設計到監控任務、定時任務。如果你對線程和時間處理的很好的,可以用java只帶的就可以;否著的話,可以選擇Quartz,再復雜的任務都能處理。
其他體會:
不要迷信j2ee,對于設備級網管來說,只會幫倒忙,而且處處別扭;即使是B/S的架構,J2EE在處理任務、故障事件、SNMP服務方面也無能為力。設計一個靈活但簡單的界面架構,用戶的很多需求都針對界面的。(bitsCN.com原創/文jianlong/轉載請保留)
文章轉載自網管網:http://www.bitscn.com/pdb/java/200905/161526.html
一、由名稱看區別
首先來看無線AP,AP是英文ACCESS POINT的首字母所寫,翻譯過來就是“無線訪問點”或“無線接入點”,從名字上看就是通過它,能把你的擁有無線網卡的機器接入到網絡中來。它主要是提供無線工作站對有線局域網和從有線局域網對無線工作站的訪問,在訪問接入點覆蓋范圍內的無線工作站可以通過它進行相互通信。通俗的講,無線AP是無線網和有線網之間溝通的橋梁。由于無線AP的覆蓋范圍是一個向外擴散的圓形區域,因此,應當盡量把無線AP放置在無線網絡的中心位置,而且各無線客戶端與無線AP的直線距離最好不要超過太長,以避免因通訊信號衰減過多而導致通信失敗。
無線AP相當于一個無線集線器(HUB),接在有線交換機或路由器上,為跟它連接的無線網卡從路由器那里分得IP。
無線路由器,從名稱上我們就可以知道這種設備具有路由的功能,大家可能對有線的寬帶路由器有所了解,那么我們可以說無線路由器是單純型AP與寬帶路由器的一種結合;它借助于路由器功能,可實現家庭無線網絡中的Internet連接共享,實現ADSL和小區寬帶的無線共享接入 ,另外,無線路由器可以把通過它進行無線和有線連接的終端都分配到一個子網,這樣子網內的各種設備交換數據就非常方便。
無線路由器就是AP、路由功能和集線器的集合體,支持有線無線組成同一子網,直接接上上層交換機或ADSL貓等,因為大多數無線路由器都支持PPOE撥號功能。
說到無線網橋,首先大家要了解網橋的概念,網橋(Bridge)又叫橋接器,它是一種在鏈路層實現局域網互連的存儲轉發設備。網橋有在不同網段之間再生信號的功能,它可以有效地聯接兩個LAN(局域網),使本地通信限制在本網段內,并轉發相應的信號至另一網段。網橋通常用于聯接數量不多的、同一類型的網段。
無線網橋顧名思義就是無線網絡的橋接,它可在兩個或多個網絡之間搭起通信的橋梁(無線網橋亦是無線AP的一種分支)。無線網橋除了具備上述有線網橋的基本特點之外,比其它有線網絡設備更方便部署。
很多用過無線AP和無線路由器的朋友可能會說,現在很多無線AP和無線路由器也有網橋的功能,和無線網橋有什么區別?確實,從原理上來講,上述兩種設備的網橋功能和無線網橋的工作原理是一樣的,如果說到不同的話,那就是一般單獨說到無線網橋的時候,是專指那些適合室外遠距離傳輸的“無線AP”,一般擁有專門的天線、功率放大器和一些適合室外工作的特點。二、初識三種設備外觀
通過上面的介紹,相必大家對這三種設備有了初步模糊的認識,OK,那下面我們再來真實的看一下三種設備的外觀,以求有更進一步的直觀了解。
無線AP
單純型無線AP的外觀比較簡單,通常有一個接有線的RJ45網口、電源接口、配置口(usb口或通過web界面配置)和幾個狀態指示燈。
無線AP外觀圖
無線路由器
與無線AP相比,從外觀上看,市面上的無線路由器最大的不同之處是多了四個有線網口,一般有一個WAN口用于上聯上級網絡設備,四個LAN口可以用于連接處于內網中的帶有線網卡的計算機,相應的指示燈也同樣多了一些。
無線路由器外觀圖
無線網橋
由于無線網橋室外工作、遠距離傳輸的需要,所以組成部件要必無線AP和無線路由器多不少,在設備組成上,無線網橋主要由無線網橋主設備(無線收發器)和天線組成。無線收發器由發射機和接收機組成,發射機將從局域網獲得的數據編碼,變成特定的頻率信號,再通過天線發送出去;接收機則相反,將從天線獲取的頻率信號解碼,還原成數據,再送到局域網中。
由于室外工作,所以一般在天線和無線網橋主設備之間時候,會一些小部件來起到防水、防雷擊的作用。
無線網橋外觀圖
三、組網拓撲
對三種設備有了概念上的認識和直觀上的產品外觀認識了,下面我們再來看一下在具體組網的時候他們的各自的組網拓撲是什么樣子的,嚴格的說,在這兒我們要講的是一種理想的拓撲結構情況,因為實際中有很多無線AP或無線路由器也有橋的功能,所以在設成橋模式的情況下,也可以按網橋的結構來組網,不過在此為了行文方便,暫且不考慮此。
無線AP作為一個無線局域網的中心設備,以星型連接其覆蓋范圍內的具有無線網卡的計算機,然后通過無線AP上的雙絞線鏈接到有線網絡中的交換機或HUB上,所以結構非常簡單。
無線AP組網結構圖
無線路由器結構與無線AP組網結構類似,不同的是他還可以通過雙絞線以有線的方式鏈接計算機,輕松實現有線和無線的互相通信。
無線路由器組網結構
無線網橋一般用于距離比較遠的兩棟或更多建筑物之間的互聯互通。其典型組網結構如下圖:
無線網橋組網結構(點對點)四、適用環境及投資成本分析
無線AP的投資成本最低,現在市面上最簡單的無線AP一般都不到200元,適合那些家庭中有筆記本的朋友體驗無線上網的樂趣,以及都一些小型的soho辦公環境。另外一些室外無線AP還可以讓你體驗室外上網的新鮮體驗。
與無線AP相比,無線路由器價格稍微高一點,但是其提供了與價格相比更全面更強大的功能,適合組建既有筆記本又有臺式機的有線無線混合網絡。另外通常在無線路由器中都有無線防火墻、虛擬服務器等功能,對于家庭及soho族們來說,可以說是最佳選擇。
無線寬帶路由器已逐步取帶單純型無線AP成為市場上的主流,所以建議目前在組網時不管你所使用的MODEM是否帶路由都可首選無線寬帶路由器。
專門的無線網橋價格相對前兩者來說,價格要貴不少,具體價格和產品品牌及功能相差很大,幾千到幾萬不等。但是對于哪些需要遠距離傳輸的環境來說,要么自己鋪設光纜,要么租用光纜,其成本卻相對較小,而且可再利用性很強。還有可以克服有線無法克服的障礙問題。
結論
平常生活中我們都追求時尚,那么無線上網是提高我們網絡體驗的最佳選擇,對于家庭來說,只需要花費可能是我們平常和朋友一頓飯的的投資,就可以讓你立即體現到無線給你帶來的便利和方便,而且還等什么呢?對于企業來說,同一城市不同辦公地點互聯困難?不安全?那么考慮一下無線網橋是否能幫您解決棘手的難題吧。
現如今,市面上各個廠家的網管軟件層出不窮,較早期的網管軟件 均是基于C/S架構、基于C/S架構的網管軟件已經是很古老的產品了,其有兩大弊病:一個是需要安裝繁瑣的客戶端,另外一個就是不能滿足用戶在任何一點均 可訪問的需求;因此,隨著網管軟件的競爭日趨激烈,以及軟件技術的日新月異,有遠見卓識的廠家已經開始推出支持B/S架構的網管軟件。通過分析摩卡軟件有 限公司的Mocha BSM的網絡拓撲模塊,來了解一下當今已經被廣泛應用的B/S架構的網絡拓撲相關軟件的具體優勢:
1.無需安裝客 戶端,從任何一點都可以登錄訪問
凡是使用過計算機的用戶都清楚地知道,C/S架構即客戶端/服務器架構,意味著凡是C/S架構的軟件, 都是需要安裝客戶端的;而B/S架構的軟件即瀏覽器/服務器,只需要在服務器端安裝網管軟件,就可以通過瀏覽器輸入域名或者IP地址,即可訪問。這樣,只 要任何一臺桌面終端安裝了瀏覽器,即可從任何一點快速訪問網管軟件,即使是管理人員在家休息,在緊急的時候,也可以通過網絡遠程訪問網管軟件,來達到快速 解決問題的目的。
2.根據權限對網絡拓撲進行統一管理
無論是政府機構和企業,隨著分支機構的增加,其對網絡的管理也 隨之變得復雜。比如一個省級單位,下轄了多個地市分支機構,每個地市下面又會轄多個地縣單位,因此這種典型的三級架構,從網絡管理的角度來說,就一定要有 嚴格的權限劃分,其權限應該是省級網絡管理者可以看到整個省級單位,各地市單位以及地縣單位的網絡狀態;而地市級網絡管理者,則需要看到該地市網絡和其所 轄的地縣網絡狀態,他不能看到平級地市單位的網絡,也不能看到省級的地市單位的網絡;針對這種情況,C/S架構的網管軟件是不可能做到的,而B/S架構的 網絡拓撲展現,即可以通過權限劃分來進行分級式管理。如今,新疆郵政信息局正式通過摩卡的網絡拓撲來對全疆的網絡系統管理者的權限進行劃分和管理。
3.配置文件和發現信息實現集中統一管理和共享
C/S架構的網絡管理軟件,都是需要在客戶端進行網絡拓撲發現的配置 工作,配置內容包括網絡發現時的共同體名、發現方式、發現范圍等,而這些配置的信息以及拓撲發現后的展現信息,都是保存在客戶端的機器上的,無法實現共 享,因此通過B/S架構的網管軟件,可以很方便的進行配置信息統一管理和共享。
4.支持手工繪制拓撲圖,隨需而變
摩 卡網絡拓撲展現,不僅僅支持自動二層和三層網絡拓撲的發現,也支持手工繪制拓撲圖,針對網絡監控的不同需求,進行展現。可以定制骨干線路監控,也可以訂制 備用線路監控視圖,摩卡網絡拓撲內置常見的各種網絡設備圖標、機房元素、線路元素、中國地圖、各省地圖以及各種背景,因此通過摩卡網絡拓撲模塊,可以快速 實現手工網絡網絡拓撲定制,隨著監控需求而靈活變化。并且,一旦用戶的網絡環境發生變化需要調整,管理員也可以方便的進行網絡的調整。
5.支持管理拓撲圖,方便安裝管理區域進行監控管理
針對網絡拓撲的監控需求及功能來說,一個大的企業網絡是由很多部門在使用的,而某些 設備發生故障影響到的僅僅是某個部門或者區域,因此如何將網絡拓撲和企業的各個職能部門相關聯,通過這種按職能和權限進行劃分的管理拓撲圖,可以快速的發 現某些故障的影響和根本原因。
6.B/S架構展現的不僅僅是網絡拓撲,可展現機房監控視圖和業務視圖
通過摩卡軟件的 網管軟件,不僅僅可以展現網絡拓撲,還可以根據用戶的機房實際設計圖,來展現企業的真實機房監控圖,以及業務邏輯監控視圖。
摩卡軟件為 用戶提供靈活的機房監控視圖,根據企業的具體情況,定制總部的機房至分支機構的機房監控視圖。如果北京的機房出現故障,則可以通過雙擊北京機房圖標,查看 在北京具體是哪個機房出現故障。通過雙擊中關村機房,可以進一步查看中關村機房的具體問題。管理人員甚至可以通過中關村機房監控視圖,進一步查看,哪個具 體機柜上,到底是哪個設備有問題。
7.適合于劃分了網管網段的企業和機構進行統籌管理
對于較大型的網 管項目來說,企業或者機構在建立企業內部網絡的時候,都預先規劃了專用的網管網段,只有在網管網段內的網管服務器才能夠對全網進行網絡發現和網絡配置。因 此C/S架構的網管軟件一旦放置在網管網段內,管理人員要想從工作區對網絡進行監控,就比較麻煩。而支持B/S架構的網絡拓撲管理軟件,只需要將網管服務 器放置到網管網段,直接通過工作區的瀏覽器訪問即可。這也是為何,當今B/S架構的瀏覽器會大行其道的原因之一。
8.拓撲圖和網絡實時 狀態直接關聯,快速發現問題
通過摩卡的網絡拓撲展現,和設備各個指標狀態相關聯,管理者無需在不同的頁簽和模塊之間來回切換,幫助管理 人員快速的了解整個網絡的健康狀態。如下圖所示:用戶可以直接從網絡拓撲察看到設備的物理鏈接信息、設備接口一覽、IT資產信息、背板信息、以及設備的詳 細技術指標等。并可以通過拓撲圖實現對設備的TELNET操作、MIB信息查看操作、PING、TraceRoute操作等,大大的提高了管理人員的效 率。