我在使用基於EJB 3技術的應用程序時發生了一些問題。如何拆分SFSB Facade?
我想在會話bean中使用Facade模式來將我的客戶端(Web應用程序)與我的Entity Beans分離。
我正在使用SFSB來管理用戶會話。
所以我有一個FacadeLoginRemote
遠程接口,它公開到客戶端的方法doLogin()
,doLogout()
,等等 目前這款SFSB還包括一些其他的方法,如getCourse(int id)
,getResource(int id)
。並非所有用戶都可以實際上獲得課程和獲取資源,因此Facade在將值返回給客戶端之前執行一些檢查。
我想拆分Facade,把方法getCourse()
和getResource()
放在一個特殊的類中,但是留給FacadeLoginRemote
檢查用戶權限的功能。
如果我製作了一些不同的SLSB,我會將它們公開給客戶端。所以客戶可以直接連接到他們,避免從FacadeLoginRemote
進行檢查。
我錯了嗎?有沒有辦法做到這一點?
由於提前,
安德烈建議
是的,你是對的網絡和業務層。他們在同一個JVM上工作。我使用遠程接口是因爲我正在考慮開發可能的桌面或移動客戶端應用程序。所以JVM會有所不同。 正如你猜測的那樣,我實現了`doLogin()`來做一些定製認證操作,我的目標是將這個認證傳播到其他bean。 我將檢查有關安全性的EJB註釋。感謝您的回答。 – Andrea 2011-01-10 07:45:32