Aggiornamento in tempo reale delle pagine web

di il
1 risposte

Aggiornamento in tempo reale delle pagine web

Buon giorno a tutti,
Sto facendo un sito web mediante java EE ed ho la necessità di far aggiornare la pagina web in tempo reale: tipo come fa facebook che aggiorna continuamente la chat o i messaggi della bacheca.
Ovviamente a me viene in mente di fare una chiamata al server tramite ajax ogni 1 o 2 secondi, ma la mia domanda è questa.
si fa proprio così?
Facebook fa così ad aggiornare la pagina? invoca il server ogni secondo o mezzo secondo?
ma se così fosse, il server deve servire un numero enorme di chiamate no?
e il database? mi aspetto che facebook ogni volta che si aggiorna per controllare i messaggi nuovi della bacheca vada a fare una query sul db, ma può mai fare una query ogni secondo per ogni utente connesso?

Illuminatemi voi,
grazie a tutti

1 Risposte

  • Re: Aggiornamento in tempo reale delle pagine web

    Ciao, come indicazioni e forse aiuto vorrei darti queste:

    Per quanto riguarda la progettazione Ajax in ambiente J2EE potresti adottare il framework
    Javaserver Faces con Icefaces, quest'ultimo in particolare fornisce funzionalità ajax avanzate
    come Ajax Push e Push Server di cui ti scrivo una piccola introduzione tratta dal sito
    (www.icefaces.or):

    Ajax Push è una rivoluzionaria funzionalità del framwork ICEfaces che permette l'aggiornamento dell'interfaccia utente nel browser a seguito di eventi che avvengono sul server. Ogni applicazione web in cui gli utenti devono consultare dati dinamici può beneficiarne, visto che Ajax Push permette di sincronizzare i dati con aggionamenti istantanei e dinamici. Quando vari utenti stanno interagendo con gli stessi dati, Ajax Push permette funzionalità di collaborazione in tempo reale, visto che ciascuno può istantaneamente essere informato delle azioni degli altri utenti. Ajax Push è una funzionalità base del framework ICEfaces, disponibile dalla prima versione. Il framework gestisce tutte le difficoltà del meccanismo di push, e lo sviluppatore lavora semplicemente con Java. Questo permette al programmatore di concentrarsi sugli aspetti creativi dello sviluppo in stile Push.

    Per la parte database credo che sistemi come facebook non facciano uso di database relazionali ma di diverso tipo, ad esempio proprio facebook dovrebbe essere basato su Apache Cassandra (http://wiki.apache.org/cassandra/ArticlesAndPresentations)
Devi accedere o registrarti per scrivere nel forum
1 risposte