這可能聽起來類似於this,但事實並非如此。當您可以實現Web服務(SOA/REST)時,使用RMI實現EJB仍然有用嗎?
我有點理解EJB和RMI,而且我一直在SOA下使用Web服務。我想知道爲什麼使用EJB公開RMI下的遠程接口而不是發佈Web服務(SOA/REST,但主要是SOA)是有用的。我並不是問哪一個更好,只是我想知道爲什麼我更喜歡通過Web服務實現具有遠程接口的EJB。
我回顧了很多網頁,但都顯得過時。到目前爲止,我所擁有的是在與Java遺留系統集成時,暴露遠程接口的EJB只比WS更好。如果我想管理事務,我可以用本地接口實現EJB。另外我不認爲選擇EJB over RMI比Web Service接口更有效率。
我對不對?有什麼我失蹤?
真的在此先感謝。
謝謝,但之前將其標記爲已回答,第一個不會是一個有效的原因,因爲我可以使用暴露本地接口的EJB來實現Web服務嗎?所以交易是一樣的。 – 2012-04-17 20:16:59
的確,當您需要在一個事務中執行多個分離的調用時,問題就開始了。 Web服務通常是無狀態的,並且必須「手動」管理事務,這可能很麻煩。有狀態的EJB將免費提供。 – 2012-04-17 20:22:23
那麼,即使使用之前給出的最後一個原因,您也可以擁有有狀態的Web服務。所以我會考慮第二個和第三個原因,效率(有點我猜)和遺產。謝謝! – 2012-04-17 20:27:11