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