翻譯:JMX規(guī)范Version 1.2
JMX (The Java Management extensions) 架構(gòu)概述
本節(jié)主要介紹JMX規(guī)范中的各個部分,以及它與整個管理架構(gòu)的關(guān)系:
1.工具層(Instrumentation Level)
2.代理層(Agent Level)
3.分布式服務(wù)層(Distributed Services Level)
4.其他管理協(xié)議層(Additional Management Protocol Level)
圖一顯示了在JMX的三層架構(gòu)模型中,各主要組建之間的相互關(guān)系。這些組件將在接下來的”組件概述“幾個小節(jié)進行討論和介紹。
(圖一)
工具層(Instrumentation Level)
工具層為實現(xiàn)JMX可管理資源提供了一個規(guī)范。JMX可管理資源可以是應(yīng)用、服務(wù)的實現(xiàn)、設(shè)備、用戶等等。它可以是用Java開發(fā)或用Java封裝,以至于能夠被JMX-compliant程序管理。
一個給定資源的工具是由一個或者多個標(biāo)準(zhǔn)的或動態(tài)的管理Bean或稱作MBeans來提供。標(biāo)準(zhǔn)的MBeans是與源于JavaBeans(TM)組件模
型的某一設(shè)計模式相一致的Java對象。動態(tài)MBeans則遵照一個特定的接口,在運行期間提供更多的靈活性。詳細信息請參看”Managed
Beans(MBeans)“。
資源的工具通過代理層(Agent Level)使其可以被管理。MBeans不需要JMX代理知道他們的操作。
MBeans通常設(shè)計為靈活的、簡單的并且容易實現(xiàn)。應(yīng)用、服務(wù)、或者設(shè)備的開發(fā)者,通過一個標(biāo)準(zhǔn)的方法可以使他們的產(chǎn)品變成可管理,而不需要理解復(fù)雜的
管理系統(tǒng)。現(xiàn)存的對象可以輕松的提供自己的標(biāo)準(zhǔn)MBeans或者包裹成動態(tài)的MBeans,這樣可以付出很少的代價使現(xiàn)存的資源變成可管理的。
另外,工具層(Instrumentation Level)也制定了一個通知機制。這樣就允許MBeans可以產(chǎn)生和傳遞通知事件到其他各層的組件中去。
由于工具層(Instrumentation Level)是由設(shè)計模式和Java接口組成,所以參考實現(xiàn)只提供一個不同MBeans和它們的通知機制的例子。
工具層(Instrumentation Level)的兼容性測試會檢測MBeans是否與設(shè)計模式相一致,是否正確的實現(xiàn)了接口。
JMX的可管理資源能被遵從JMX規(guī)范的代理自動進行管理。同樣,它們也可以被不遵從JMX規(guī)范,但支持MBeans設(shè)計模式和接口的系統(tǒng)管理。
代理層(Agent Level) 代理層(Agent Level)提供了一個實現(xiàn)代理的規(guī)范。管理代理之間控制被管理的資源,并使它們對于遠程的管理程序可用。雖然并沒有要求,但是代理通常與它所管理的資源放置在同一臺機器上。
代理層(Agent Level)構(gòu)建在工具層(Instrumentation Level)之上,并且使用工具層(Instrumentation
Level),通過定義一個標(biāo)準(zhǔn)化的代理來管理JMX的可管理資源。JMX代理由一個MBean
Server和一系列的處理MBeans的服務(wù)組成。另外,JMX的代理需要至少一個通信適配器或連接器,在本部分內(nèi)容不對其做詳細的說明。MBean
Server的實現(xiàn)和代理服務(wù)都托管在一個JMX規(guī)范的實現(xiàn)上。
JMX代理可以嵌入在一臺安裝有JVM(Java Virtual
Machine),并安放了JMX可管理資源的機器里。同樣,當(dāng)被管理的資源只提供一個私有(non-Java)的環(huán)境時,JMX代理可以作為一個中介或
者集線器存在。JMX代理并不需要知道它為什么資源提供服務(wù)。任何JMX可管理資源可以使用任何一個提供它所需服務(wù)的JMX代理。
管理層通過一個協(xié)議適配器或連接器(在接下來的部分介紹),訪問代理的MBeans,使用其提供的服務(wù)。對于JMX代理并不需要知道遠程的管理程序是如何使用它們。
管理系統(tǒng)中實現(xiàn)JMX代理的開發(fā)者能用標(biāo)準(zhǔn)的方法開發(fā)自己的產(chǎn)品,而不需要去理解JMX可管理資源的語義,以及管理程序的功能。
JMX代理的參考實現(xiàn)是一系列的,提供一個MBean Server和所有代理服務(wù)的Java類。
代理的兼容性測試會檢測被測試的代理是否遵從代理規(guī)范中提供的接口和功能。成功通過CTS測試的代理即可成為合格的JMX代理。
JMX代理運行在J2SE(tm) Version 1.3及以上版本,and on certain profiles of the J2ME(tm)。
JMX代理自動適應(yīng)JMX分布式服務(wù),也可以被支持JMX代理但不遵從JMX的系統(tǒng)使用。
分布式服務(wù)層(Distributed Services Level) 分布式服務(wù)層(Distributed Services Level)的詳細定義超出了本規(guī)范的范圍。為介紹JMX架構(gòu)的概述,在此僅對其進行簡單介紹。
分布式服務(wù)層(Distributed Services Level)提供實現(xiàn)JMX管理的接口。本層定義可以在代理或者分層的代理操作的接口和組件。這些組件可以:
1.提供管理程序的接口,通過一個連接器,透明的與代理和它的JMX可管理資源交互;
2.通過將它們的語義映射到data-rich協(xié)議(例如超文本標(biāo)志語言(HTML)或者簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)),來暴露JMX代理的管理視圖和它的MBeans;
3.從高層的管理平臺發(fā)布管理信息到JMX代理;
4.提供安全。
管理組件通過網(wǎng)絡(luò)相互協(xié)作,提供分布的,可調(diào)節(jié)的管理功能。基于Java的自定義管理功能可以在這些組件之上進行開發(fā),來部署一個管理程序。
管理層和代理、工具層的聯(lián)合,為設(shè)計和開發(fā)完整的管理解決方案提供了一個完整的架構(gòu)。JMX技術(shù)為可移植,按需部署的管理功能,動態(tài)的或流動的服務(wù),以及安全這類解決方案提供了唯一的工具。
posted on 2005-02-01 21:42
非飛 閱讀(498)
評論(0) 編輯 收藏 所屬分類:
JMX