免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
JMX規(guī)范
userphoto

2010.12.21

關注

1.1 JMX概述

JMX--Java Management Extensions,即Java管理擴展,是一個為應用程序、設備、系統(tǒng)等植入管理功能的框架。JMX可以跨越一系列異構操作系統(tǒng)平臺、系統(tǒng)體系結(jié)構和網(wǎng)絡傳輸協(xié)議,靈活的開發(fā)無縫集成的系統(tǒng)、網(wǎng)絡和服務管理應用。 

JMX體系結(jié)構分為以下四個層次: 
1)設備層(Instrumentation Level):主要定義了信息模型。在JMX中,各種管理對象以管理構件的形式存在,需要管理時,向MBean服務器進行注冊。該層還定義了通知機制以及一些輔助元數(shù)據(jù)類。
2)代理層(Agent Level):主要定義了各種服務以及通信模型。該層的核心是一個MBean服務器,所有的管理構件都需要向它注冊,才能被管理。注冊在MBean服務器上管理構件并不直接和遠程應用程序進行通信,它們通過協(xié)議適配器和連接器進行通信。而協(xié)議適配器和連接器也以管理構件的形式向MBean服務器注冊才能提供相應的服務。 
3)分布服務層(Distributed Service Level):主要定義了能對代理層進行操作的管理接口和構件,這樣管理者就可以操作代理。然而,當前的JMX規(guī)范并沒有給出這一層的具體規(guī)范。 
4)附加管理協(xié)議API:定義的API主要用來支持當前已經(jīng)存在的網(wǎng)絡管理協(xié)議,如SNMP、TMN、CIM/WBEM等。 

1.2 設備層(Instrumentation Level)

該層定義了如何實現(xiàn)JMX管理資源的規(guī)范。一個JMX管理資源可以是一個Java應用、一個服務或一個設備,它們可以用Java開發(fā),或者至少能用Java進行包裝,并且能被置入JMX框架中,從而成為JMX的一個管理構件(Managed Bean),簡稱MBean。管理構件可以是標準的,也可以是動態(tài)的,標準的管理構件遵從JavaBeans構件的設計模式;動態(tài)的管理構件遵從特定的接口,提供了更大的靈活性。 

該層還定義了通知機制以及實現(xiàn)管理構件的輔助元數(shù)據(jù)類。 

1.2.1 管理構件(MBean)

在JMX規(guī)范中,管理構件定義如下:它是一個能代表管理資源的Java對象,遵從一定的設計模式,還需實現(xiàn)該規(guī)范定義的特定的接口。該定義了保證了所有的管理構件以一種標準的方式來表示被管理資源。 

管理接口就是被管理資源暴露出的一些信息,通過對這些信息的修改就能控制被管理資源。一個管理構件的管理接口包括: 
1)能被接觸的屬性值; 
2)能夠執(zhí)行的操作; 
3)能發(fā)出的通知事件; 
4)管理構件的構建器。 

管理構件通過公共的方法以及遵從特定的設計模式封裝了屬性和操作,以便暴露給管理應用程序。例如,一個只讀屬性在管理構件中只有Get方法,既有Get又有Set方法表示是一個可讀寫的屬性。 

其余的JMX的構件,例如JMX代理提供的各種服務,也是作為一個管理構件注冊到代理中才能提供相應的服務。 

JMX對管理構件的存儲位置沒有任何限制,管理構件可以存儲在運行JMX代理的Java虛擬機的類路徑的任何位置,也可以從網(wǎng)絡上的任何位置導入。 

JMX定義了四種管理構件:標準、動態(tài)、開放和模型管理構件。每一種管理構件可以根據(jù)不同的環(huán)境需要進行制定。 

1.標準管理構件 

標準管理構件的設計和實現(xiàn)是最簡單的,它們的管理接口通過方法名來描述。標準管理構件的實現(xiàn)依靠一組命名規(guī)則,稱之為設計模式。這些命名規(guī)則定義了屬性和操作。檢查標準管理構件接口和應用設計模式的過程被稱為內(nèi)?。↖ntrospection)[22]。JMX代理通過內(nèi)省來查看每一個注冊在MBean 服務器上的管理構件的方法和超類,看它是否遵從一定設計模式,決定它是否代表了一個管理構件,并辨認出它的屬性和操作。 

