Comet: meglio il push del poll ?
Purtroppo ultimamente non ho molto tempo per aggiornare, siamo sommersi di lavoro e sto facendo un po’ di consulenze in banca, rassicuratevi comunque, non sono usciti grandissimi prodotti o librerie in questo periodo estivo :)
Voglio invece parlarvi di Comet, un nuovo approccio “alternativo” ad Ajax per aggiornare dinamicamente le pagine web. Come ben sapete Ajax effettua sostanzialmente il così detto polling, ogni tot secondi cioè contatta il server e verifica se ci sono dati da aggiornare. Quest approccio è sicuramente comodo ma ha alcuni svantaggi, primo fra tutti un’alta inefficienza in particolari situazioni e la creazione di molte connessioni sul server: una per ogni richiesta di informazioni.
Ormai diversi mesi fa, Alex Russel di Dojo ha proposto un approccio alternativo chiamato Comet di cui sono disponibili le slide di presentazioni. Comet parte da un presupposto diverso, invece di effettuare il polling apre un’unica connessione col server, la mantiene aperta ed aspetta che sia il server ad effettuare un push di informazioni non appena cen’è bisogno.
Il concetto è molto interessante ed in alcuni ambiti può portare ad un’esperienza utente molto più confortevole rispetto ad Ajax. Se volete vedere qualche bella demo sull’uso di comet vi consiglio di guardare gli esempi di lightstreamer.
Ci stiamo giocando un po’ questi giorni qui in Creative Web ed i risultati sono decisamente incoraggianti, probabilmente inseriremo il supporto di Comet nella prossima release del nostro framework di sviluppo. Purtroppo resta qualche problema di compatibilità cross browser a causa di alcune limitazioni di Explorer. Il problema è comunque risolvibile con vari workaround.
[TAGS]comet, http streaming[/TAGS]
12 Commenti
Alessandro Alinone il 15/07/2006
Grazie per la citazione di Lightstreamer. Vi ricordo tra l’altro che Lightstreamer è al 100% made in Italy e ci sta dando parecchie soddisfazioni all’estero (in particolare USA e UK).
Vi segnalo inoltre la disponibilità online delle slide su Comet che ho presentato in occasione della Java Conference 2006:
http://www.lightstreamer.com/docs/Lightstreamer-JavaConf06.pdf
Mone il 02/08/2006
Ciao, scusa l’intromissione.
Ma state facendo un’integrazione col web client di Lightstreamer o un client comet generico?
Su che protocollo vi basate nel secondo caso?
Che problemi state avendo?
Administrator il 05/08/2006
In effetti con Internet Explorer c’è qualche problemino in più nell’implementazione di Comet utilizzando XHR ci sono tuttavia dei workaround se si vuole utilizzare questo sistema o, alternativamente, si può ripiegare su un “loading” infinito di una pagina dentro un iframe senza utilizzare XmlHttpRequest. L’ideale sarebbe utilizzare dei sistemi di fallback a seconda del browser.
Per il momento abbiamo testato un’implementazione in Javascript puro senza XHR e il problema più fastidioso è che su firefox l’icona del mouse resta sempre in caricamento anche utilizzando un iframe nascosto. Mi pare comunque che il problema sia aggirabile ma purtroppo Comet resta comunque una tecnologia molto sperimentale e di fatto è una forzatura di alcuni comportamenti particolari dei browser. Ajax è sicuramente una tecnologia più standard e matura.
Un’alternativa decisamente più semplice ed efficace è utilizzare un piccolo swf flash col quale aprire una connessione socket verso il server e poi passare le informazioni a javascript. Questa soluzione funziona decisamente meglio ma ovviamente si perde un po’ di compatibilità per l’uso di Flash.
Mone il 08/08/2006
Quindi state implementando la parte client… che server usate?
Non so se interessa, ma previa registrazione ora è possibile scaricare una versione trial di lightstreamer: http://www.lightstreamer.com/vb/register.php
Ci sarà anche una versione free, presumibilmente dopo l’estate.
Ciao!
Administrator il 25/08/2006
Si stiamo implementando la parte client principalmente per il server vedremo più avanti, tendenzialmente il nostro prodotto d iIntranet ha un demone di sistema e sarà lui a gestire gli stream ma ancora non abbiamo riflettuto molto su questa cosa. Light Streamer è un ottimo prodotto ma penso che lo valuteremo nel caso ce lo richieda qualche banca o grande azienda, per un uso “comune” dove non c’è uno stream forsennato di dati realtime penso sia un po’ eccessivo (penso, non l’ho mai provato a parte le demo sul sito e qualche racconto che ci han fatto i tecnici di alcune banche per cui facciamo consulting).
Ciao
Div
Massimiliano il 08/11/2007
Ho scaricato ligthstreamer versione moderato e l’ho provato veramente molto carino e semplice da usare. L’unico inconveniente(o almeno se ho ben capito..) è che gestisce il push solo con dati di tipo testo. Io avrei voluto usarlo anche per aggiornare delle immagini dinamicamente senza fare il polling da client. Mi chiedo è possibile farlo eventualmente anche con altri framework??
Saluti MAX
Enrico il 13/05/2008
Qui ho spiegato in breve come ho implementato comet per un mio cliente UK:
http://www.rubboli.it/articles/2008/05/13/comet-un-passo-avanti-ajax-2
spero possa interessare.
Saluti,
Enrico
Filippo il 15/12/2008
Spiegazione su COMET breve e concisa, proprio ciò che cercavo.
Thanks. ;)
reverse mortgage leads il 28/04/2011
Get something you suspect your spouse; is your spouse receiving strange calls as well as you require to uncover not in who they are commencing? Is the utterly fact of not knowing making you angry before uneasy? Using by a invert number lookup service you are able with the aim of unearth the private particulars of the caller.
reverse mortgage calculators il 29/04/2011
Receiving mobile phone calls from an unknown cellular phone number may be there a frustrating knowledge to encounter. Plus the popularity of caller ID plus text messaging, many people are uncomfortable as well as picking out of bed the cell phone as soon as a number they needn’t grasp. Luckily intended for these people, there are compound webpages which offer a turn around phone search service.
ps3 repair guide il 29/04/2011
A few of the benefits of doing a rearrange telephone call would be that find out whichever essentials with reference to many people by after otherwise new the numbers themselves, you know how to be the owner of of the results as well as the of your search condition prepared internet service in added a couple of minutes, you be capable of have magnificent particulars such while the name with addresses of the people while you might be trying used for.


Gabriele il 10/07/2006
Comet pare interessante. l’unica cose è che PUSH dovrebbe essere una specifica di protocollo non implementato da IE. Hai idea di come funzioni l’emulazione di PUSH su IE ?