TPF插件管理框架功能、實(shí)現(xiàn)以及下載

           

                 OSGi在應(yīng)用時(shí)具備了典型的微核系統(tǒng)的特點(diǎn),但對(duì)于實(shí)際項(xiàng)目/產(chǎn)品型的應(yīng)用而言,這個(gè)微核有些過(guò)于底層了,為什么這么說(shuō)呢?

          對(duì)于實(shí)際項(xiàng)目/產(chǎn)品型的應(yīng)用而言,何謂其微核呢,應(yīng)該說(shuō)其腳手架或開(kāi)發(fā)平臺(tái)才是它的微核,而并非僅僅是OSGi框架,當(dāng)然,也可以將自己的腳手架或開(kāi)發(fā)平臺(tái)以Fragment-Host的方式綁定到OSGiSystem Bundle上去,但這樣的做法無(wú)疑有些evil了,TPF誕生的最主要的目的就是形成一個(gè)應(yīng)用級(jí)的微核的概念,使得我們?cè)诠芾韺?shí)際的項(xiàng)目和產(chǎn)品時(shí),能夠?qū)⒛_手架和實(shí)際的業(yè)務(wù)應(yīng)用模塊分離管理,讓腳手架也變成微核,這樣在管理時(shí)就可以做到對(duì)應(yīng)用系統(tǒng)的統(tǒng)一管理,而同時(shí)保持一個(gè)含應(yīng)用意義的微核(也可以認(rèn)為是開(kāi)發(fā)平臺(tái))的穩(wěn)定運(yùn)行,在具備了TPF的情況下,就可以將應(yīng)用系統(tǒng)從部署上分為腳手架和應(yīng)用系統(tǒng),而在管理上也可以單獨(dú)對(duì)應(yīng)用系統(tǒng)進(jìn)行管理,如啟動(dòng)應(yīng)用系統(tǒng)、停止應(yīng)用系統(tǒng),同時(shí)避免應(yīng)用開(kāi)發(fā)人員對(duì)腳手架無(wú)意的修改。

                 在本篇文檔中將介紹TPF提供的功能、TPF實(shí)現(xiàn)的方法以及TPF的下載地址。

          功能

                 TPFweb形式來(lái)管理TPF中的插件,該web管理端提供了以下功能:

          l         插件的安裝

          在插件的安裝上TPF支持兩種形式:

          n         手工輸入插件的地址

          可用于實(shí)現(xiàn)位于服務(wù)器上的目錄形式的插件的安裝。

          n         選擇插件文件

          可用于實(shí)現(xiàn)遠(yuǎn)程安裝插件至服務(wù)器或安裝服務(wù)器上的插件,這些插件必須是zipjar格式的。

          上傳至服務(wù)器的路徑在TPFcn.org.osgi.tpf.webconsoleMANIFEST.MF中指定。

          l         插件的管理

          TPF僅管理通過(guò)TPF Web管理端安裝的插件,通過(guò)install方式在OSGi console中安裝的插件TPF將不進(jìn)行管理。

          TPF支持插件的啟動(dòng)、更新、停止、卸載的管理。

          l         插件MANIFEST.MF修改的支持

          TPF支持修改插件的MANIFEST.MF文件的內(nèi)容。

          l         應(yīng)用系統(tǒng)的管理

          TPF具備了應(yīng)用級(jí)微核的概念,因此TPF可支持應(yīng)用系統(tǒng)的管理,其實(shí)意思就是可以統(tǒng)一的對(duì)通過(guò)TPF部署的插件進(jìn)行管理:

          n         統(tǒng)一的啟動(dòng)TPF中的所有插件;

          n         統(tǒng)一的停止TPF中的所有插件;

          n         導(dǎo)出TPF中所有的插件的配置。

          這個(gè)功能使得只需要在一臺(tái)機(jī)器上完成了應(yīng)用系統(tǒng)的部署后,可以通過(guò)導(dǎo)出配置來(lái)生成TPF啟動(dòng)時(shí)的插件配置文件,這樣在其他機(jī)器上再部署時(shí)就不需要再通過(guò)插件管理端來(lái)部署插件了。

          l         遠(yuǎn)程應(yīng)用系統(tǒng)的狀態(tài)查詢

          TPF支持查詢遠(yuǎn)程部署至TPF的應(yīng)用系統(tǒng)的運(yùn)行狀態(tài)。

          l         遠(yuǎn)程應(yīng)用系統(tǒng)的管理

          TPF支持管理遠(yuǎn)程應(yīng)用系統(tǒng)的狀態(tài),可停止和啟動(dòng)遠(yuǎn)程的應(yīng)用系統(tǒng)。

          實(shí)現(xiàn)方法

          TPF的最重要的功能是要實(shí)現(xiàn)應(yīng)用級(jí)微核,要實(shí)現(xiàn)應(yīng)用級(jí)微核,就要讓TPF知道哪些是應(yīng)用系統(tǒng)的插件,只要知道哪些插件是需要列入TPF管理的就行了,對(duì)于這個(gè)問(wèn)題TPF通過(guò)在其web管理端安裝插件時(shí)將插件的信息寫(xiě)入至一個(gè)tpf.system.plugins文件來(lái)實(shí)現(xiàn),通過(guò)這樣的方法就可以使得TPF知道哪些插件是要管理的,TPF將記錄這些插件的id、啟動(dòng)順序、插件位置、插件名稱以及插件的狀態(tài),當(dāng)再次啟動(dòng)OSGi應(yīng)用時(shí),TPF將通過(guò)此文件來(lái)加載插件,此處要注意,這些插件并不是OSGi框架直接加載的,而是通過(guò)TPF來(lái)加載的,這樣有助于TPF來(lái)控制插件的啟動(dòng)過(guò)程、保持插件原有狀態(tài)等。

          在實(shí)現(xiàn)了應(yīng)用級(jí)微核概念的基礎(chǔ)上,TPF基于OSGiAPI實(shí)現(xiàn)了像插件的安裝、啟動(dòng)、停止、更新、卸載這些管理功能,基于文件操作的方式實(shí)現(xiàn)了對(duì)于Manifest.mf的修改。

          在遠(yuǎn)程系統(tǒng)的狀態(tài)監(jiān)控和管理上,TPF基于OSGi.org.cnaxis封裝模塊實(shí)現(xiàn)了與遠(yuǎn)程的OSGi應(yīng)用通訊從而獲取遠(yuǎn)程OSGi應(yīng)用的狀態(tài)并進(jìn)行管理。

          下載

          暫時(shí)還未把TPF歸入開(kāi)源的project中,感興趣的同學(xué)可以先從以下地址下載源碼和可運(yùn)行版本:

          源碼:

          http://www.bluedavy.com/opendoc/TPF-Source.zip

          可運(yùn)行版本:

          http://www.bluedavy.com/opendoc/TPF-dist.zip

          等將來(lái)把TPF歸入到OSGi.org.cn的開(kāi)源項(xiàng)目后,大家就可以通過(guò)svn來(lái)共同發(fā)展TPF項(xiàng)目了。

          后續(xù)版本

          目前版本的TPF對(duì)于大家來(lái)說(shuō)也許主要是webconsole部分的功能,而且更多的也許是,TPF在后續(xù)主要需要增強(qiáng)的是插件啟動(dòng)的控制上的管理、提供系統(tǒng)依賴的圖形化的分析以及遠(yuǎn)程TPF應(yīng)用的圖形化的監(jiān)控和管理等等。

          另外TPF在代碼級(jí)別也還有很多可完善的地方,在實(shí)現(xiàn)上也許可以不專門(mén)出現(xiàn)一個(gè)tpf.system.plugins,而是通過(guò)在MANIFEST.MF中擴(kuò)展出一個(gè)屬性來(lái)實(shí)現(xiàn)應(yīng)用級(jí)微核的概念,還有像將TPF的遠(yuǎn)程管理剝離開(kāi),以便不需要的話就可以不安裝此插件。

          TPF得到了一定的完善后,將會(huì)把它貢獻(xiàn)給OSGi Bundle Repository

          posted on 2007-10-05 19:48 BlueDavy 閱讀(10784) 評(píng)論(21)  編輯  收藏 所屬分類: OSGi、SOA、SCA

          評(píng)論

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2007-10-08 15:48 ff

          十分感謝~  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2007-10-10 11:39 man

          非常好!!....十分感謝!  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載[未登錄](méi) 2007-10-10 12:39 哈哈

          非常感謝!!!!  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2007-10-16 11:33 jerryyu

          請(qǐng)問(wèn)怎樣在eclipse環(huán)境中運(yùn)行呢?  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2007-10-16 14:16 BlueDavy

          @jerryyu
          把source導(dǎo)入eclipse里,然后就直接直接以Run Equinox Framework的方式來(lái)運(yùn)行了。  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2007-12-14 18:32 gembin

          什么是微內(nèi)核概念??  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載[未登錄](méi) 2008-01-11 10:44 jame

          //還有像將TPF的遠(yuǎn)程管理剝離開(kāi),以便不需要的話就可以不安裝此插件。

          是啊,系統(tǒng)中的axis與我另一Bundle中的axis有時(shí)候會(huì)產(chǎn)生沖突...

          MSN:jame_q@hotmail.com  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載[未登錄](méi) 2008-01-11 10:49 jame

          如果在linux中跑BundleInstallUtil中pluginUrlk的file:/協(xié)議好象有點(diǎn)問(wèn)題.

          目前我改成file:////才能在Linux與Win同時(shí)跑通...  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2008-01-13 23:25 BlueDavy

          @jame
          非常感謝你的提醒。  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載[未登錄](méi) 2009-04-12 22:05 Charles

          @BlueDavy
          請(qǐng)問(wèn)執(zhí)行后出現(xiàn) "警告: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled." 該如何解決

          管理網(wǎng)頁(yè)可以連結(jié), 但是沒(méi)有辦法看到安裝的bundle, 是因?yàn)樯鲜龅木娴年P(guān)系嗎?  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2009-06-12 10:20 Vicky

          HibernateModule是什么,是Hibernate插件么  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2009-07-07 10:18 Vicky

          為什么我安裝新插件,能夠上傳到服務(wù)器,但是顯示異常:【BUNDLEINSTALL】服務(wù)處理錯(cuò)誤,org.osgi.framework.BundleException: Error converting plugin at C:\Documents and Settings\Administrator\workspace\.metadata\.plugins\org.eclipse.pde.core\New_configuration\org.eclipse.osgi\bundles\26\1\bundlefile. at org.eclipse.core.runtime.internal.adaptor.EclipseStorageHook.generateManifest
          而且在已安裝插件中看不到已經(jīng)安裝的插件  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載[未登錄](méi) 2009-09-07 13:07 prince

          Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runt
          ime/adaptor/EclipseStarter
          Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.Ec
          lipseStarter
          at java.net.URLClassLoader$1.run(Unknown Source)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(Unknown Source)
          at java.lang.ClassLoader.loadClass(Unknown Source)
          at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
          at java.lang.ClassLoader.loadClass(Unknown Source)
          at java.lang.ClassLoader.loadClassInternal(Unknown Source)  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2009-12-14 11:51 sjrfox

          您好!上面的地址連接不上,能給一個(gè)可以下載的地址嗎??謝謝了  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2010-02-26 13:34 OSGI

          好東西呀,林老大把地址更新一下吧,現(xiàn)在下不了了。
          或者哪位有的話,能不能發(fā)給我一份,謝謝!
          xoiunt@gmail.com  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2010-02-26 14:42 BlueDavy

          @OSGI
          ? 地址已更新,應(yīng)該可以下載的。  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2011-03-31 15:33 savagechen11

          怎么訪問(wèn)這個(gè)webconsole呢?  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載[未登錄](méi) 2011-05-26 00:32 飛天

          @BlueDavy
          老大啊!!還是下載不了啊~ 不是說(shuō)地址更新了

          新的地址是什么呢??

          fasasas@gmail.com  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2011-11-18 10:38 santafeng

          您好!代碼寫(xiě)的很好,設(shè)計(jì)模式很棒。不過(guò)在最新版本eclipse下調(diào)試有問(wèn)題,AbstractController-processAction-ServiceReference[] serviceRefs=bc.getAllServiceReferences(WebCommand.class.getName(), "(command="+action+")");

          serviceRefs 是null的。

          謝謝。  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載[未登錄](méi) 2012-03-24 23:33 lk

          @santafeng
          同上  回復(fù)  更多評(píng)論   

          # re: TPF插件管理框架功能、實(shí)現(xiàn)以及下載 2015-08-23 21:22 shenmin

          下載鏈接失效了,沒(méi)法下載啊  回復(fù)  更多評(píng)論   

          公告

           









          feedsky
          抓蝦
          google reader
          鮮果

          導(dǎo)航

          <2009年9月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          統(tǒng)計(jì)

          隨筆分類

          隨筆檔案

          文章檔案

          Blogger's

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 彝良县| 汉中市| 古丈县| 丽水市| 边坝县| 陆良县| 武胜县| 大庆市| 吉木乃县| 佛坪县| 辽源市| 汉源县| 乳源| 青田县| 禹州市| 大竹县| 灵寿县| 西平县| 汝州市| 宣化县| 扎鲁特旗| 定南县| 莱阳市| 西平县| 塔河县| 奉新县| 和龙市| 瑞安市| 山西省| 武山县| 历史| 九龙县| 明溪县| 酉阳| 黔西县| 靖宇县| 营山县| 久治县| 惠安县| 罗定市| 专栏|