2.動態(tài)管理構件 

動態(tài)管理構件提供了更大的靈活性,它可以在運行期暴露自己的管理接口。它的實現(xiàn)是通過實現(xiàn)一個特定的接口DynamicMBean(如下圖)。 



JMX代理通過getMBeanInfo方法來獲取該動態(tài)管理構件暴露的管理接口,該方法返回的對象是MbeanInfo類的實例,包含了屬性和操作的簽名。由于該方法的調(diào)用是發(fā)生在動態(tài)管理構件向MBean服務器注冊以后,因此管理接口是在運行期獲取的。不同于標準管理構件,JMX代理不需要通過內(nèi)省機制來確定動態(tài)管理構件的管理接口。由于DynamicMBean的接口是不變的,因此可以屏蔽實現(xiàn)細節(jié)。由于這種在運行期獲取管理接口的特性,動態(tài)管理構件提供了更大的靈活性。 

3.開放管理構件 

開放管理構件是一種專門化的動態(tài)管理構件,其中所有的與該管理構件相關的參數(shù)、返回類型和屬性都圍繞一組預定義的數(shù)據(jù)類型(String、Integer、Float 等)來建立,并且通過一組特定的接口來進行自我描述。JMX代理通過獲得一個OpenMBeanInfo對象來獲取開放管理構件的管理接口,OpenMBeanInfo是MbeanInfo的子類。 

4.模型管理構件 

模型管理構件也是一種專門化的動態(tài)管理構件。它是預制的、通用的和動態(tài)的 MBean 類,已經(jīng)包含了所有必要缺省行為的實現(xiàn),并允許在運行時添加或覆蓋需要定制的那些實現(xiàn)。JMX規(guī)范規(guī)定該類必須實現(xiàn)為javax.management.modelmbean.RequiredModelMBean,管理者要做的就是實例化該類,并配置該構件的默認行為并注冊到JMX代理中,即可實現(xiàn)對資源的管理。JMX代理通過獲得一個ModelMBeanInfo對象來獲取管理接口。 

模型管理構件具有以下新的特點[23]: 
1)持久性 
定義了持久機制,可以利用Java的序列化或JDBC來存儲模型MBean的狀態(tài)。 
2)通知和日志功能 
能記錄每一個發(fā)出的通知,并能自動發(fā)出屬性變化通知。 
3)屬性值緩存 
具有緩存屬性值的能力。 

1.2.2 通知模型

一個管理構件提供的管理接口允許代理對其管理資源進行控制和配置。然而,對管理復雜的分布式系統(tǒng)來說,這些接口只是提供了一部分功能。通常,管理應用程序需要對狀態(tài)變化或者當特別情況發(fā)生變化時作出反映。 

為此,JMX定義了通知模型。通知模型僅僅涉及了在同一個JMX代理中的管理構件之間的事件傳播。JMX通知模型依靠以下幾個部分: 
1)Notification,一個通用的事件類型,該類標識事件的類型,可以被直接使用,也可以根據(jù)傳遞的事件的需要而被擴展。 
2)NotificationListener接口,接受通知的對象需實現(xiàn)此接口。 
3)NotificationFilter接口,作為通知過濾器的對象需實現(xiàn)此接口,為通知監(jiān)聽者提供了一個過濾通知的過濾器。 
4)NotificationBroadcaster接口,通知發(fā)送者需實現(xiàn)此接口,該接口允許希望得到通知的監(jiān)聽者注冊。 

發(fā)送一個通用類型的通知,任何一個監(jiān)聽者都會得到該通知。因此,監(jiān)聽者需提供過濾器來選擇所需要接受的通知。 

任何類型的管理構件,標準的或動態(tài)的,都可以作為一個通知發(fā)送者,也可以作為一個通知監(jiān)聽者,或兩者都是。 

1.2.3 輔助元數(shù)據(jù)類

