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

Posted

技术标签:

【中文标题】通过 XMPP 设计架构从移动应用中查询数据【英文标题】:Query data from mobile-apps via XMPP Design Architecture 【发布时间】:2016-09-22 01:44:34 【问题描述】:

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

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

问题是:

如何通过 XMPP 从移动应用中查询一些数据 (something like RPC)?什么是正确/理想的架构?

我正在考虑创建一个始终连接到 XMPP 服务器的 Windows 服务应用程序,充当数据库事务的 API。所以这就像移动应用程序向serviceapi@server 发送了一个聊天/请求,Windows 服务用JSON/XML 回复它。

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

是的,我已经成功地将我的移动应用程序与 xmpp 服务器直接通信。但是,我想从我的内部数据库(除了 openFire 数据库)中检索我的自定义数据。例如:我想查询一个报表表,所以我可以在手机中显示为图表。对不起,如果我不够清楚 那么你到底在哪里发现问题?

以上是关于通过 XMPP 设计架构从移动应用中查询数据的主要内容,如果未能解决你的问题,请参考以下文章

XMPP App Engine 服务不适用于移动 Gtalk 应用 [关闭]

使用 XMPP 与移动应用程序进行频繁通信

将 HTTP 客户端切换到 CCS (XMPP) 客户端

xmpp ejabberd - 查询用户存在

从 chrome 浏览器打印错误地应用来自媒体查询的移动类

流行移动web技术发展与应用