Io e il mio collega di lavoro stiamo sviluppando un'applicazione web con rails e node.js e non possiamo raggiungere un consenso in merito a una particolare decisione architettonica.
La nostra configurazione è fondamentalmente un server di rail che funziona con node.js e redis, quando un client effettua una richiesta http alla nostra API rails in alcuni casi la nostra applicazione rails invia la risposta a un database redis e quindi node.js trasmette la risposta via websocket.
Il nostro disaccordo si verifica nel seguente punto: il mio collega pensa che l'uso di node.js per inviare dati ai client sia in qualche modo logico e dovrebbe essere all'interno del modello, quindi nel primo codice che ha scritto ha usato i comandi di broadcast in callback e altri luoghi del modello, è convinto che i modelli siano il posto migliore per l'interazione tra rotaie e nodi.
Io d'altra parte penso che l'uso di node.js appartenga al runtime reame, il mio intento è che i comandi di broadcast e altre interazioni node.js dovrebbero essere nel controller e dovrebbero essere usati in un modello solo se passati attraverso un un'interfaccia ben definita, proprio come la situazione in cui un modello deve accedere all'utente corrente di una sessione.
A questo punto siamo stanchi di discutere su questa stessa cosa e la nostra discussione consiste nel ripeterci ripetutamente le nostre stesse opinioni. Qualcuno, preferibilmente con esperienza nello stesso setup, può darci una risposta univoca dicendo quale soluzione è più adeguata e perché è?