輔助元數(shù)據(jù)類用來描述管理構件。輔助元數(shù)據(jù)類不僅被用來內(nèi)省標準管理構件,也被動態(tài)管理構件用來進行自我描述。這些類根據(jù)屬性、操作、構建器和通告描述了管理接口。JMX代理通過這些元數(shù)據(jù)類管理所有管理構件,而不管這些管理構件的類型。 

部分輔助元類如下: 
1)MBeanInfo--包含了屬性、操作、構建器和通知的信息。 
2)MBeanFeatureInfo--為下面類的超類。 
3)MBeanAttributeInfo--用來描述管理構件中的屬性。 
4)MBeanConstructorInfo--用來描述管理構件中的構建器。 
5)MBeanOperationInfo--用來描述管理構件中的操作。 
6)MBeanParameterInfo--用來描述管理構件操作或構建器的參數(shù)。 
7)MBeanNotificationInfo--用來描述管理構件發(fā)出的通知。 

1.3 代理層

代理層是一個運行在Java虛擬機上的管理實體,它活躍在管理資源和管理者之間,用來直接管理資源,并使這些資源可以被遠程的管理程序所控制。代理層由一個MBean服務器和一系列處理被管理資源的服務所組成。下圖表示了代理層的組成: 



1.3.1 MBean服務器

Mbean服務器為代理層的核心,設備層的所有管理構件都在其注冊,管理者只用通過它才能訪問管理構件。 
管理構件可以通過以下三種方法實例化和注冊: 
1)通過另一個管理構件 
2)管理代理本身 
3)遠程應用程序 
注冊一個管理構件時,必須提供一個唯一的對象名。管理應用程序用這個對象名進行標識管理構件并對其操作。這些操作包括: 
1)發(fā)現(xiàn)管理構件的管理接口 
2)讀寫屬性值 
3)執(zhí)行管理構件中定義的操作 
4)獲得管理構件發(fā)出的通告 
5)基于對象名和屬性值來查詢管理構件 

1.3.2 協(xié)議適配器和連接器

MBean服務器依賴于協(xié)議適配器和連接器來和運行該代理的Java虛擬機之外的管理應用程序進行通信。協(xié)議適配器通過特定的協(xié)議提供了一張注冊在MBean服務器的管理構件的視圖。例如,一個HTML適配器可以將所有注冊過的管理構件顯示在Web 頁面上。不同的協(xié)議,提供不同的視圖。 

連接器還必須提供管理應用一方的接口以使代理和管理應用程序進行通信,即針對不同的協(xié)議,連接器必須提供同樣的遠程接口來封裝通信過程。當遠程應用程序使用這個接口時,就可以通過網(wǎng)絡透明的和代理進行交互,而忽略協(xié)議本身。 

適配器和連接器使MBean服務器與管理應用程序能進行通信。因此,一個代理要被管理,它必須提供至少一個協(xié)議適配器或者連接器。面臨多種管理應用時,代理可以包含各種不同的協(xié)議適配器和連接器。 

當前已經(jīng)實現(xiàn)和將要實現(xiàn)的協(xié)議適配器和連接器包括: 
1)RMI連接器 
2)SNMP協(xié)議適配器 
3)IIOP協(xié)議適配器 
4)HTML協(xié)議適配器 
5)HTTP連接器 

1.3.3 代理服務

代理服務可以對注冊的管理構件執(zhí)行管理功能。通過引入智能管理,JMX可以幫助我們建立強有力的管理解決方案。代理服務本身也是作為管理構件而存在,也可以被MBean服務器控制。 

JMX規(guī)范定義了代理服務有: 
1)動態(tài)類裝載--通過管理小程序服務可以獲得并實例化新的類,還可以使位于網(wǎng)絡上的類庫本地化。 
2)監(jiān)視服務--監(jiān)視管理構件的屬性值變化,并將這些變化通知給所有的監(jiān)聽者。 
3)時間服務--定時發(fā)送一個消息或作為一個調(diào)度器使用。 
4)關系服務--定義并維持管理構件之間的相互關系。 

1.動態(tài)類裝載 

