創建企業Java EE應用程序時,必須將部分業務邏輯(如消息傳遞(MDB))放入EJB模塊中。但是,有些EJB可以放在EJB模塊或Web模塊中。我知道分離模塊允許Web層和業務層部署在不同的機器上。因此,我會將我的@Stateful
購物車EJB放入Web模塊中。然而,我想不出一個可以應用於每一項業務邏輯的標準標準,決定將EJB包含在哪裏。有沒有一個指導方針,標準或建議的做法呢?將業務邏輯放在Java EE企業應用程序中的位置
回答
這是我迄今發現的。
EJB模塊應該包含大型企業應用程序的業務邏輯核心。另一方面,Web模塊包含了一個完整的Web應用程序,該應用程序應該利用EJB模塊提供的業務引擎。通常,這些模塊分佈在不同的服務器上以用於較大的應用程序,除了需要使用駐留在EJB模塊中的核心業務邏輯提供的服務的Web應用程序之外,還有客戶端應用程序(例如Swing/JFX桌面應用程序)。
換句話說,一會就把業務邏輯獨立的EJB模塊中,如果:
- 它的目的是通過多個網絡或桌面應用程序中使用,或
- 縮放的考慮,可能會迫使核心業務邏輯要由不同的服務器處理
在其他情況下,可以將他的EJB放入Web模塊中,並將整個事件打包爲WAR文件。
的確,但是認識到將EJB bean從Web模塊中的包移動到他們自己的EJB模塊是微不足道的。因此,您可以從如此簡單的包開始,然後在您的應用程序足夠大或需要單獨部署業務層時移至模塊。 –
您發現的最後一部分,EJB可以放在WAR中,如果EJB模塊存在,那麼它使用EAR進行部署? EAR中的WAR和EJB?問候 – user75ponic
是的。 EAR(企業應用程序)由許多WAR(Web模塊)和一些JAR(ejb模塊)組成。當您的企業應用程序設計爲分佈在多個服務器(多個模塊)中時,這是適當的,但您希望在特定情況下將所有模塊部署在單個服務器上。但是,如果您不想在不同服務器之間分發模塊,則可以將所有EJB放在WAR文件中。 –
正如您在上一句中所述,這正是我所建議的:對於JEE6應用程序使用WAR包裝,因爲在大多數情況下您不需要EAR。
如果您需要在多個應用程序之間共享業務邏輯,那麼您可以將其部署爲單獨的模塊。但通常這樣的事情對於擴展的原因並不是必需的,因爲您也可以相應地調整運行WAR的應用程序服務器。
- 1. 何處在Spring Hibernate應用程序中放置業務邏輯?
- 2. 應用程序客戶端服務器Java EE(Java企業版)
- 3. 創建企業應用程序項目時無法將模塊添加到Java EE企業應用程序 - nullPointer
- 4. Java中的業務邏輯
- 5. 在Symfony2中放置業務邏輯的位置?
- 6. 具有獨立於ejb的業務邏輯的Java EE應用程序
- 7. ServiceStack,在哪裏放置業務邏輯?
- 8. 重用java業務邏輯
- 9. Java EE企業應用程序的自動升級
- 10. Java EE:使用bean將表示邏輯與業務邏輯分離
- 11. 應用程序邏輯與業務邏輯
- 12. 從WCF服務應用程序配置業務邏輯層
- 13. 業務邏輯
- 14. watchkit應用程序的企業配置?
- 15. 應將存儲過程業務邏輯放置在MVC中哪裏?
- 16. 存儲過程或應用程序中的業務邏輯
- 17. SharePoint與SiteCore實現中型企業的企業應用程序
- 18. 在.NET中的企業應用程序
- 19. NameNotFoundException Java企業應用程序
- 20. 企業iOS應用程序
- 21. 在應用程序包中安排業務邏輯
- 22. 業務層業務層的程序邏輯
- 23. 基於JSF的應用程序中的業務邏輯
- 24. 適用於非企業級客戶的企業應用程序?
- 25. Java EE - java企業版截屏視頻?
- 26. LWUIT在企業J2ME應用程序中?
- 27. Web應用程序中的業務邏輯安全
- 28. Netty中的業務邏輯?
- 29. Django中的業務邏輯
- 30. 在Jsp或業務邏輯中排序?
你能說出這些'商業邏輯'嗎? – 2012-10-29 08:08:15
- 處理通過消息收到的外部應用程序的報告,同時將它們推送到Web界面(通過Web界面進行實時監控)並將結果保存到數據庫。 - 我在問題中提到的購物車示例,以及處理從Web界面收集哪些詳細信息的客戶訂單。 - 基於用戶內容生成圖形和圖像。 - 根據用戶提供的參數在某些NoSQL數據源上生成查詢,運行查詢並處理結果以有意義的方式顯示。 這些只是樣本。 –