Http chat server in Erlang, il seguito
Marco Trinci ha completato il suo lavoro di Tesi per la Laurea in Informatica triennale sul server di chat Http in Erlang. Si trova su http://buffy.sciva.uninsubria.it:8000, da cui si può scaricare anche la tesi.
Questo lavoro è interessante perché riesce ad usare HTTP per simulare l’invio di messaggi ascincrono da parte del server (il famoso push.) Non è semplice ottenerlo, perché il protocollo HTTP non è progettato per queste cose. Si tratta di una variante di Ajax chiamata Comet. Marco ha realizzato un server Comet in Erlang, che implementa un protocollo standard per fare Comet chiamato Bayeux. Infatti la parte client della chat è stata presa da un altro progetto, che usava un server Java.
E’ particolarmente importante che ci sia un’implementazione di Comet in Erlang, perché Comet è fatto per applicazioni più interattive della applicazione web media: ad esempio ricevere le quotazioni di borsa, giocare interattivamente, oppure editing distribuito di documenti. Esattamente il genere di applicazioni per cui Erlang eccelle. Grazie a Marco ora questa implementazione c’è!
September 26th, 2007 at 10:48
Immagino che però non sia opensource :D
September 26th, 2007 at 11:01
In realta` e` AJAX che e` una variante di Comet comunque. Consiglio anche di dare un’occhiata a questo: http://divmod.org/trac/wiki/DivmodNevow/Athena che e` open source. complimenti a marco.
October 7th, 2007 at 13:24
Se Matteo è favorevole io sono disposto a mettere in linea i sorgenti.
L’unico valido motivo che avrei per non pubblicarli è non far vedere le cavolate che ho scritto :-)
Molto probabilmente sviluppando un’applicazione più complessa di una chat sarà necessario aggiungere o modificare parte del codice. Poi sicuramente a persone più esperte di me nella programmazione in Erlang, guardando i sorgenti, può venire in mente un’implementazione migliore.
Sarebbe bello avere un’implementazione di Comet in Erlang opensource che tutti possono migliorare o adattare alle proprie esigenze.
Penso che nel futuro possa essere interessante prevedere di integrarlo nel Framework ErlyWeb.
Pensa Matteo…il web server più veloce(Yaws) e un Framework MVC(ErlyWeb) con integrato un modulo(il nostro) che permette la creazione di applicazioni Comet secondo lo standard Bayeux in modo trasparente.
April 21st, 2008 at 18:52
[…] Non ho ancora imparato a programmare in Erlang (a mia discolpa, passo gran parte del mio tempo a fare corsi, mentoring e coaching sui metodi Agili, cosa che mi appassiona di più!) Però il mio lavoro come docente a contratto all’Università dell’Insubria mi da il vantaggio di avere ogni tanto giovani brillanti che mi chiedono una tesi… Così posso chiedere a loro di imparare Erlang e raccontare quello che hanno imparato. Tempo fa Marco Trinci ha realizzato un chat server sincrono su http. […]