Applicazioni Web

Applicazione Web o Web Application, è l’espressione che in generale viene impiegata per indicare tutte le applicazioni distribuite web-based. E’ utilizzata nell’ambito del software engineering, dove con il termine web app si descrive un’applicazione accessibile via web per mezzo di un network, come ad esempio una Intranet o attraverso la Rete Internet.

 
SONY DSC

Questo modello è divenuto piuttosto popolare alla fine degli anni ’90, in considerazione della possibilità per un client generico di accedere a funzioni applicative, utilizzando come terminale normali web browser.

L’opportunità di aggiornare a costo ridotto l’applicazione, senza essere costretti a distribuire numerosi aggiornamenti ai propri clienti (CD-Rom, installazioni etc.), ne ha determinato il successo immediato.

Le Web Application si differenziano notevolmente dalle applicazioni Client-Server perché generano il loro Output in modo dinamico pilotando un front-end composto da documenti Web, destinati quindi ad un semplice web browser.

Per sua natura una web app può presentarsi con diverse strutture ed organizzazioni logiche, poiché racchiude in se un modello tecnico ed una filosofia di sviluppo, allo stesso tempo.

Tuttavia sul piano dell’informatica teorica è possibile riconoscere una strutturazione tipica su 3 livelli:

  • un primo livello associabile al terminale di fruizione, il web browser (MSIExplorer, Firefox, Opera, Chrome, Safari etc.);
  • un secondo livello costituito dal motore applicativo, ovvero un core applicativo, costituito da codice in un qualche linguaggio di sviluppo dinamico lato-server (ASP, ASP.NET, PHP etc.);
  • un terzo livello riconducibile al motore database associato (MySQL, MS-SQL, Oracle etc.).

Semplificando, il Web browser del client invia le proprie richieste al livello intermedio, ovvero al motore applicativo dinamico del web server, che da una parte interpreta e gestisce le interrogazioni al motore Database e dall’altra genera il risultato in un output diretto allo stesso browser, che lo interpreta e lo restituisce all’utente sotto forma di pagine Web.

Per le applicazioni Web 2.0, spesso vengono usate tecnologie di programmazione particolari, come AJAX che utilizza uno scambio di dati in background fra web browser e server.

Sono disponibili soluzioni per una gestione ad-hoc di una applicazione web che comprende tutte le fasi (analisi, progetto, struttura, realizzazione, test e pubblicazione) in modo da creare un prodotto professionale di nuova generazione.