2008-09-29 15 views
5

Quelle architecture d'application Web fonctionne bien pour recevoir/envoyer des SMS? Par "architecture", je veux parler de l'architecture spécifique, pas généralement, telle que MVCRoR + SMS: Rails architecture de l'application web pour envoyer/recevoir des SMS?

Contexte: Je construis une application web qui reçoit des requêtes de/envoie des réponses à des téléphones portables.La conception de l'application (et le modèle d'affaires) s'attend à communiquer avec des appareils cellulaires par message texte SMS IOW: Il n'y a pas de «vue» de la page Web MVC L'écran du téléphone cellulaire est effectivement la «vue»

Répondre

2

Cela dépend de la façon dont vous recevrez et enverrez les messages SMS.

Il existe un protocole de message court spécifique (SMPP - http://en.wikipedia.org/wiki/SMPP).. Pour cela, vous aurez besoin d'un serveur SMPP

Si vous utilisez l'un des différents fournisseurs SMS sur HTTP (tels que Clickatell - http://www.clickatell.com), un framework web tel que RoR est très bien car l'envoi et la réception de SMS sont en fait des requêtes web. Dans ce cas, votre vue système est la réponse HTTP à la passerelle, pas l'écran du téléphone portable. Il ya en fait pas mal d'étapes: Cellphone -> Cellular Network -> Gateway -> Your Service et la réponse: Cellphone <- Cellular Network <- Gateway <- Your Service

3

Je voudrais savoir si c'est vraiment une application web. Si la couche d'affichage est SMS, vous n'avez pas besoin d'utiliser Internet comme moyen de transport, vous pouvez utiliser du matériel pour vous connecter au réseau de téléphonie cellulaire.

Si vous envisagez d'utiliser une passerelle http/sms commerciale, il existe un good article sur l'utilisation du Ruby Clicktell gem à partir d'une application Rails. On dirait que c'est un bon itinéraire à essayer.

+0

le lien vers "bon article" est cassé – thesummersign

+0

Oui, l'arrêt de Gem est supporté https://github.com/lukeredpath/clickatell – MattMcKnight

1

J'en ai fait un avant d'utiliser des rails. J'ai créé un tracker budgétaire que je pourrais envoyer des commandes avec mon téléphone portable. Je l'ai utilisé pour créer une liste d'articles dont j'avais besoin pour acheter/prendre soin de la paie à venir. Lorsque le chèque est arrivé, j'envoyais des commandes pour marquer chaque élément de la liste. J'ai inclus des commandes pour interroger une liste aussi bien. Les commandes ressemblaient à "lc mar4" pour créer le quatrième chèque de paie dans la liste budgétaire de mars. Une fois qu'une liste a été créée, je pourrais envoyer des commandes sans spécifier la liste et j'ai fait que le script applique simplement la commande à la dernière liste si aucune liste n'a été spécifiée et n'affecte les autres arguments. "la court 50 p" ajouterait aussi à la liste mar4 un item nommé "court" avec une valeur de 50 et un tag "p" que j'ai appelé en attente. Quand je me suis occupé du tribunal ce vendredi, je pouvais envoyer "lu court 50 d" qui mettrait à jour l'article du tribunal avec la même valeur avec l'étiquette "d" pour fait. J'avais une commande appelée "lp" qui imprimerait la liste actuelle. "lp d" afficherait tous les éléments marqués "d" sur la liste actuelle. "lsum p" imprimerait tous les éléments en attente sur la liste actuelle.

J'ai fait une application rails vides. Fait mon schéma de base de données et mes modèles mais n'avait pas de contrôleurs. J'ai eu un script dans les scripts qui comprenait une bibliothèque pop/ssl que j'ai trouvé quelque part pour télécharger des e-mails à partir d'un compte Gmail que j'avais configuré pour cela. À partir de ce moment, c'était plutôt facile, il suffit de vérifier les nouveaux messages pour chaque message, assurez-vous qu'ils proviennent de mon téléphone portable et d'analyser le message et éventuellement renvoyer une réponse. (J'avais programmé cette adresse e-mail dans mon téléphone portable, et envoyé des commandes de texte à cette adresse e-mail). J'ai ajouté un travail cron et l'ai mis à courir chaque minute.

Je ne sais pas ce qu'est cette architecture, mais c'est fondamentalement un service qui interroge un tiers et fait des choses différentes en fonction de la réponse. Si vous avez fait de vrais SMS avec des shortcodes, je vous ferai savoir maintenant que je pense qu'il y a un investissement important nécessaire pour les faire pour de vrai. Peut-être plus facile de commencer à développer avec la messagerie texte par e-mail via les passerelles SMS.Je ne dis pas que c'est la meilleure façon de le faire de loin, il aurait été plus cool d'avoir les messages "poussés" à moi au lieu de vérifier chaque minute, mais bon je voulais juste équilibrer mon budget avec mon téléphone.