[英]Is still useful to implement EJB with RMI when you can implement Web Services (SOA/REST)?
這可能聽起來與此類似,但事實並非如此。
我有點理解EJB和RMI,而且我已經在SOA下使用Web服務了一段時間。 我想知道為什么使用EJB暴露RMI下的遠程接口而不是發布Web服務(SOA / REST,但主要是SOA)是有用的。 我不是在問哪一個更好,只是我想知道為什么我更喜歡通過Web服務實現帶有遠程接口的EJB的一個很好的理由。
我查看了很多網頁,但似乎都過時了。 到目前為止,我所擁有的是,在與Java遺留系統集成時,暴露遠程接口的EJB僅比WS更好。 如果我想管理事務,我可以使用本地接口實現EJB。 另外,我不認為選擇EJB over RMI比Web Service接口更有效。
我對嗎? 有什么我想念的嗎?
非常感謝提前。
如果是,EJB更好
為什么(REST)Web服務如此受歡迎? EJB只能連接到另一個Java應用程序。 大多數現代富Internet應用程序都是用JavaScript編寫的,因此將它們與任何后端連接的唯一方法是使用某種Web服務(通常是REST + JSON)。 對於這樣的應用程序,EJB很沒用。
如果使用RMI作為有線協議,則必須使用Java編寫客戶端和服務。
SOAP使用XML over HTTP,而REST使用純HTTP進行客戶端和服務之間的通信。 對話的任何一端都可以用任何可以通過HTTP發送適當請求的語言編寫,這種限制要少得多。
我認為這是HTTP上的Web服務勝過RMI的一個原因。 每次都是簡單而開放的勝利。
它們是用於不同目的的不同東西。
EJB用於緊密耦合的N層系統,您可以控制所有元素。 它們使用看似普通的方法調用,以及IIOP上的LAN類型性能或EE供應商已部署的任何其他協議,提供語言的直接編碼。
SOAP / REST最適合在Internet上使用,或者在B2B或其他無法控制兩端且需要松散耦合的情況下使用。 由於所有XML,您的性能會慢得多,但您也可以在中間獲得行業標准協議,從而為單一來源問題提供雙端保護。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.