1

我需要为在 Objective C 中完成的 iPad 应用程序构建一个后端。对此我有两种选择,一种是 Java,另一种是 C#。使用其中任何一个内置的后端,我必须将后端和前端放在一起的选项是什么?一种选择是使用 XML 消息传递。还有哪些其他选择?

另外,这样做的标准方法是什么?即如果我们有一个客观的 C 前端,那么后端应该在什么位置,两者之间应该使用什么通信机制?

我做了一些研究,确信 Java 或 C# 中的任何一个都可以工作,但我找不到太多关于如何让它们与前端一起工作的信息?(请记住其他人会做前端)

谢谢。

4

1 回答 1

3

你有几件事要考虑。有线协议和消息协议。

有线协议:

这将包含诸如消息 ID、发件人、主题、类型、时间戳、消息大小等内容。这与消息协议一样重要。为了推荐 Wire 协议,我需要更多地了解您的系统。如果您想要一个适用于所有这些平台的简单 Wire 协议,您可以查看 STOMP。它是一个简单的基于 ASCII 的消息传输协议。它对于调试消息等很有用。ActiveMQ 和 RabbitMQ 是支持 STOMP 的代理系统。我更喜欢 RabbitMQ。

简单的 STOMP 消息:

SEND
destination:/queue/a
content-type:text/plain

hello queue a
^@

您还可以将 HTTP 用作简单的有线协议。它很简单,并且像 STOMP 一样基于 ASCII。另外 SOAP 通常使用 HTTP 作为它的传输协议。SOAP 通常还使用 XML 作为其消息格式来编码消息的信封、标头和正文。

还有 JSON-RPC。

消息格式:

Wire 协议中的大部分信息用于确定消息的去向、是否到达那里、消息中包含什么类型的信息等。通常它仅由您放置的消息传递系统用于发送和接收消息. 您的业​​务逻辑感兴趣的是消息内容本身。您需要一种对双方都理解的内容进行编码的方法。有很多选择:JSON、XML、Google 的 protobuf(二进制)。

如果没有更多关于您需要做什么的知识,我将很难推荐其中的任何一个。他们每个人都有自己的长处和短处。

有线和消息协议的真实映射:

UPS、美国邮政、联邦快递 = 妈妈的电汇协议信、贷款申请、生日贺卡 = 信息

于 2012-04-08T15:43:37.190 回答