2011-06-05 30 views
4

我有一個計劃,用OSGI框架重新實現我的一個小而有用的應用程序。我從來沒有使用它,所以我問是否適合在小應用上使用OSGI,並且在使用這種框架時速度和/或內存佔用量差別很大。此外,如果這是一個很好的選擇,我會問什麼實施最適合小應用程序。在小java應用上使用OSGI框架是否合適?

謝謝!

+0

什麼是你的**小應用程序**?在一個框架? 10個不同的框架?最適合的框架大多是您的開發人員(您)擁有最多經驗的框架。我想要學習OSGI,試試看。 – Thor 2011-06-05 08:28:01

回答

5

對於現代計算機系統,OSGi的速度和內存佔用完全沒有關係:請記住,OSGi是爲資源受限的設備開發的。內存佔用數量爲幾百kB,一旦服務解決完成,框架不會影響應用程序的速度(例如,沒有代理)。總之,在運行時不用擔心。

我喜歡OSGi應用程序通過強制您考慮模塊和服務來清理應用程序結構的方式。我將遠離模塊化和服務定位的所有好處,請記住它們同樣適用於小型應用程序和大型應用程序。嘿,你甚至可能會開始尋找可重用組件!

需要思考的包裝和運輸您的應用程序:這取決於你的觀衆,你可以只用船運一束束的,使用shell腳本讓系統去(例如使用Pax Runner)脫身,或者你可能需要投資更多的東西,比如帶有圖標的漂亮的應用程序包裝。

2

OSGi比regulare Java項目的開銷還要「小」。如果你想要版本控制,我會依靠Maven模塊。

如果您選擇OSGi apporach,請查看Eclipse插件的創建。這是基於Eclipse Equinox的,可以通過Eclipse提供的創建新項目的快速應用來快速應用於新項目。

祝你好運!

+0

看看bndtools。他們提供了一個非常簡單的方式來開始使用OSGi,包括並從Eclipse內運行應用程序。 – 2011-06-12 12:25:11

3

我使用karaf/iPOJO作爲OSGi容器,允許在應用程序運行時升級庫的版本。

但是,對於任何時候可以重新啓動的小應用程序,我都會盡可能簡單。

3

今天,OSGi基本沒有開銷,框架範圍從350k到1mb。在運行時,OSGi保持自己的方式。

你應該看看bndtools,它爲OSGi包提供了一個非常好的開發環境,包括啓動,調試和測試。您可以輕鬆地在框架之間切換。

您可以在Eclipse市場找到bndtools。

相關問題