2009-07-05 85 views
0

我目前正在學習關於Java EE,EJB3和J2EE的過程。到目前爲止,我正在運行一個JBoss應用程序服務器和一個Oracle數據庫。我寫了一個有狀態會話bean,它通過JPA實體從數據庫中檢索數據。Java EE示例項目

我的目標是通過調用有狀態bean中的方法讓一個簡單的客戶端與服務器通話。但是我沒有太多的經驗來了解這些bean應該如何細化,應該如何與我的實體bean進行交互等等。

我遠非完美,但書籍和簡單的教程不再真正的幫助。我查找了實際使用這些技術的開源項目,以瞭解如何設計我的應用程序。除了2006年的一個PetStore例子之外,網絡搜索並沒有帶來太多的進展。如果有人能夠指點我一些有用的資源,而不是一個真正的項目,但也許是更高級的例子,我會很高興。

回答

3

聽起來你正在尋找學習「這是什麼邏輯,以我的代碼EJB層「而不是」如何編寫EJB層「。

教科書的答案是「大多數業務邏輯應該在EJB層實現」。

實事求是地講,我會根據這個工作流程基礎上的東西我決定:

  1. 假設我的業務案例是 實現銀行賬戶查詢 服務。所以,我大致知道需要一個 AccountInquiryService。
  2. 通常,將調用該服務的主要頻道是 來自網絡層,即web 應用程序,其中用戶可以 對其賬戶執行查詢。
  3. 然而,代碼重用 的利益,我估計有可能是一個 的使用情況,在那裏我可能需要編寫一個 Java桌面客戶端,也 將進行賬戶查詢。
  4. 所以,我嘗試構建 AccountInquiryService使得 相同的方法適用於從 Web和桌面客戶端 層兩者。我不需要添加 不同的方法,只是爲了使 能夠使兩個通道都能正常工作。

對不起,如果我把你的問題的要點弄錯了。希望這可以幫助。

+0

你是對的,也許我的問題有點誤導。我閱讀了關於教科書的答案,並且您的示例已經發布,但它回答了我在發佈此問題之前解決的問題。我的問題在實施層面上有點進一步。更多關於Session Beans如何使用JPA實體。我需要多少會話Bean來做這樣的事情。 – sebastiangeiger 2009-07-05 15:39:20

1

我發現「EJB 3 In Action」一書對於理解如何開發你的bean非常有用。

+0

謝謝,我會在星期一查看它。 – sebastiangeiger 2009-07-05 15:39:51