2008-09-29 17 views
5

¿Qué arquitectura de aplicación web funciona bien para recibir/enviar mensajes de texto SMS? Por "arquitectura, me refiero a una arquitectura específica, generalmente no como MVC.RoR + SMS: arquitectura de la aplicación web Rails para enviar/recibir SMS?

Antecedentes: estoy construyendo una aplicación web que recibe consultas de/envía respuestas a teléfonos celulares. El diseño de la aplicación (y modelo comercial) espera comunicarse con dispositivos celulares a través de mensajes de texto SMS IOW: No hay una página web MVC "ver". La pantalla del teléfono celular es efectivamente la "vista".

Respuesta

2

Esto depende de cómo va a recibir y enviar los mensajes SMS.

Hay un protocolo específico de mensajes cortos (SMPP - http://en.wikipedia.org/wiki/SMPP).. Para que se necesita un servidor SMPP

Si está utilizando uno de los varios proveedores de SMS a través de HTTP (como Clickatell - http://www.clickatell.com), entonces un marco web como RoR está bien ya que tanto el envío como la recepción de mensajes SMS son realmente solicitudes web. En este caso, la vista del sistema es la respuesta HTTP a la puerta de enlace, no la pantalla del teléfono móvil. En realidad, hay bastantes pasos involucrados: Cellphone -> Cellular Network -> Gateway -> Your Service y la respuesta: Cellphone <- Cellular Network <- Gateway <- Your Service

3

Me pregunto si realmente se trata de una aplicación web. Si la capa de vista es SMS, no tiene que usar Internet como medio de transporte, puede usar hardware para conectarse a la red de telefonía celular.

Si está pensando en utilizar una puerta de enlace http/sms comercial, existe un good article al usar el Ruby Clicktell gem desde una aplicación de Rails. Parece una buena ruta para probar.

+0

el enlace al "artículo bueno" está roto – thesummersign

+0

Sí, la Gema deja de ser compatible https://github.com/lukeredpath/clickatell – MattMcKnight

1

He hecho uno de estos antes de usar los rieles. Creé un rastreador de presupuesto al que podía enviar comandos con mi teléfono celular. Lo usé para crear una lista de artículos que necesitaba comprar/cuidar en el próximo cheque de pago. Cuando llegó el cheque, enviaba comandos para marcar cada elemento de la lista. Incluí comandos para consultar una lista también. Los comandos parecían algo así como "lc mar4" para crear el cuarto cheque de pago en la lista de presupuestos de marzo. Una vez que se creó una lista, podía enviar comandos sin especificar la lista e hice que la secuencia de comandos simplemente aplicara el comando a la última lista si no se especificaba ninguna lista y reduje los otros argumentos. "la corte 50 p" agregaría también la lista mar4 un elemento llamado "tribunal" con un valor de 50 y una etiqueta "p" que llamé pendiente. Cuando me hice cargo de la corte ese viernes, pude enviar "lu court 50 d" que actualizaría el artículo de la corte con el mismo valor con la etiqueta "d" para hacer. Tenía un comando llamado "lp" que imprimiría la lista actual. "lp d" imprimiría todos los elementos etiquetados "d" en la lista actual. "lsum p" imprimirá todos los elementos pendientes en la lista actual.

Hice una aplicación de rieles vacíos. Hice mi esquema de base de datos y mis modelos pero no tenía controladores. Tenía un script en scripts que incluía una biblioteca pop/ssl. Encontré un lugar para descargar el correo electrónico de una cuenta de Gmail que tenía configurada para esto. A partir de entonces fue bastante fácil, solo revise los mensajes nuevos para cada mensaje, asegúrese de que vengan de mi teléfono celular y analice el mensaje y, opcionalmente, envíe una respuesta. (Había programado esa dirección de correo electrónico en mi teléfono celular y le envié comandos de texto a esa dirección de correo electrónico). Agregué un trabajo cron y lo configuré para que se ejecute cada minuto.

No sé qué es esa arquitectura, pero básicamente es un servicio que consulta a un tercero y hace cosas diferentes dependiendo de la respuesta. Si hicieras verdaderos SMS con códigos cortos, te dejaré saber ahora que creo que hay una inversión considerable necesaria para hacerlos de verdad. Podría ser más fácil comenzar a desarrollar mensajes de texto por correo electrónico a través de las puertas de enlace de SMS.

No estoy diciendo que esta sea la mejor manera de hacerlo con diferencia, hubiera sido mejor tener los mensajes "presionados" en mi lugar en vez de revisar cada minuto, pero hey solo quería equilibrar mi presupuesto con mi teléfono

Cuestiones relacionadas