TPF插件管理框架功能、實現以及下載
OSGi在應用時具備了典型的微核系統的特點,但對于實際項目/產品型的應用而言,這個微核有些過于底層了,為什么這么說呢?
對于實際項目/產品型的應用而言,何謂其微核呢,應該說其腳手架或開發平臺才是它的微核,而并非僅僅是OSGi框架,當然,也可以將自己的腳手架或開發平臺以Fragment-Host的方式綁定到OSGi的System Bundle上去,但這樣的做法無疑有些evil了,TPF誕生的最主要的目的就是形成一個應用級的微核的概念,使得我們在管理實際的項目和產品時,能夠將腳手架和實際的業務應用模塊分離管理,讓腳手架也變成微核,這樣在管理時就可以做到對應用系統的統一管理,而同時保持一個含應用意義的微核(也可以認為是開發平臺)的穩定運行,在具備了TPF的情況下,就可以將應用系統從部署上分為腳手架和應用系統,而在管理上也可以單獨對應用系統進行管理,如啟動應用系統、停止應用系統,同時避免應用開發人員對腳手架無意的修改。
在本篇文檔中將介紹TPF提供的功能、TPF實現的方法以及TPF的下載地址。
功能
TPF以web形式來管理TPF中的插件,該web管理端提供了以下功能:
l 插件的安裝
在插件的安裝上TPF支持兩種形式:
n 手工輸入插件的地址
可用于實現位于服務器上的目錄形式的插件的安裝。
n 選擇插件文件
可用于實現遠程安裝插件至服務器或安裝服務器上的插件,這些插件必須是zip或jar格式的。
上傳至服務器的路徑在TPF的cn.org.osgi.tpf.webconsole的MANIFEST.MF中指定。
l 插件的管理
TPF僅管理通過TPF Web管理端安裝的插件,通過install方式在OSGi console中安裝的插件TPF將不進行管理。
TPF支持插件的啟動、更新、停止、卸載的管理。
l 插件MANIFEST.MF修改的支持
TPF支持修改插件的MANIFEST.MF文件的內容。
l 應用系統的管理
TPF具備了應用級微核的概念,因此TPF可支持應用系統的管理,其實意思就是可以統一的對通過TPF部署的插件進行管理:
n 統一的啟動TPF中的所有插件;
n 統一的停止TPF中的所有插件;
n 導出TPF中所有的插件的配置。
這個功能使得只需要在一臺機器上完成了應用系統的部署后,可以通過導出配置來生成TPF啟動時的插件配置文件,這樣在其他機器上再部署時就不需要再通過插件管理端來部署插件了。
l 遠程應用系統的狀態查詢
TPF支持查詢遠程部署至TPF的應用系統的運行狀態。
l 遠程應用系統的管理
TPF支持管理遠程應用系統的狀態,可停止和啟動遠程的應用系統。
實現方法
TPF的最重要的功能是要實現應用級微核,要實現應用級微核,就要讓TPF知道哪些是應用系統的插件,只要知道哪些插件是需要列入TPF管理的就行了,對于這個問題TPF通過在其web管理端安裝插件時將插件的信息寫入至一個tpf.system.plugins文件來實現,通過這樣的方法就可以使得TPF知道哪些插件是要管理的,TPF將記錄這些插件的id、啟動順序、插件位置、插件名稱以及插件的狀態,當再次啟動OSGi應用時,TPF將通過此文件來加載插件,此處要注意,這些插件并不是OSGi框架直接加載的,而是通過TPF來加載的,這樣有助于TPF來控制插件的啟動過程、保持插件原有狀態等。
在實現了應用級微核概念的基礎上,TPF基于OSGi的API實現了像插件的安裝、啟動、停止、更新、卸載這些管理功能,基于文件操作的方式實現了對于Manifest.mf的修改。
在遠程系統的狀態監控和管理上,TPF基于OSGi.org.cn的axis封裝模塊實現了與遠程的OSGi應用通訊從而獲取遠程OSGi應用的狀態并進行管理。
下載
暫時還未把TPF歸入開源的project中,感興趣的同學可以先從以下地址下載源碼和可運行版本:
源碼:
http://www.bluedavy.com/opendoc/TPF-Source.zip
可運行版本:
http://www.bluedavy.com/opendoc/TPF-dist.zip
等將來把TPF歸入到OSGi.org.cn的開源項目后,大家就可以通過svn來共同發展TPF項目了。
后續版本
目前版本的TPF對于大家來說也許主要是webconsole部分的功能,而且更多的也許是,TPF在后續主要需要增強的是插件啟動的控制上的管理、提供系統依賴的圖形化的分析以及遠程TPF應用的圖形化的監控和管理等等。
另外TPF在代碼級別也還有很多可完善的地方,在實現上也許可以不專門出現一個tpf.system.plugins,而是通過在MANIFEST.MF中擴展出一個屬性來實現應用級微核的概念,還有像將TPF的遠程管理剝離開,以便不需要的話就可以不安裝此插件。
在TPF得到了一定的完善后,將會把它貢獻給OSGi Bundle Repository。posted on 2007-10-05 19:48 BlueDavy 閱讀(10776) 評論(21) 編輯 收藏 所屬分類: OSGi、SOA、SCA