動態(tài)類裝載是通過m-let(management applet)服務來實現(xiàn)的,它可以從網(wǎng)絡上的任何URL處下載并實例化管理構件,然后向MBean服務器注冊。在一個M-let服務過程中,首先是下載一個m-let文本文件,該文件是XML格式的文件,文件的內(nèi)容標識了管理構件的所有信息,比如構件名稱、在MBean服務器中唯一標識該構件的對象名等。然后根據(jù)這個文件的內(nèi)容,m-let服務完成剩余的任務。下圖例示這一過程: 



2.監(jiān)視服務 

通過使用監(jiān)視服務,管理構件的屬性值就會被定期監(jiān)視,從而保證始終處于一個特定的范圍。當監(jiān)視的屬性值的變化超出了預期定義的范圍,一個特定的通告就會發(fā)出。JMX規(guī)范當前規(guī)定了三種監(jiān)視器: 

1)計數(shù)器監(jiān)視器,監(jiān)視計數(shù)器類型的屬性值,通常為整型,且只能按一定規(guī)律遞增。 
2)度量監(jiān)視器,監(jiān)視度量類型的屬性值,通常為實數(shù),值能增能減。 
3)字符串監(jiān)視器,監(jiān)視字符串類型的屬性值。 

每一個監(jiān)視器都是作為一個標準管理構件存在的,需要提供服務時,可以由相應的管理構件或遠程管理應用程序動態(tài)創(chuàng)建并配置注冊使用。 

下圖例示了計數(shù)器監(jiān)視器的使用情況: 



3.時間服務 

時間服務可以在制定的時間和日期發(fā)出通告,也可以定期的周期性的發(fā)出通告,依賴于管理應用程序的配置。時間服務也是一個管理構件,它能幫助管理應用程序建立一個可配置的備忘錄,從而實現(xiàn)智能管理服務。 

4.關系服務 

JMX規(guī)范定義了管理構件之間的關系模型。一個關系是用戶定義的管理構件之間的N維聯(lián)系。 

關系模型定義如下一些術語: 

1)角色:就是是一個關系中的一類成員身份,它含有一個角色值。 
2)角色信息:描述一個關系中的一個角色。 
3)關系類型:由角色信息組成,作為創(chuàng)建和維持關系的模板。 
4)關系:管理構件之間的當前聯(lián)系,且必須滿足一個關系類型的要求。 
5)角色值:在一個關系中當前能滿足給定角色的管理構件的列表。 
6)關系服務:是一個管理構件,能接觸和維持所有關系類型和關系實例之間的一致性。 

在關系服務中,管理構件之間的關系由通過關系類型確定的關系實例來維護。僅僅只有注冊到MBean服務器上并且能被對象名標識的管理構件才能成為一個關系的成員。關系服務從來就不直接操作它的成員--管理構件,為了方便查找它僅僅提供了對象名。 

關系服務能鎖定不合理關系類型的創(chuàng)建,同樣,不合理的關系的創(chuàng)建也會被鎖定。角色值的修正也要遵守一致性檢查。 

由于關系是定義在注冊的管理構件之間的聯(lián)系,所以當其中的管理構件卸載時,就會更改關系。關系服務會自動更改角色值。所有對關系實例的操作比如創(chuàng)建、更新、刪除等都會使關系服務發(fā)出通告,通告會提供有關這次操作的信息。 

JMX關系模型只能保證所有的管理構件滿足它的設計角色,也就是說,不允許一個管理構件同時出現(xiàn)在許多關系中。 

1.4 分布服務層

當前,SUN并沒有給出這一層的具體規(guī)范,下面給出的只是一個簡要描述。 

該層規(guī)定了實現(xiàn)JMX應用管理平臺的接口。這一層定義了能對代理層進行操作的管理接口和組件。這些組件能: 
1)為管理應用程序提供一個接口,以便它通過一個連接器能透明和代理層或者JMX管理資源進行交互。 
2)通過各種協(xié)議的映射(如SNMP、HTML等),提供了一個JMX代理和所有可管理組件的視圖。 
3)分布管理信息,以便構造一個分布式系統(tǒng),也就是將高層管理平臺的管理信息向其下眾多的JMX代理發(fā)布。 
4)收集多個JMX 代理端的管理信息并根據(jù)管理終端用戶的需要篩選用戶感興趣的信息并形成邏輯視圖送給相應的終端用戶。 
5)提供了安全保證。 

