Estratto del documento

Applicazioni e servizi web

Browser

Il browser è un visualizzatore di documenti ipertestuali e multimediali.

  • Clienti HTTP
  • Comunicazione con il server
  • Interfaccia utente
  • Elementi GUI che circondano il contenuto della pagina web (tab bar, barra degli indirizzi, gestore dei bookmark, ecc.)
  • Motore di rendering (es. Blink, Gecko) - Si occupa del rendering della pagina web
  • Interprete Javascript (es. V8, SpiderMonkey)

Server web

Il server web è un'applicazione che risponde a richieste di risorse locali (file, record di database, ecc.) individuate da un identificatore univoco. Deve mappare il percorso di un URL in:

  • Una risorsa di un file system locale (per richieste di risorse statiche)
  • Un nome di un programma interno o esterno (per richieste di risorse dinamiche)

Esempio: http://www.example.com/path/file.html

Il client traduce questo URL in una connessione a www.example.com con una richiesta GET della risorsa /path/file.html; il server web ospitato da www.example.com appenderà il path ricevuto con la richiesta alla sua root directory. Su un server Apache solitamente è /home/www, e il risultato sarà: /home/www/path/file.html

Architetture del World Wide Web

Sito web statico

Un file per ogni schermata del sito. Nessun contenuto visualizzato cambia rispetto al documento memorizzato su disco. Ogni file HTML è indipendente dagli altri (nessuna modularità).

Siti dinamici: server side include (SSI)

Simile a un sito web statico ma all'interno dei file HTML ci sono commenti speciali. Ad esempio:

  • <!--#include virtual="header.html"-->
  • <!--#flastmod virtual="index.html"-->

Forniscono una qualche forma di modularità.

Sito web dinamico: modello a 3 livelli

Parte dei contenuti è statica e messa su file, ma la parte importante è generata in output da un'applicazione server-side. L'application logic (a volte business logic) si modularizza rispetto allo storage per poter usufruire di velocità e funzionalità dei DB indipendentemente dalla logica dell'applicazione.

2 modalità:

  • Embedded Code: Il sito è in realtà un'applicazione. I file HTML contengono commenti speciali con codice inserito in qualche linguaggio di programmazione (PHP, ASP, ecc.). La parte HTML è il template, mentre il codice fornisce la parte dinamica dell'applicazione.
  • Full Application: Si attua una separazione forte tra logica di applicazione e presentazione. Il server esegue il file di programma e alla fine genera un singolo output dell'intera stringa del documento HTML.

Sito web dinamico: modello a 4 livelli

Nel modello a quattro livelli, il livello di application logic genera un output completamente privo di aspetti presentazionali (ad esempio, un file XML) e lo dà in pasto a un altro livello, che chiamiamo presentazione (anche presentation logic). Completa e definitiva separazione tra application logic e presentation logic; architettura semplice, modulare, ripetibile.

Rich client: Ajax

All'inizio dell'esecuzione del servizio, il browser carica una normale pagina HTML, che contiene codice Javascript e alcune librerie Ajax. Il programma parte e attraverso un'apposita chiamata di libreria (XMLHttpRequest) chiede al server dati presentation-independent da convertire in HTML e visualizzare sulla pagina.

Single page application

Sito web complesso e sofisticato composto in realtà da un unico documento HTML.

Modelli e pattern per il web

MVC

Il Model è l'informazione che viene manipolata dall'applicazione, o anche solo dal widget. La View è la visualizzazione del modello sullo schermo. Possono esistere view molteplici per ogni modello. Il Controller riceve gli input dall'utente e decide cosa significhino e cosa si debba fare.

Modello client-server

Il modello Client/Server prevede due entità:

  • L'entità Client che richiede il servizio
  • L'entità Server che offre il servizio

L'interazione può essere stateful o stateless. Il server deve gestire la concorrenza. Le principali specifiche di una architettura di un sistema distribuito web-based sono:

  • Completa aderenza allo standard HTTP
  • Completa compatibilità con i browser web disponibili
  • Apertura alle diverse tecniche e tecnologie di sviluppo software
  • Possibilità di ingegnerizzare il software e il processo di sviluppo
  • Scalabilità
  • Tolleranza ai guasti

Architettura di base

Completa aderenza allo standard HTTP: OK.

Nessuna apertura alle tecniche e tecnologie di sviluppo software, le

Anteprima
Vedrai una selezione di 4 pagine su 13
Applicazione e Servizi Web - Riassunti dispense Pag. 1 Applicazione e Servizi Web - Riassunti dispense Pag. 2
Anteprima di 4 pagg. su 13.
Scarica il documento per vederlo tutto.
Applicazione e Servizi Web - Riassunti dispense Pag. 6
Anteprima di 4 pagg. su 13.
Scarica il documento per vederlo tutto.
Applicazione e Servizi Web - Riassunti dispense Pag. 11
1 su 13
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher stefano.salvatori di informazioni apprese con la frequenza delle lezioni di Applicazioni e Servizi Web e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Mirri Silvia.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community