簡體   English   中英

為什么以及何時使用基於EJB的Web服務?

[英]Why and when to use EJB-based web services?

為了通過Web服務通過數據接口將數據從一個系統傳輸到另一個系統,通常我們通過SQL查詢獲得一個結果集,並將其格式化為Web服務端點,並允許另一端進行檢索。

使用EJB 3.0,似乎我們可以用無狀態會話bean替換結果集。 那么,與基於SQL的Web服務相比,有什么優勢嗎? 而我們什么時候應該使用它呢?

在系統架構師級別上,這是一個非常廣泛的問題。 我將嘗試以我的最佳知識回答而不會引發火焰大戰(僅供參考,我使用過ejb和spring)。

如您所知,構建穩定/健壯的軟件應用程序需要許多構建基塊,例如日志記錄,連接池等。通常,您可以找到這些構建基塊的庫,但是並非所有庫都具有通用的api,因此它們可能需要集成。 在最壞的情況下,您可能必須鎖定某些供應商。 EJB 3(或Java EE)的主要思想是提供一組更完整的構建塊(通過API,注釋或配置),因此開發人員可以立即使用行業標准API / spec /來開始處理核心業務邏輯。無需經過專有API培訓即可進行配置。 此外,由於API / config確實是行業標准,因此您可以更改供應商而無需更改代碼(嗯,您的工作量在現實生活中可能會發生很大變化。希望新的Java EE可以解決此問題)。

您的應用程序可能已經具有EJB 3已經提供的一些主要元素。 但是,EJB 3承諾提供更多功能,例如ORM映射,RMI,負載平衡,故障轉移,事務,動態重新部署,日志記錄,系統管理,線程管理,資源池(數據庫連接),安全性,緩存。

當您已經有一個可以運行的應用程序時,您可以真正考慮將代碼遷移到標准系統以獲取更多功能而不是單獨集成新功能是否值得。 此外,EJB 3.0(或Java EE)並不是真正可以選擇的框架。 您還可以研究其他框架,例如Spring。

我的建議是真正弄清楚您的系統要求,然后選擇正確的技術,而不是先選擇最酷的技術。

祝好運

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM