在開發分佈式應用程序時,所有由同一家公司用Java編寫的應用程序是否會選擇Web服務還是RMI?在性能,鬆散耦合,易用性等方面有什麼優點和缺點?有人會選擇WS嗎?你能用RMI構建一個面向服務的體系結構嗎?在純Java環境中,Web服務和RMI有哪些優缺點?
回答
我會去想想這樣說:
你要運行相互獨立下的服務,這些服務可以通過非Java應用程序在未來的某個時候訪問?然後去尋找網絡服務。
你只是想在幾臺服務器上傳播應用程序的部分內容(介意單數)嗎?然後去RMI,你不必離開Java的宇宙,讓所有的東西緊密結合在一起工作。
我會選擇WS。
- WS/RMI不太可能成爲您的瓶頸。
- 爲什麼要關閉未來其他可能的技術的大門?
- 如果客戶端/服務器上的類版本不同步,則RMI可能會有問題。
而且......我很可能會選擇REST服務。
在實際測量之前,您無法分辨是否不太可能。 – 2012-08-07 10:31:00
我的選擇是:
標準Java序列化 - 優點:恕我直言提供最佳性能,易於執行(我使用Spring來暴露本地接口遠程之一);缺點:序列化不不同的JVM版本
之間工作二進制序列(從碼頭例如粗麻布) - 優點:相同的性能與Java序列化和不同的JVM版本
之間工作WS:僅當有一個需要不同平臺之間的互操作性java + .net,否則就是太重量級了。
RMI是一種快速發展的交通工具,但我建議不要在生產環境中使用它。序列化兼容性問題會讓事情變得尷尬,您必須非常仔細地協調您的部署。
WebServices效率不高,是的,但只是通過它的硬件。或者,使用普通的輕量級XML-over-HTTP,而不是全脂肪SOAP/WSDL。
如果你不需要它(與非Java互操作),而你可能不是,RMI會更好;代碼少,配置少,帶寬開銷少。
一個選項,如果你害怕你會需要它是使用EJB3;它使用RMI,非常易於安裝和部署,還可以讓您在需要時輕鬆將您的呼叫轉換爲Web服務。
無論你做什麼,做不是創造你自己的東西;堅持一個標準。
應用程序可能未在支持EJB的環境中運行 – 2012-08-07 10:31:40
- 1. Web服務vs EJB vs RMI,優點和缺點?
- 2. 使用java rmi的優點和缺點
- 3. Web服務vs DLL;優點和缺點?
- 4. Web服務vs WCF,優點和缺點
- 5. Solr和ElasticSearch有哪些優缺點?
- 6. 在Qt中,設置環境變量有哪些不同的方法,有哪些優缺點?
- 7. 企業庫的Msmqdistributor服務有哪些優缺點?
- 8. DevExpress Reports有哪些優點/缺點?
- 9. 使用SQLDataReader有哪些優點/缺點?
- 10. 開源REST Web服務技術有哪些優點?
- 11. 春天RMI服務器和純Java RMI客戶
- 12. C#中的類型推斷有哪些優點和缺點?
- 13. 在SQL服務器查詢中關閉NOCOUNT有哪些優缺點?
- 14. 使用GAC有哪些優缺點?
- 15. 使用boost :: iterator_facade有哪些優缺點?
- 16. 屬性模式有哪些優缺點?
- 17. RDB2RDF工具有哪些優缺點?
- 18. 使用Django模板系統服務CSS和JavaScript有哪些優缺點
- 19. 認知服務OCR優點和缺點
- 20. Web服務器端Keep-Alive的優點和缺點
- 21. Java RMI服務器在哪裏監聽?
- 22. 在單個Web Service中使用更多WebMethod有哪些優缺點?
- 23. 使用不同環境的優缺點
- 24. 在AngularJS中使用Jquery UI有哪些優缺點?
- 25. 在Excel-DNA中標記函數IsMacroType有哪些優缺點?
- 26. 在硒中使用「xpath」有哪些優缺點?
- 27. 在grails域類中編寫類方法有哪些優缺點?
- 28. .NET 4服務器環境中的並行命名空間 - 優缺點?
- 29. 用於Node.js模板的Jade和EJS有哪些優缺點?
- 30. 泛型列表(類型)和集合有哪些優缺點
好的方法來思考它。另外,不要忘記爲了查找服務而必須運行RMI註冊表所涉及的額外複雜性和麻煩。這至少是一個開放的附加端口,最糟糕的是託管該註冊表的問題。 – 2008-09-23 14:15:52