Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/03/2014, 15:34
lolainas
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda sobre planteamiento de desarrollo

Cita:
Iniciado por AJDC Ver Mensaje
Ok, gracias... intento dar más detalles...

EL CMS es un aplicativo de "construcción" de sitios web, pero que como digo, poco puedo personalizar, salvo la inserción de los iframes que comenté.

En la web, desde el CMS, se carga un formulario con datos recogidos de la bd.
Existirá un botón, que manejaré con jquery desde "mi" iframe... el cual, al pulsarlo, recopila información que tiene el formulario en pantalla, y genera un xml que es el que enviaré vía ajax hacia el "socket" (o lo que sea...)

1. El CMS envía info al socket desde el formulario

Mientras... la aplicación Ruby, que no es una aplicación web .. sino una aplicación que se ejecuta de forma autónoma en un ordenador remoto, se conecta a "mi socket" enviando un xml, con datos como el id de envío entre otros... y se queda a "la espera". Es como si envía una pregunta constante preguntando si "hay algo nuevo".

2. Aplicación Ruby pregunta y el socket le dice SÍ, TENGO ALGO, TOMA...

Cuando el xml que envió el CMS vía Ajax llega al socket, ese xml actúa como la respuesta que estaba esperando el xml enviado por la aplicación Ruby. De ahí mi "pensamiento" de darle como forma de chat.

El socket da esa información hacia la aplicación Ruby, en formato xml (junto a cabecera 200 ok, por ejemplo), el cual procesará la aplicación Ruby, ejecuta algo, y devuelve el resultado de dicha operación como otro xml hacia el socket.

El xml que envío el CMS vía ajax está a la espera de respuesta. Como ahora llega un nuevo xml (el de la respuesta a la ejecución de la aplicación Ruby) el socket se lo envía en formato xml como repuesta al envío Ajax.

El CMS es una aplicación Web por lo tanto está dormida hasta que la invocas, así que este último paso creo que es el que falla y donde la Aplicación Ruby una vez procesados los datos recibidos en una variable (por ejemplo) salida, debe enviarsela directamente al CMS sin intermediario. Ya que el CMS como aplicación Web que es no puede estar preguntando constantemente si hay algo nuevo...

Y ahi termina el proceso.

La diferencia a un chat es que sólo habrá 2 posibles clientes conectados.. lo que llega/se envía del CMS y lo que llega/envía desde Ruby.

Espero vuestros comentarios...

Muchas gracias