di davide panceri "programmazione.it"
AJAX, Asynchronous JavaScript Technology and XML, permette di usare JavaScript e XML per modificare pagine WEB senza doverle ricaricare dal Server, rendendo in questo modo la cosiddetta user experience dell'utente di applicazioni basate su Web più simile a quella di chi esegue programmi sul computer locale, indipendentemente dal browser o dall'installazione di plugin specifici.
I risultati dell'elaborazione lato Server a volte richiedono tempi di attesa per il caricamento di intere pagine: questo accade ad esempio quando si scelgono delle voci da una combo e quando ci si autentica inserendo username e password in un form di login.
AJAX non costituisce una novità assoluta: in ambiente Windows e con Internet Explorer si ottenevano risultati simili usando il cosiddetto Web Remoting o Remote Scripting, mentre in ambiente Java si usavano combinazioni di plugin, applet e frames nascosti per ottenere effetti simili.
Con i browser di ultima generazione, grazie al supporto di CSS e dell'oggetto XMLHttpRequest, le cose sono molto migliorate. XMLHttpRequest non fa parte delle specifiche ufficiali di JavaScript, ma è supportato di fatto da tutti i browser di ultima generazione, con differenze minime e facilmente gestibili.
Il sito Sun pubblica un articolo in cui Greg Murray illustra in dettaglio le varie fasi dell'interazione tra pagina client AJAX Enabled e Web Container, che viene schematicamente suddivisa in sette passaggi. Per prima cosa un evento lato Client avvia tutto il processo, che prosegue con la creazione e configurazione di un oggetto XMLHttpRequest. Alla chiamata di questo oggetto segue una richiesta che viene elaborata da una ValidateServlet. Il documento XML contenente il risultato dell'elaborazione viene usato come base per l'aggiornamento del DOM della pagina HTML da cui è partita la chiamata.
Fin qui la teoria; i dettagli di queste operazioni verranno approfonditi con qualche riga di esempio nella seconda parte dell'articolo. |