OSGI之 Eclipse 外掛使用OSGI

iteye_4663發表於2012-04-13
由於工作需要,下午花了點時間仔細瞭解了一下OSGI和如何在eclipse下使用它。

[b]一、它們是什麼?[/b]
[b]**OSGI是什麼?[/b]
1.它是一個標準,一個框架。
2.OSGi技術是面向Java的動態模型系統。OSGi服務平臺向Java提供服務,這些服務使Java成為軟體整合和軟體開發的首選環境。

Java提供在多個平臺支援產品的可移植性。OSGi技術提供允許應用程式使用精煉、可重用和可協作的元件構建的標準化原語。這些

元件能夠組裝進一個應用和部署中。
[b] **外掛是什麼?[/b]
1.即一種工具,eclipse也就是一個外掛集。
2.外掛是為系統提供功能的程式碼和/或資料的結構化包。可以以程式碼庫(帶有公共 [應用程式介面] API 的 Java 類)、平臺擴

展甚至文件的形式來提供功能。外掛可以定義擴充套件點、定義良好的位置,其他外掛可以在這些位置新增功能。
[b]二、為什麼要用他們?[/b]
[b] **為什麼用OSGI?[/b]
1.是軟體功能程式碼模組化。將軟體模組化後,就可以分配獨立的團隊去處理獨立的模組,從而將資源合理分配。這樣既便於管

理,又會降低整個軟體的設計的複雜性。
2.自Eclipse3.0開始,Eclipse就引入了OSGi作為底層核心,許多人也可能就以為Eclipse中的Plugin(注:eclipse中外掛包含

兩部分即plugins和feature)與OSGi的 Bundle(注:bundle即元件)兩者是等價的。事實上Eclipse從來都沒有放棄自己開發的整

套Plugin機制,這兩者也並不等價,其實Plugin是對bundle的 包含和擴充套件。
OSGi的Bundle是一個非常好的規範,它突破了Java中預設以包為封閉單元的不足,同時也賦予了模組化,以及生命週期管理

,所以它更像一 個黑盒模組的規範。因為它的優秀,Eclipse才會選擇它作為Kernal,但是它同樣存在一個比較大的問題,所以

Eclipse才將它的Bundle 機制加以擴充套件,以滿足自己的需要,這就是它的Plugin。
[b] **為什麼用外掛?[/b]
1.eclipse本身就是一個外掛集合,好處也就不言而喻了。eclipse的優點即外掛的優點。
[b]三、怎麼用它們[/b]
1.開發人員在接觸一個新知識新技術時,我個人覺得就是兩點,一就是大概瞭解一下它的概念和發展歷史,二就是寫一個測試類

,如helloworld
2.接下來就瞭解一下OSGI
有比較多的步驟,我沒有截圖,我是參考下面的例子做的
步驟參見:[url]http://wenku.baidu.com/view/685e04a1284ac850ad02429c.html[/url]


本文參考連結:[url]http://www.ibm.com/developerworks/cn/opensource/os-ecl-osgi/index.html[/url]

相關文章