自從一個月前我真的很難學習寧靜的web服務。 現在我已經練習了語法,並且理解了這些概念,我決定創建一個包含EJB,JPA和REST的非常簡單的企業應用程序。 我正在努力嘗試瞭解組織這種系統的最佳方式。如果有人在該領域有經驗可以給我一些關於什麼是最佳實踐的提示,那麼我很感激,我該如何解決我目前的問題。應該如何組織提供REST Web服務的JEE6企業應用程序?
讓我告訴你這張圖片。對不起,我不能得到更好的分辨率(使用Ctrl +鼠標向上滾動放大):
正如你可以看到這是一個非常簡單的應用程序的企業,有2個模塊。
此應用程序不使用CDI(我要實現我的目標沒有CDI的幫助和)
當某些客戶端(任何可互操作的客戶端)發送一個@GET一些參數的REST服務應該通過這些參數到EJB模塊,它將在數據庫中搜索併發回相應的數據。最後,服務將在JAXB的幫助下自動編組,並將.XML發送回客戶端。
我的問題有以下幾點:
- 我得到一個ClassCastException,因爲在該實體EJB模塊中不與JAXB類兼容的WebModule(即使它們的變量都相同)
- 我不知道應該怎麼組織,所以前端可以編組和解組這些實體。
- 也許實體類可能在前端與JAXB映射相結合?如果那樣的話,EJB模塊將不再需要。但事情是,我想要EJB模塊,因爲我經常在那裏做我的CRUD操作。
- 如何將EJB公開爲REST Web服務(製作混合)?你認爲這是一個好主意嗎?它如何幫助我?
- 同樣,如果我在Web模塊中創建JAXRS + EJB的混合,我將必須在前端創建我的JPA實體,這是我以前從未做過的事情。你認爲這是一個好習慣嗎?
- 你有什麼建議?通常使用REST Web服務的企業應用程序的組織方式是什麼?
我喜歡這個主意,因爲你使用的是混合方法聽起來很有趣。如果我理解的很好,你說我應該將實體(當前在EJB模塊中)的映射添加到web.xml中,而不是使用註釋,對吧? 但是EJB模塊呢?你能用一個如何做這些映射和在哪個文件中的例子來更新你的問題嗎?我有點困惑。 – sfrj 2012-04-05 18:58:49
@sfrj - JPA元數據將放入從'persistence.xml'文件引用的文件中。 – 2012-04-05 19:13:35
Tnx這個答案是非常有用的。 – sfrj 2012-04-09 09:54:41