哪种 Web 应用程序架构可以很好地接收/发送 SMS 文本消息?我所说的“架构”是指特定的架构,而不是笼统的,比如 MVC。
背景:我正在构建一个网络应用程序,用于接收来自手机的查询/向手机发送答案。应用程序设计(和商业模式)期望通过 SMS 文本消息与手机设备进行通信。IOW:没有 MVC 网页“视图”。手机屏幕实际上是“视图”。
哪种 Web 应用程序架构可以很好地接收/发送 SMS 文本消息?我所说的“架构”是指特定的架构,而不是笼统的,比如 MVC。
背景:我正在构建一个网络应用程序,用于接收来自手机的查询/向手机发送答案。应用程序设计(和商业模式)期望通过 SMS 文本消息与手机设备进行通信。IOW:没有 MVC 网页“视图”。手机屏幕实际上是“视图”。
我会质疑这是否真的是一个网络应用程序。如果视图层是 SMS,则不必使用 Internet 作为传输,您可以使用硬件连接到手机网络。
如果您正在考虑使用商业 http/sms 网关,有一篇关于使用Rails 应用程序中的Ruby Clicktell gem的好文章。似乎是一个很好的尝试路线。
这取决于您将如何接收和发送 SMS 消息。
有一个特定的短消息协议(SMPP - http://en.wikipedia.org/wiki/SMPP)。为此,您将需要一个 SMPP 服务器。
如果您使用各种基于 HTTP 的 SMS 提供商之一(例如 Clickatell - http://www.clickatell.com),那么像 RoR 这样的 Web 框架就可以了,因为 SMS 消息的发送和接收实际上都是 Web要求。在这种情况下,您的系统视图是对网关的 HTTP 响应,而不是手机屏幕。实际上涉及很多步骤:
Cellphone -> Cellular Network -> Gateway -> Your Service
以及回复:Cellphone <- Cellular Network <- Gateway <- Your Service
在使用导轨之前,我已经制作了其中之一。我创建了一个预算跟踪器,我可以用我的手机向它发送命令。我用它来创建我需要在即将到来的薪水中购买/照顾的物品清单。当支票进来时,我会发送命令将每个项目从列表中标记出来。我还包括了查询列表的命令。这些命令看起来像“lc mar4”,用于在 3 月份的预算清单中创建第四个薪水。创建列表后,我可以在不指定列表的情况下发送命令,如果没有指定列表,我让脚本只将命令应用于最后一个列表,然后处理其他参数。“la court 50 p”也会在 mar4 列表中添加一个名为“court”的项目,其值为 50 和一个标签“p”,我称之为待定。当我在那个星期五处理法庭时,我可以发送“
我制作了一个空的 Rails 应用程序。制作了我的数据库架构和模型,但没有控制器。我在脚本中有一个脚本,其中包含一个 pop/ssl 库,我在某个地方找到了从我为此设置的 gmail 帐户下载电子邮件的地方。从那时起,这很容易,只需检查每条消息的新消息,确保它来自我的手机并解析消息并选择发回响应。(我已经将该电子邮件地址编程到我的手机中,并向该电子邮件地址发送了文本命令)。我添加了一个 cron 作业并将其设置为每分钟运行一次。
我不知道该架构是什么,但它基本上是一种查询第三方并根据响应执行不同操作的服务。如果您使用短代码进行了真正的 SMS,我现在会让您知道,我认为需要大量投资才能真正做到这些。通过 sms 网关使用电子邮件文本消息开始开发可能更容易。
我并不是说这是迄今为止最好的方法,将消息“推送”给我而不是每分钟检查一次会更酷,但是嘿,我只是想用我的手机来平衡我的预算。