我有一个 java 后端,需要向在以下环境中运行的客户端公开服务:

  • J2ME
  • 视窗手机
  • iPhone

我正在寻找适合每个平台的最佳工具。
我不会寻找一种在任何地方都适用的技术。
我需要一些适合低速互联网访问的“轻型”东西。

现在我正在使用 SOAP。它很冗长并且不容易在移动设备上解析。问题是我还没有看到任何真正的替代方案。

是否有一种格式可以在这些平台之一上“开箱即用”?
我宁愿不使用臃肿的库,这会极大地增加应用程序的下载时间。

每个人似乎都同意 JSON。有没有人实现过基于 JSON 并运行 Objective-C、J2ME、Windows Mobile 的解决方案?

笔记 :到目前为止,最好的解决方案似乎是 Hessian。它在 Windows Mobile 和 Objective-C/iPhone 上运行良好。最大的问题是J2ME。Hessian 的 J2ME 实现有严重的局限性。它不支持复杂的对象。我写了另一个关于它的问题。

如果您有什么想法,非常欢迎。

有帮助吗?

解决方案

黑森州。 http://hessian.caucho.com. 。以多种语言(包括 ObjC)实现,超轻量级,并且不需要依赖 dom/xml 解析器来从线模型转换为对象模型。一旦我们发现了 Hessian,我们就忘记了我们曾经了解过 XML。

其他提示

JSON 相当紧凑,并且受到大多数框架的支持。您可以使用标准通过 HTTP 传输数据 休息 技术。

有 JSON 库 爪哇, 目标C, , 和 许多其他语言 (向下滚动)。在服务器端找到框架支持应该没有问题,因为 JSON 用于 Web 应用程序。

较旧的替代方案包括纯 XML 和 XML-RPC(类似于 SOAP,但更简单,并且具有适用于大多数语言的库)。

REST + XML 或 JSON 将是一个不错的选择。它在 RIA 世界中取得了长足的进步,它的美妙之处在于它的简单性。它非常易于使用,无需任何特殊工具。SOAP 有其优点,但它在有强大工具支持的环境中效果最佳。从你的问题来看我猜情况并非如此。

辅助 JSON。我 移植的Stringtree JSON 阅读器 到 J2ME。它是一个单类 JSON 读取器,可编译为 5KB 类文件,并将 JSON 结构直接映射为本机 CLDC 类型,如 Hashtable 和 Vector。现在我可以将同一台服务器用于桌面浏览器 AJAX 前端和 J2ME 客户端。

普通的旧式 XML(不幸的是,称为 POX)怎么样?

另一个非常有用的选择是 JSON. 。每种编程语言都有相应的库。

可能,由于您工作的环境在计算和网络资源方面都受到限制,并且使用静态类型语言,因此 Google 的 协议缓冲区 对你来说会是更好的选择。(忽略其中的 RPC 内容;RPC 是一种有吸引力的麻烦,而不是一种有用的技术。)

您的问题的问题在于,您没有提供有关这是什么类型的数据以及您的用例是什么的大量背景信息,因此除了非常模糊的一般性之外,很难说任何内容。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top