通过 XMPP 设计架构从移动应用程序查询数据

Query data from mobile-apps via XMPP Design Architecture

我构建了一个移动应用程序(其中具有聊天功能),该应用程序使用 .NET Web 服务充当 API 我的数据库的所有事务。

我看到:HTTP 请求的性能不是很灵敏,所以我尝试使用 Openfire XMPP 创建一个小型聊天应用程序,性能非常令人信服。

问题是:

如何通过 XMPP 从移动应用程序查询一些数据 (something like RPC)? correct/ideal 的架构是什么?

我正在考虑创建一个始终连接到 XMPP 服务器的 windows 服务应用程序,作为 API 与数据库进行交易。所以这就像移动应用程序向 serviceapi@server 发送了一个 chat/request 并且 windows 服务用 JSON/XML.

回复它

假设您使用的是 xmpp 和 openfire,以下几点可以帮助您构建架构:

  1. 您的移动应用程序可以直接与 xmpp 通信以发送和接收消息。 您不需要服务器端的任何网络服务来发送或接收消息。(您需要确保用户已在 openfire 上注册)
  2. 如果您需要检索旧邮件,则需要安装监控服务插件以启用邮件存档。
  3. xmpp还提供了用户的在线状态,所以你可以用它来实现类似whatsapp的在线显示功能。

P.S:如果您能更具体地说明您对架构的要求,那么我可以再补充几点。