移动应用程序和Web服务数据传输(WCF和JSON)

时间:2011-07-21 19:22:31

标签: android json wcf mobile

我正在寻找一些最佳实践概念,就像在移动设备之间传输数据一样(Android现在,但概念也适用于其他设备)。我目前正在设置一个带有工作JSON端点的WCF服务。我开始使用适当的WebGet / Invokes等修改现有的服务方法,使其成为RESTful。该服务实现请求/响应模式,以便客户端和服务之间的所有通信都包含在复杂的MessageRequest和MessageResponse对象中。

让移动应用程序成功利用此模式的最佳方法是什么?我只能提出两种解决方案,每种解决方案各有利弊:

  1. 在客户端项目中创建所有数据传输对象,然后创建JSON / DTO映射器(GSON可能在此处运行良好)。使用客户端对象来处理所有客户端数据管理,直到需要服务器请求为止,转到DTO-to-JSON,然后将请求发送到服务器。这里的好处是,它使客户端数据管理变得更容易,因为它与服务域相似。缺点是这些有可能破坏对象变得越复杂。
  2. 忽略DTO客户端,直接从JSON完成所有操作。这里的好处是它消除了与较大对象和所需映射相关的开销。这里的缺点是,这让我觉得非常脆弱 - 对返回对象的任何更改都需要在代码中深入处理,而不是仅仅对客户端DTO和映射器进行更改。
  3. 有没有更好的方法来完成这种数据交换?或者这些是处理它的唯一真正方法吗?如何管理移动应用程序中的数据传输?

1 个答案:

答案 0 :(得分:0)

我有一个非常类似的WCF设置,我最终创建了非常轻量级的数据对象客户端。这些管理拉开了代表自己的JSONObject并创建了他们需要的任何子对象,但除此之外,简单的类主要用于将数据组合在一起并且不包含业务逻辑。我们还不需要进行任何客户端缓存,但是这些对象将是放入SQLite代码以保持自身状态的好地方。

到目前为止它运行良好,我们甚至能够通过包含org.json将客户端Android代码移植到另一个运行常规Java的项目。