Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Web application e Application server

Cosa sono le applicazioni Web e come interagiscono con il loro ambiente server
Cosa sono le applicazioni Web e come interagiscono con il loro ambiente server
Link copiato negli appunti

Sicuramente tanti di voi prima di leggere queste pagine avranno aperto la posta elettronica, effettuato una ricerca con Google o controllato il proprio conto in una banca online. Ebbene, non ve ne siete accorti, ma stavate utilizzando delle applicazioni Web. Questo perché è impossibile distinguere delle pagine generate da un server "statico" da quelle generate da una Web application.

La differenza sta nell'origine di quelle pagine. Nel primo caso le pagine sono file statici (file .html) che vengono semplicemente prelevati dal server e visualizzati nel browser. Nel caso di Web application, invece, le pagine vengono costruite dinamicamente al tempo della chiamata da un programma che gira sul server e che può essere scritto in qualsiasi linguaggio.

Ma perché realizzare un'applicazione Web e non un semplice sito statico?

Perché le Web application permettono di fare molto di più. Come farebbe un sito statico a prendere le vostre username e password, controllare che siano corrette, recuperare da un database i vostri messaggi e visualizzarli a video dividendoli 10 per pagina? Come farebbe un sito statico a permettervi di rilanciare sull'asta dell'ultimo cd del vostro cantante preferito fino alla cifra massima da voi impostata?

Una Web application lo può fare e ci può aiutare a risolvere problemi anche molto più complessi. Essa è composta in genere da una serie di algoritmi che vengono eseguiti sul server e che generano l'output desiderato.

Un'applicazione Web, nella maggior parte dei casi, si sviluppa su tre livelli logico-funzionali (applicazioni Three-Tier) ma che possono essere distribuiti anche su più livelli (applicazioni Multi-Tier):

  1. Livello di presentazione: rappresenta l'interfaccia utente dell'applicazione e si occupa di acquisire dati e visualizzare risultati;
  2. Livello intermedio: si occupa delle elaborazioni dei dati in base alla cosiddetta business logic, cioè all'insieme delle regole per cui i dati sono considerati significativi e le loro relazioni consistenti; le elaborazioni del livello intermedio generano i risultati richiesti dall'utente;
  3. Livello dati: rappresenta l'insieme dei servizi offerti da applicazioni indipendenti dal Web, come ad esempio un gestore di database, un sistema di gestione di posta elettronica, ecc.

L'esecuzione di questi programmi necessita della presenza sul server di un "ambiente", di un framework per il supporto dei linguaggi che si vogliono utilizzare per la stesura dell'applicazione lato server. L'ambiente che ci dà questo supporto è proprio l'Application Server. Questo, a differenza del Web server, non si limita a rispondere alla richiesta dell'utente con la pagina HTML ma è capace di eseguire degli algoritmi per fare calcoli, ricerche, memorizzare, ecc. questo ci permetterà due cose molto importanti:

  1. Di affiancare alle normali pagine HTML statiche delle pagine dinamiche. Delle pagine, cioè, che cambieranno il loro aspetto ed il loro contenuto in base a dei parametri che saremo noi a decidere. Ad esempio potremo costruire una pagina che visualizzi il proverbio del giorno. Se dovessimo utilizzare il normale HTML saremmo costretti a mettere mano al codice della pagina tutti i giorni e cambiare la parte di testo relativa al proverbio. Con le pagine dinamiche, invece, tutto ciò potrà avvenire in automatico, quindi dovremo scrivere la pagina Web una sola volta. Naturalmente il semplice HTML non sarà più sufficiente, ma sarà affiancato da linguaggi più potenti. Il tipo di linguaggio da adoperare dipenderà dal tipo di Application server utilizzato e dai Plug-in che vi saranno installati.

  2. Di inserire lato server dei veri e propri algoritmi che ricevano dalle pagine Web delle informazioni, effettuino le opportune elaborazioni e restituiscano i risultati ad altre pagine Web per la visualizzazione. Anche in questo caso il linguaggio con cui scrivere questi algoritmi dipenderà dalla logica contenuta dall'Application Server utilizzato.

Ti consigliamo anche