2013-05-13 55 views
0

我想構建一個Android應用程序。我可以在Android應用程序中同時使用REST和SOAP嗎?

它有一個基於SOAP的Web服務,它需要使用這些數據。
我也有一箇中間件Worklight服務器實現。

來自Web服務的數據是巨大的,實際上所有的數據並不是一直需要的。我計劃使用中間件Worklight服務器來使用SOAP Web服務,而不是使用Android應用程序本身來解析數據,然後將所需位顯示爲RESTful服務和數據格式JSON而不是SOAP XML格式。

我認爲這將解決應用程序中巨大的XML數據的負載。這是一個好方法嗎?

+0

在幾種情況下,XML不會完全映射到JSON(例如,屬性文本節點)。但是有幾種工具已經將XML轉換爲JSON,並試圖平滑過程(Jettison,XStream,json-lib)。只要你理解了這個過程,那麼你的設計應該可以工作。只要理解中間處理步驟會減慢數據的檢索時間(所以你基本上認爲你的midtier可以比你的最終應用能夠更快地執行ETL來分析巨大的XML有效載荷)。 – Perception 2013-05-13 11:48:50

回答

0

我看到您的整體設計沒有問題,即從中間件服務器中的SOAP調用中消耗大量數據,然後僅顯示您的Android客戶端所需的特定內容。

它至少可以節省你Android設備上的帶寬(這真是一件好事),並且很可能是Android項目中的幾行代碼,因爲您的REST數據將根據您的特定用例進行量身定製。

JSON或XML?什麼更適合您的需求。

雖然我建議您查看版本控制REST服務。這是一個好的開始:Best practices for API versioning?

+0

謝謝Mike, 我打算在中間件服務器中解析XML數據並使用JSON與我的Android應用程序進行通信,因爲它使用少量代碼輕量級且更容易閱讀,我嘗試過使用示例與使用XML消息相比,我可以看到應用性能的顯着提升。 – 2013-05-16 05:44:21

相關問題