<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    OSGi R4.2 Early Draft 評述

    隨著OSGi近兩年的迅猛發展,尤其是Java企業應用領域廠商對OSGi的認同,大家對于OSGi的新版規范的關注遠遠超過了之前的幾個版本,近來OSGi終于是放出了傳聞已久的R 4.2的Early Draft,其實從Early Draft來看,我覺得完全可以認為不僅僅是一個小版本的升級了,甚至可以認為是R5了,因為R 4.2增強的東西還是非常多的,其中就包括了大家期待已久的RFC119,不過沒看到傳說中的RFC66,有一丁點的失望,不過相信后面的Draft中應該會加上,:),這樣看來,R5更是值得期待了,讓我們先來一起品嘗一下4.2 Early Draft這道大餐。
    OSGi R 4.2 Early Draft中包括了這些方面:
    1、RFC 120 Security Enhancements
    這個部分是由BEA的人主導的,從規范來看,Bea自己新版的Weblogic中肯定是已經實現了規范的。
    個人對于OSGi Bundle這塊的安全控制的增強不是很感興趣,在這里就簡單說下這次規范增強的目標,BEA在使用OSGi做了新版的Weblogic后,碰到一個需求,就是Weblogic應該控制自己的package是不應該被其他部署在weblogic中的應用操作的,那這在以前OSGi的規范中是支持不了的,因此提出了對原來安全規范的增強,規范中講了具體做,不過因為自己不感興趣,也就沒仔細看了,感興趣的同學可以去下載看看。
    2、RFC 121 Bundle Tracker
    這個部分是由IBM的BJ Hargrave主導的,從名字相信大家就能猜出作用了,在OSGI R4中有Service Tracker,可以跟蹤OSGi Service的變化狀況,但在實際的使用過程中,確實會出現有需求是要跟蹤Bundle的生命周期的變化的,這個我記得之前有個同學也和我提及過這點,我記得當時我給了他一個借用OSGi Service來實現的方案,現在有了這個規范后大家以后就可以直接使用了。
    Bundle Tracker的用法和Service Tracker基本完全一樣,所以無需多講。
    3、RFC 125 Bundle License
    :(,又是一個不感興趣的增強,這個部分由OSGi著名人物:Peter Kriens主導,目標是為了能夠在Bundle的header信息中增加License信息,以便在安裝Bundle時就能夠知道這個Bundle是什么License機制的,例如LGPL、Apache等。
    做法就是在MANIFEST.MF中增加了一個Bundle-License的項。
    4、RFC 126 Service Registry Hooks
    這個部分由IBM的BJ Hargrave主導,這個部分推出的目的是為了能夠監聽指定Bundle中Service的變化情況,和以前的ServiceListener還是稍有差別,ServiceListener中只是監聽Service,而沒法知道是哪個Bundle中的Service。
    以后要監聽指定Bundle中的Service的變化,只要直接調用OSGi提供的PublishHook、FindHook、BindHook和EventHook就可以了。
    5、RFC 128 Accessing Exit Values from Applications
    這個部分由IBM的Thomas Watson主導,這個部分是為了增加新的OSGi Service:Application Admin Service而提出的,作用是用來得到應用的exit Value,就像我們在調用native command的時候,通過Process可以取到command的exit value一樣。
    6、RFC 129 Initial Provisioning Update
    這個部分由Peter Kriens主導,看起來好像是為了實現加載不同類型的資源的,不感興趣,所以沒仔細看。
    7、RFC 132 Command Line Interface and Launching
    這個部分由Peter Kriens主導,這塊成規范了,也不知道算好事還是壞事,個人覺得利弊都有吧,好處是以后不用管什么OSGi實現的Console都敲同樣的命令了,不像現在Equinox和Felix console的命令就不同,壞處是如果有規范中不支持的命令的需求就不好玩了,難道做的像unix shell那么強大?
    ...從規范來看真的是,這個OSGi Console可真的強大無比了,支持piping、scripting、后臺運行;支持多種方式連console,最重要的是,支持很容易擴展自己的命令;另外,在規范中還增加了OSGi Framework的啟動、停止、重啟腳本支持的規范,這倒是不錯,以后可以寫個groovy什么的來啟動Framework,指定需要加載的bundle什么的。
     這個規范還是有點意思的,至少實現了這個規范的Console出來后還是很爽的,比現在的好用很多了,而且功能也強大多了。
    8、RFC 134 Declarative Services Update
    這個部分由BJ Hargrave主導,只是對之前DS的一點小升級:
    允許自定義activate方法和deactive方法,其中activate方法的參數必須是ComponentContext或BundleContext,兩個都存在也可以,而deactive方法的參數必須是int/Integer或ComponentContext或BundleContext,或三者的任意組合,其中int是指deactive的原因,這點確實比以前好,可以知道原因了。
     Service-Component屬性值支持通配符了,這點真的太好了,我想用過Service-Component來指定加載component文件的同學都深有感觸吧,以后就可以這么寫了 Service-Component: OSGi-INF/*.xml
     Component配置中name屬性變為可選項;
     XML Scheme namespaces改變為:http://www.osgi.org/xmlns/scr/v1.1.0。
    -----------------------------------------華麗的分隔線-----------------------------------------
    說完上面這八點后,必須劃一條華麗的分隔線出來了,為什么呢,因為以下的三點是OSGi規范中里程碑式的動作,也算是EEG的動作終于要開始見成效了,以下三個規范是OSGi以往完全不存在的,也是為了企業應用而增加的,這樣OSGi能夠更好的被使用到企業應用中了。
    1、RFC 98 Transactions in OSGi
    這個部分主要由Peter Kriens和Pavlin Dobrev主導,所以這不是EEG的工作體現,這個部分是企業應用領域的同學們期待了很久的,不過最后的解決方案貌似會讓大家有些失望,最后的解決方案是使用JTA來進行實現。
    傳說中的更強的版本需要等待EEG提交到OSGi R5中。
    2、RFC 119 Distributed OSGi
    這個部分主要由IONA的Eric Newcomer和David Bosschaert主導,這個部分我期待已久,IONA作為基于OSGi實現分布式應用的先行者,確實有資格來做這塊的規范。
    這個規范的目標是:
    部署在JVM中的OSGi Bundle可以調用其他本地或遠程JVM中的OSGi Service;
    部署在JVM中的OSGi Bundle可以調用其他本地或遠程中非OSGi容器中的Service;
    其他程序可以調用JVM中的OSGi Service;
    說實話,對于規范中提出的做法,我持保留意見,規范中的做法是增加一個Distribution Software,由這個Distribution Software來負責對外提供各種各樣的訪問OSGi Service的方法,例如RMI、SOAP等等,另外,增加一個Discovery service,負責到指定的地址上去尋找OSGi Service。
    看過規范后,發現和自己想象的還是有一定的差距的,不過也是,分布式OSGi要做成規范我覺得還是比較困難的,畢竟分布式后各家公司關注的點就不同了,所以我還是認為Single JVM使用OSGi,然后分布式就各家根據各自的需求去實現,貌似這也是為什么SOA要落地做實現規范很難的原因,只能是架構層次的指導,其實我是比較希望OSGi規范中能增加一個OSGi本地方式提供給其他程序調用的方法,例如讓我可以在webwork中調用(就像spring的ApplicationContext一樣)、spring中調用,當然,自己做也可以做到,只是如果能被列入規范就更好了,不過仍然非常希望這個規范能幫助部分人,至少這樣使用OSGi的人還是會再度增加。
    3、RFC 124 A Component Model for OSGi
    這個部分由SpringSource的CTO:Adrian Colyer主導,真沒想到這個會被列入OSGi規范,因為覺得OSGi的Service-Oriented Component Model已經夠強了,那么來看看這個規范到底做了些什么吧。
    這個規范其實就是Spring-DM的規范,因為對Spring-DM還算熟悉,所以也只是粗略的看了下規范,不想在這里多講,而且不可否認,Spring-DM給OSGi進入企業應用領域確實帶來了很多的好處,只是我覺得這個規范的標題起的有點大了,好像是給OSGi新提出來的一樣,:(。

    享受完這道大餐后,應該說或多或少還是有些失望吧,畢竟最關注的兩個規范:RFC 66,沒出現;RFC 119,一般般,其他的規范嘛,更多的是一種錦上添花,:),不過仍然是進步,所以還是值得期待的,想想Console、Bundle Tracker、DS Update,也滿足了,:)

    ps:在最新OSGi官方的blog上,Peter相當興奮的寫到了一件事情,是關于各家Application Servers廠商都公開發布新聞稿,說明其AS是運行在OSGi或兼容OSGi的,其中包括有:IBM、Oracle weblogic、Paremus、Prosyst、JBoss、SpringSource、Sun Glassfish,同時Oracle和SAP都宣布將采用OSGi作為其下一代AS的基礎,雖然這些廠商用OSGi來做AS已經是很早以前就公開的事了,不過第一次這么多廠商一起來發布新聞稿來講這件事情還真的挺壯觀的,也說明了OSGi真的成為了AS界事實的工業標準了。

    OSGi R 4.2 Draft下載地址:
    http://www.osgi.org/download/osgi-4.2-early-draft.pdf
    讓Peter興奮的那篇文章,文章里面還有各家廠商闡述采用OSGi的理由以及對OSGi的評價:
    http://www.earthtimes.org/articles/show/world-leading-enterprise-application-server-providers,541827.shtml

    posted on 2008-09-22 00:53 BlueDavy 閱讀(5768) 評論(9)  編輯  收藏 所屬分類: OSGi、SOA、SCA

    評論

    # re: OSGi R4.2 Early Draft 評述 2008-09-22 14:54 flyisland

    越來越大了,不曉得會不會越來越復雜。

    那個Distributed OSGi,如果弄到好,就會跟ejb or sca形成競爭關系,加上transaction,OSGi就變成一個超級中間件了。

    呵呵,到時候大家就賣osgi server了  回復  更多評論   

    # re: OSGi R4.2 Early Draft 評述 2008-09-23 09:21 crasywilzon

    我覺得自定義Console命令挺實用的,可以自定義命令來管理測試Bundle,我以前都是自己寫的web客戶端來管理。
    昨天正好在ibm上看到一篇文章,里面的例子就用到了Console功能,當時覺得挺奇怪,今天看了你的文章,才知道原來它是最新規范里面的東西。  回復  更多評論   

    # re: OSGi R4.2 Early Draft 評述 2008-09-23 09:24 crasywilzon

    就是這篇文章中的例子用到了console功能
    http://www.ibm.com/developerworks/cn/java/j-lo-osgi/index.html  回復  更多評論   

    # re: OSGi R4.2 Early Draft 評述 2008-09-23 11:34 BlueDavy

    @crasywilzon
    恩,多謝提醒,這篇文章不錯的。  回復  更多評論   

    # re: OSGi R4.2 Early Draft 評述 2008-09-23 20:34 WamgJunmei

    你好BlueDavy:
    我現在正在學OSGI,參考的是《OSGI實戰》,能給我一些建議嗎?  回復  更多評論   

    # re: OSGi R4.2 Early Draft 評述[未登錄] 2008-09-25 12:55 coffee

    還再仔細研究r4 core.pdf中,研究完之前對一切不家評論,呵呵  回復  更多評論   

    # re: OSGi R4.2 Early Draft 評述 2008-10-17 11:54 祝融

    之前就比較困惑Spring-DM與OSGI DS之間的卻別,RFC 124 又會怎樣實現?拋棄DS?加強DS?OSGI又會和spring-dm如何結合?  回復  更多評論   

    # re: OSGi R4.2 Early Draft 評述 2009-01-13 22:58 農夫

    BlueDavy 你好,拜讀大作,我正在學習OSGI,有什么方式嗎?想請教些問題  回復  更多評論   

    # re: OSGi R4.2 Early Draft 評述 2009-02-10 09:50 Larry

    BlueDavy你好:
    我最近的項目需要有一小塊熱部署工作流的功能,我想問問,能不能把J2EE的整塊應用搬到OSGI上,比如JTA,CA,HIbernate,OSGI上能夠自己搞定Cluster等問題么?我現在很困惑。按照你這篇博克似乎可以以外掛的方式實現一小部分以OSGI熱部署的。希望看到你的回復!  回復  更多評論   

    公告

     









    feedsky
    抓蝦
    google reader
    鮮果

    導航

    <2008年9月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    統計

    隨筆分類

    隨筆檔案

    文章檔案

    Blogger's

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 永久免费av无码不卡在线观看| 亚洲国产精品日韩专区AV| 亚洲另类激情综合偷自拍图| 人成电影网在线观看免费| 国产一区二区三区在线免费| 亚洲精品V天堂中文字幕| 国产一区二区三区在线免费观看| 美女视频黄视大全视频免费的| 国产精品免费AV片在线观看| 毛片网站免费在线观看| 亚洲中文字幕久久精品无码VA | 亚洲国产成人精品激情| 成人特黄a级毛片免费视频| 日韩亚洲产在线观看| 国产免费拔擦拔擦8x| 人成免费在线视频| 亚洲av无码成h人动漫无遮挡| 97免费人妻在线视频| 亚洲 欧洲 日韩 综合在线| 亚洲成片观看四虎永久| 拍拍拍无挡免费视频网站| 亚洲成aⅴ人片久青草影院| 国产精品成人69XXX免费视频| 亚洲av无码精品网站| 无码国产精品久久一区免费| 免费观看亚洲人成网站| 国产亚洲av人片在线观看| 亚洲毛片在线免费观看| 美女黄频视频大全免费的| 久久精品国产亚洲一区二区| 国产成人午夜精品免费视频| 美女免费精品高清毛片在线视 | 亚洲精品免费视频| 日本免费中文字幕在线看| 中文无码日韩欧免费视频| 亚洲国产精品白丝在线观看| 91精品免费观看| 欧美色欧美亚洲另类二区| 久久亚洲精品中文字幕三区| 无码人妻一区二区三区免费| 亚洲精品视频免费观看|