通過管理應用層和另一管理代理和以及他的設備層的聯(lián)合,就可以為我們提供一個完整的網(wǎng)絡管理的解決方案。這個解決方案為我們帶來了獨一無二的一些優(yōu)點:輕便、根據(jù)需要部署、動態(tài)服務、還有安全性。 

1.5 附加管理協(xié)議API

該層提供了一些API來支持當前已經(jīng)存在的一些管理協(xié)議。 

這些附加的協(xié)議API并沒有定義管理應用的功能,或者管理平臺的體系結(jié)構,他們僅僅定義了標準的Java API和現(xiàn)存的網(wǎng)絡管理技術通信,例如SNMP。 

網(wǎng)絡管理平臺和應用的開發(fā)者可以用這些API來和他們的管理環(huán)境進行交互,并將這個交互過程封裝在一個JMX管理資源中。例如,通過SNMP可以對一個運行有SNMP代理的交換機進行管理,并將這些管理接口封裝成為一個管理構件。在動態(tài)網(wǎng)絡管理中,可以隨時更換這些管理構件以適應需求。 

這些API可以幫組開發(fā)者根據(jù)最通常的工業(yè)標準來部署他們的管理平臺和應用。新的網(wǎng)路管理的解決方案可以和現(xiàn)存的基礎結(jié)構合為一體,這樣,現(xiàn)存的網(wǎng)絡管理也能很好的利用基于Java技術的網(wǎng)絡管理應用。 

這些API目前在JCP(Java Community Process)內(nèi)作為獨立的JSR(Java Specification Request)開發(fā)。 

他們包括: 
1)SNMP Manager API 
2)CIM/WBEM manager and protocol API 

1.6 JMX的當前實現(xiàn)及應用

自從SUN發(fā)布了JMX規(guī)范,許多大公司紛紛行動起來,實現(xiàn)規(guī)范或者實現(xiàn)相應的基于JMX的網(wǎng)絡管理系統(tǒng),下面列出了當前的主要實現(xiàn)及應用情況: 

1)SUN為JMX規(guī)范了作出了相應的參考實現(xiàn),并在此基礎上開發(fā)了一個全新的用于網(wǎng)絡管理的產(chǎn)品JDMK(Java動態(tài)管理工具集),其中定義了資源的開發(fā)過程和方法、動態(tài)JMX代理的實現(xiàn)、遠程管理應用的實現(xiàn)。同時,JDMK也提供了一個完整的體系結(jié)構用來構造分布式的網(wǎng)絡管理系統(tǒng),并提供了多種協(xié)議適配器和連接器,如SNMP協(xié)議適配器、HTML協(xié)議適配器、HTTP連接器、RMI連接器。 
2)IBM Tivoli實現(xiàn)了JMX規(guī)范的產(chǎn)品為TivoliJMX,它為JAVA管理應用程序和網(wǎng)絡提供了架構、設計模式、一些API集和一些服務。 
3)Adventnet開發(fā)的關于JMX的產(chǎn)品為AdventNet Agent Toolkit,它使得定義新的SNMP MIB、開發(fā)JMX和Java SNMP Agent的過程自動化。 
4)JBoss實現(xiàn)的J2EE應用服務器以JMX為微內(nèi)核,各個模塊以管理構件的形式提供相應的服務。 
5)BEA的Weblogic應用服務器也將JMX技術作為自己的管理基礎。 
6)金蝶的Apusic也是一個以JMX為內(nèi)核開發(fā)出的J2EE應用服務器。 

1.7 小結(jié)

本文詳細介紹了JMX規(guī)范。JMX體系結(jié)構分為四層,即設備層、代理層、分布服務層和附加協(xié)議API。但SUN當前只實現(xiàn)了前兩層的具體規(guī)范,其余的規(guī)范還在制定當中。JMX代理要和遠程應用程序通信,需要提供至少一個連接器和協(xié)議適配器。 
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JMX IN ACTION---第一章
第四章 用于穩(wěn)定資源的 MBeans
[JMX一步步來] 2、JMX簡介
Java?管理擴展(JMX)(Zz)
Spring的JMX支持
Java事件處理模式
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服