2012-04-29 98 views
3

我開發了一個基於JSF,EJB和JPA的應用程序。帶有ManagedBeans和Facelets的JSF方面位於war-module,我的EJB位於ejb-module。這不是一件大事,比如20頁,15個ManagedBeans以及很少的實體和EJB。這是我學士論文的一部分,其中一個要求是我需要使這個系統模塊化,我應該使用這種技術。OSGi的Java EE 6應用程序

所以我對OSGi的知識幾乎一無是處,幾個小時的谷歌搜索後,我沒有取得任何進展。所以我想問你,如何將這個應用程序劃分爲模塊?你能指點我一些教程或者文章描述了這樣一個過程嗎?因爲我沒有找到任何適合我的場景的東西。

它是專門用於管理大學學生項目的應用程序。所以有兩個角色,老師和學生。他們都可以創建項目,教師確認他們,學生將他們提交。

這裏是我的項目結構

ejb modulewar module

我不希望你當然給我一個完整的解決方案,但我會很高興,如果能給我一些開始。

非常感謝

回答

2

在nushell,OSGI模塊被提供爲軟件包,其可以被啓動,停止,而不會干擾應用的其他部分進行修改。

當你打破的情況下成束,你將有:

  1. 服務(在你的情況EJB)
  2. 服務定位(將由客戶在這種情況下使用像你的JSF,這可能是部分您的客戶端本身)
  3. 客戶端(您的情況爲JSF)

    i。根據項目的複雜程度,你也可能會把你的網站分成不同的包,比如view,dao e.t.c,但在你的情況下我不認爲這是必需的。

  4. 根據您在應用程序中可能具有的通用代碼,您可能也有一個共同的包。

一個很好的地方開始使用Java EE和OSGi是@Oracle Wiki

+0

感謝總結起來。我會聽從你的建議,但我還有一個問題。你認爲可以花多少時間將我的應用程序轉換爲OSGi項目?因爲我的時間已經過去了,所以我想估計一下:-)非常感謝你。 – 2012-04-29 16:24:49

+0

不要擔心不應該花費超過一兩天才能讓它爲您的項目工作:) – mprabhat 2012-04-29 16:26:46

+0

如果您使用的是glassfish,那麼它應該會更容易,因爲Oracle Wiki中的大多數示例都是關於glassfish – mprabhat 2012-04-29 16:28:45