2013-05-13 52 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

相关问题