Introduzione
Con l’avvento di internet è
stato possibile condividere informazioni con un numero sempre crescente
di persone: praticamente chiunque avesse la possibilità di connettersi
alla rete. Nasce così l’esigenza di avere uno strumento che consentisse
di visualizzare, tali informazioni (web browser), e, di conseguenza, uno strumento che consentisse di formattare il testo presentato. l’HTML (Hyper Text Markup Language), è un “linguaggio di programmazione” che consentiva di formattare un ipertesto, ossia un testo che contenesse non solo “le parole”, ma anche immagini e collegamenti ad altri ipertesti, testi o immagini.
Con l’evolversi di internet, non è stato più sufficiente avere delle informazioni statiche,
è diventato necessario avere dei siti che consentissero ai visitatori di
vedere che il contenuto fosse coerente ed aggiornato. Per esempio, ad
un sito web di e-commerce è
richiesto che vengano pubblicati solamente gli annunci relativi a
prodotti non ancora venduti ed è, anche, importante che i nuovi prodotti
siano pubblicati una volta entrati nella disponibilità del venditore.
E’ chiaro che per queste condizioni il semplice HTML non è più
sufficiente. Questo ha portato a sviluppare dei nuovi linguaggi di programmazione che consentissero, non solo di formattare l’ipertesto, ma anche di poterlo adattare a situazioni e richieste diverse.
Dal punto di vista dell'informatica teorica la
struttura di un’applicazione o, nel nostro caso, una web-app può essere
schematizzata, tipicamente, con tre livelli: la cosiddetta struttura MVC (Model-View-Control).
Nella maggioranza dei casi è possibile identificare un primo livello
(View), conll web browser (il terminale di visualizzazione delle
informazioni da parte dell’utente); un secondo livello è costituito dal
“motore applicativo”: scripts in vari linguaggi di programmazione che
implementino la logica applicativa (Control), ossia che eseguano tutte
le operazioni necessarie a rendere dinamico il testo presentato
all’utente tramite web browser; un terzo livello costituito dai dati
(dinamici), che costituiscono il core delle informazioni fornite
all’utente: database o DBMS (Model).
Semplificando,
il web browser (client) invia le proprie richieste al livello
intermedio, ovvero al motore applicativo residente sul web server, il
quale gestisce le interrogazioni al server DBMS e genera il risultato in
un output diretto allo stesso browser, che, a sua volta, interpreta e restituisce all'utente le informazioni come pagine Web.
Strumenti
Il
browser formatta le informazioni da visualizzare producendo un output
in HTML, Il codice HTML, però può essere scritto da un programmatore in
maniera statica, se le informazioni presentate non cambieranno nel
tempo, oppure, la sua generazione può essere delegata a scripts, in
altri linguaggi, capaci di eseguire elaborazioni ed a presentare i
risultati secondo tale codifica. I linguaggi di programmazione
sviluppati a questo scopo, ormai, sono molteplici e posso essere
eseguiti sul web server (PHP, ASP, JavaApplet, PythonApplet, GTK+),
e fornire, direttamente, un output codificato in HTML al browser oppure
essere eseguiti direttamente dal browser: è questo il caso dello JavaScript. Solo i linguaggi eseguiti dal server, però, sono in grado di interrogare il DBMS.
Una delle tecniche, più usate oggi, per lo sviluppo per la realizzazione di applicazioni web interattive (Rich Internet Application) è AJAX, acronimo di Asynchronous JavaScript and XML. Lo sviluppo di applicazioni HTML con AJAX si basa su uno scambio di dati in background fra web browser e server,
che consente l'aggiornamento dinamico di una pagina web senza esplicito
ricaricamento da parte dell'utente (come nel caso dell’utilizzo di
linguaggi server-side come
PHP, ASP, ecc). I dati extra sono richiesti al server e caricati, in
background, senza interferire con il comportamento della pagina
esistente. Di norma per le richieste si utilizza il linguaggio
JavaScript. Tuttavia, e a dispetto del nome, l'uso di JavaScript e di
XML non è obbligatorio, come non è necessario che le richieste di
caricamento debbano essere necessariamente asincrone.
AJAX
è una tecnica multi-piattaforma utilizzabile su molti sistemi
operativi, architetture informatiche e browser web, ed esistono numerose
implementazioni open source di librerie e framework.
Prossimamente analizzeremo nel dettaglio i framework javascript, e i DBMS specifici per questo tipo di applicazioni.
Nessun commento:
Posta un commento