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

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

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

    Peter品評JSR277

    Peter對于JSR 277是極度的關注,畢竟JSR 277和OSGi在實現的目標上具備了那么多的共同性,從98年開始,Peter就希望能加入JSR 277 JCP Group,但是被拒了,JSR 277基本完全是SUN在主導的,經過這么多年了,JSR 277的草稿終于是發布出來了,Peter在對JSR 277做了Review后特意寫了篇Blog做了評價,總結而言,Peter認為JSR 277 just like a toy,JSR 277并沒有吸取OSGi在這8年模塊化方面的教訓和經驗,在模塊的一致性校驗、可選性、分離包機制等等方面都缺少足夠的考慮,原文見:
    http://www.osgi.org/blog/2006/10/jsr-277-review.html
    作為OSGi的主席,Peter在Java規范的模塊化和動態化絕對是具備足夠的發言權的,他對于JSR 277過分簡單的解決規范的模塊化的策略感到很遺憾,JSR 277采取的是一種類似OSGi Require-Bundle的機制來形成模塊,模塊在JSR 277中定義為以Module的形式來進行部署,對于Module的信息如(引用的模塊、對外暴露的包和資源文件等)則在MODULE-INF/METADATA.module中進行描述,每個標準的JSR 277模塊需要有一個Main類,在這個類中需要有一個Main方法,在觸發Main方法前,環境必須首先檢測此模塊所引用的模塊是否已OK,如沒有OK的話是不會啟動的,從這已經反應出了,JSR 277是不支持動態化的,在JSR 277中模塊不支持卸載,同樣,在運行期是無法改變模塊和加載新的模塊的,必須在停了VM后才能進行這些操作,OK,也許對于不是那么看重動態性的應用來講這點沒那么重要,但是JSR 277在規范的模塊化上做的實在是過于簡單,考慮欠周,為什么這么說呢?
    按照Peter說的幾點來看看:
    一致性校驗
    JSR 277中模塊是通過直接引用其他的模塊來形成依賴的,但它僅僅以模塊名以及版本來構成依賴,并未去解決一致性的問題,這樣說很晦澀,舉例來說:
    有A、B、C、D四個模塊:
    A 引用 B 1.0,C 1.0
    B 1.0?引用 D 1.1
    C?1.0 引用 D 1.0
    在JSR 277中這樣的情況下會出現A同時可看到D 1.0和1.1兩個版本下的類,自然就很容易產生沖突,這個相信大家早就對java中引用包沖突的現象恨之入骨了....
    可選性
    可選性這個顯然是因為JSR 277不支持動態性而形成的,Peter舉了個例子是這樣的:
    一個類可被作為Ant Task、Eclipse Plugin等多種形式來運行,在JSR 277為了讓這個類可以被各種各樣的方式運行,不得不把相關的包全部導入,而在OSGi中則不需要,可以通過optional的方式來動態的去加載所需要的包,這點對于大型應用而言是比較重要的。
    未提供包共享的機制
    JSR 277不是采用包共享的機制來實現模塊之間的類的共享,而是通過模塊引用的方式來實現,這個帶來的問題很明顯,平白的去多引用了不需要的東西,而JSR 277采用模塊引用這樣的方式也讓我們看到JSR 277并沒有充分考慮如何實現模塊之間的互動。
    Peter最后提及他非常不看好JSR 277,他覺得如果JSR 277能夠通過的話要么是因為各大廠商根本就不關心,要么就是因為SUN在這個規范中的主導地位。

    上面幾點是Peter所言,個人認為JSR 277作為模塊化的規范,應該為模塊的定義、設計、開發、部署都做到足夠的考慮,而以目前JSR 277來看,在模塊通信機制、模塊管理上缺乏完整的定義,而這些是一個模塊化的規范中最為根本和重要的東西,而OSGi中則提供了Bundle contains multiple components,Service-Oriented Component Model以及強大的動態化的Bundle管理API來實現模塊的通信和管理,至少從目前看來,OSGi的設計思想仍然是模塊化設計系統的一種很好的指導思想。

    ps: 在明年的Eclipse大會上將會專門有OSGi的專題部分,而且在看Eclipse 3.3的feature中可以發現Eclipse 3.3很重視對于基于OSGi開發系統更好的支持 :)

    posted on 2006-10-20 22:39 BlueDavy 閱讀(2584) 評論(8)  編輯  收藏 所屬分類: OSGi、SOA、SCA

    評論

    # re: Peter品評JSR277 2006-10-21 12:58 dogstar

    sun就愛自己弄一套,這樣也有好處。當選擇osgi的時候有了一個對比的對象,這樣更容易選擇osgi。呵呵。從這一點上看來,sun的作用還是非常重要的。。。  回復  更多評論   

    # re: Peter品評JSR277 2006-10-21 17:15 破門

    @dogstar 強。:)
    的確,沒有參照物,不太容易知道好的究竟有多好。呵呵  回復  更多評論   

    # re: Peter品評JSR277 2006-10-24 17:09 swanliu

    似乎樓主研究過模塊化的理論

    我有一個維護了2年的系統,
    代碼里很多地方在調用其他類、模塊、系統、但沒有經過考慮、登記、審批,使各模塊依賴關系不明確。存在無比巨大隱患。。。

    前面樓主提到的osgi的模塊化規范,請問我讀了以后是不是有助于解決這類問題  回復  更多評論   

    # re: Peter品評JSR277 2006-10-25 15:12 小小涼粉

    BlueDavy兄,有沒有興趣和時間一起組織翻譯一下OSGI的Core specification???  回復  更多評論   

    # re: Peter品評JSR277 2006-10-25 19:14 BlueDavy

    @swanliu
    呵呵,建議讀讀


    @ 小小涼粉
    有這個想法,不過一直沒行動..  回復  更多評論   

    # re: Peter品評JSR277 2006-10-25 21:13 小小涼粉

    @BlueDavy

    可不可以一起行動啊?  回復  更多評論   

    # re: Peter品評JSR277 2006-10-26 16:51 小小涼粉

    我可以先翻譯出來某一節

    然后我們可以到滿江紅上提出這個建議

    看看有沒有人愿意一起參加進來

    你看如何?  回復  更多評論   

    # re: Peter品評JSR277 2006-10-26 23:18 BlueDavy

    @ 小小涼粉
    嗯,好建議,完全支持。  回復  更多評論   

    公告

     









    feedsky
    抓蝦
    google reader
    鮮果

    導航

    <2006年10月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    統計

    隨筆分類

    隨筆檔案

    文章檔案

    Blogger's

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲av无码专区在线观看素人| 最近中文字幕mv免费高清视频8| 亚洲成人中文字幕| 一区二区在线视频免费观看| 国产免费人人看大香伊| 无码乱人伦一区二区亚洲| 亚洲日韩国产欧美一区二区三区| 亚洲人成网国产最新在线| 18禁黄网站禁片免费观看不卡| 青青草无码免费一二三区| 亚洲色图国产精品| 免费看男女下面日出水来| 亚洲高清一区二区三区| 在线免费观看a级片| 精品久久久久久亚洲综合网| 午夜精品免费在线观看| 中文字幕亚洲综合精品一区| 黄色免费在线网站| 成全视频免费高清| 最新亚洲人成网站在线观看| 亚洲精品无码专区久久同性男| 亚洲精品国产福利片| aa午夜免费剧场| 亚洲高清专区日韩精品| 免费无码VA一区二区三区| 亚洲综合小说久久另类区| 成人毛片18女人毛片免费96| 中文字幕亚洲综合久久| 黄瓜视频高清在线看免费下载| 亚洲人成网址在线观看| 1000部免费啪啪十八未年禁止观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 在线看片无码永久免费aⅴ | 麻豆精品国产免费观看| 极品美女一级毛片免费| 亚洲无人区一区二区三区| 18级成人毛片免费观看| 亚洲视频一区调教| 午夜免费福利影院| 亚洲人片在线观看天堂无码| 在线观看成人免费视频不卡|