31/05/2013. Sistemi Web Distribuiti (parte 2) - Indice dei Contenuti - Naming. Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "31/05/2013. Sistemi Web Distribuiti (parte 2) - Indice dei Contenuti - Naming. Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano"

Transcript

1 Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano /28 Sistemi Web Distribuiti (parte 2) - Indice dei Contenuti - Naming 3 Sincronizzazione 4 Consistenza e Replica 5 Replica di sistemi di web hosting 7 Replica di applicazioni web 9 Tolleranza ai guasti 14 Tolleranza ai guasti 15 Conclusioni 17 Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 2/28 Naming Il web utilizza unicamente il sistema di naming Uniform Resource Identifier (URI). Può assumere due forme: UR Locator (URL) che è un riferimento all oggetto dipendente dall ubicazione UR Name (URN) che è un vero identificatore, globalmente unico. La sintassi di uno URI è determinata dallo schema associato HTTP. L HTTP è il più diffuso ma non l unico. Gli URL contengono il più delle volte il nome DNS in alternativa allo schema -IP:numero di porta- Gli URL riportano il path del documento richiesto. Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 3/28 1

2 Sincronizzazione La crescente tendenza alla collaboratività del web fa sì che sia necessario fornire strumenti di supporto agli aggiornamenti concorrenti di documenti WebDAV (Web Distributed Authoring and Versioning) è un protocollo di locking semplice che definisce due tipi di lock in scrittura: esclusivo: evita modifiche sovrapposte E implementato tramite l assegnamento di un token di lock, fornito dal server al client che ne fa richiesta, al presentare del quale il client può effettuare modifiche, senza bisogno di mantenere laconnessione WebDAV non specifica nulla circa la durata di concessione del token o sul comportamento in caso di crash del client detentore: è lasciato alla specifica implementazioneattuare una politica adeguata condiviso, che permette modifiche contemporanee: lascia ai client stessi la responsabilità di risolvere eventuali conflitti Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 4/28 Consistenza e Replica Uso della cache nei Proxy web: una memoria cache può essere posizionata in contesti logici differenti, partendo dal contesto più vicino al client (browser cache), passando dai proxy web locali fino ad organizzazioni gerarchiche regionali e nazionali. Le cache possono essere organizzate in modo cooperativo (ossia distribuito): un proxy che non dispone di una copia di un documento contatta un certo numero di proxy adiacenti prima di inoltrare la richiesta all host direttamente responsabile del documento questo approccio comporta velocità di trasmissione maggiori e cache più piccole, maaumenta la latenza *Wiki: La memoria cache è una memoria temporanea, non visibile al software, che memorizza un insieme di dati che possano successivamente essere velocemente recuperati su richiesta Un proxy è un programma che si interpone tra un client ed un server, inoltrando le richieste e le risposte dall'uno all'altro. Il client si collega al proxy invece che al server, e gli invia delle richieste. Il proxy a sua volta si collega al server e inoltra la richiesta del client, riceve la risposta e lainoltra al client. Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 5/28 Consistenza e Replica(2) Protocolli di consistenza: Un semplice protocollo (chiamato pull) fa controllare al proxy se sul server di origine il documento è cambiato, tramite analisi del campo header if-modified-since Tuttaviaquesto richiede molte e frequenti comunicazioni col server Per migliorare le prestazioni, a scapito però della consistenza, il proxy web Squid assegna una scadenza alle proprie copie secondo un tempo calcolato in funzione dell ultima modifica del documento. Si può concepire anche un protocollo push, in cui è il server a invalidare la cache dei proxy (purché siano in numero limitato e abbiano strutture proprie di propagazione), ma non è l approccio più usato, sebbene sia il migliore anche prestazionalmente Le cache hanno difficoltà a correttamente memorizzare correttamente documenti dinamici. Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 6/28 2

3 nei sistemi di web hosting Replica di sistemi di web hosting: la questione della replica è affrontata dalle Content Delivery Networks (CDN)*, come ad es. Akamai. Sono organizzate lungo un anello di controllo dei feedback e si basano su valutazioni metriche che permettono di elaborare un compromesso tra diffusione e prestazioni/costi del sistema, basandosi sui seguenti input: latenza: tempo d azione tra client e server, utilizzato per algoritmi di posizionamento globale ampiezza di banda: considerato al posto della latenza per file di grandi dimensioni metriche spaziali: distanza tra repliche misurata in termini di nodi di rete attraversati uso della rete: ampiezza di banda e info sull utilizzo del documento ; consistenza: fino a che punto la replica può essere diversa dal master aspetti finanziari: valutazioni di tipo tecnico/commerciale (*) un sistema di computer collegati in rete attraverso Internet che collaborano in maniera trasparente per distribuire contenuti (specialmente contenuti multimediali di grandi dimensioni) agli Sistemi utenti Distribuiti, finali. LM Ing. Informatica 6 CFU Docente: Marcello Castellano 7/28 nei sistemi di web hosting (2) Uso dei trigger per gli adattamenti: un approccio relativamente semplice e spesso usato per la valutazione degli adattamenti di un sistema di replica è l analisi periodica delle metriche: Il problema è che non vengono gestiti i cosiddetti flash crowd, ossia sovraffollamenti improvvisi, picchi di richieste che sembrano capitare spesso nel Web. Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 8/28 nei sistemi di web hosting (3) E utile un sistema predittore, che compie analisi di tipo statistico sull andamento in real-time delle richieste. I flash crowd più difficili sono quelli che accadano in brevissimo tempo e non lasciano la possibilità al predictor di installare repliche del documento. Tuttavia semplici tecniche di estrapolazione lineare permettono di gestire molto bene la maggior parte dei pattern d accesso, sebbene parametri e soglie d allarme vadano continuamente aggiustati con l intervento umano. Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 9/28 3

4 nei sistemi di web hosting (4) Misure correttive: neesistono 3 tipi (correlati): Cambiare posizionamento delle repliche Cambiare l attuazione della consistenza Decidere come e quando ridirigere le richieste del client Quest ultimo approccio consiste principalmente nel replicare soltanto i contenuti embedded di una pagina HTML, lasciando prelevare il documento di base dal server d origine Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 10/28 Replica di applicazioni web I metodi per migliorare le prestazioni di applicazioni web dinamiche sono simili a quelli già visti, sebbene più sofisticati. Nelle CDN ogni sito ospitato ha un server d origine che è il riferimento autorevole da cui si propagano le operazioni di scrittura e aggiornamento. Per gestire le richieste del client si utilizzano edge server che hanno capacità di memorizzare informazioni parziali provenienti dal sito d origine. Si può decidere di replicare per intero il server d origine, ma solo se il tasso di aggiornamenti rimane basso e non devono così instaurarsi continue comunicazioni tra source ed edge, oppure se le interrogazioni su una base di dati associata all applicazione sono particolarmente complesse Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 11/28 Replica di applicazioni web uno schema /28 4

5 Replica di applicazioni web (2) Altrimenti si effettuano repliche parziali, ma può risultare complesso e tedioso stabilire manualmente quali dati del database servono all edge server: una possibile soluzione è quella di automatizzare l operazione analizzando i tracciati di accesso ai record. In alternativa alla replica parziale si può usare la cache content-aware: l idea è che un edge server mantenga una base di dati locale normalizzata, ovvero organizzata in base alla struttura delle interrogazioni il tipo di interrogazione gestita è dunque ben definito da un template e l edge server controlla se l interrogazione richiesta sia compatibile con esso, altrimenti si rifà al server d origine Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 13/28 Replica di applicazioni web (3) L idea della cache content-blind è di assegnare un ID univoco ad ogni query tramite hash e salvare sull edge il risultato dell interrogazione per essere disponibile al successivo ripresentarsi della stessa query Inconvenienti sono la dispendiosità in termini di memoria, per via delle molte ridondanze, e la difficoltà di mantenere tutti i risultati aggiornati rispetto al database di riferimento Anche in questo caso si possono impostare templates per ridurre varietà e numero di interrogazioni immettibili nella cache Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 14/28 Tolleranza ai guasti Ottenuta principalmente tramite uso di cache e meccanismi di replica Per quanto riguarda i web service, il problema di mascherare i fallimenti diventa più complicato poiché si haa che fare con transazioni distribuite globali che compongono un grafo delle chiamate complesso: la replica non è più efficace perché replicare i server significa dover gestire chiamate replicate sia dei chiamanti che dei chiamati (spesso i server agisconoanche da client) Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 15/28 5

6 Conclusioni Lasciate ai discenti del Corso Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 16/28 Java Servlet Sono piccole applicazioni Java residenti sul server: componenti gestite in modo automatico da un container che può attivarle/disattivarle in base alle richieste del client Condividono la stessa interfaccia javax.servlet.servlet dalla quale derivano due astrazioni comunemente utilizzate: javax.servlet.genericservlet e javax.servlet.http.httpservlet per il web HTTPServlet: prevedono la creazione di un metodo doget o dopost, i quali che servono a processare le richieste GET o POST da parte client. Accettano due argomenti, definiti dalle interfacce HTTPServletRequest e HTTPServletResponse, che forniscono i metodi per manipolare i parametri ricevuti nella request, cookie, sessioni e stream di output per la risposta doget e dopost sono automaticamente invocati da un thread creato dal containerdella Servlet al sopraggiungere di una richiesta da parte di un client Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 17/28 Java Servlet (2) Ciclo di vita: una Servlet viene creata dal container alla sua prima invocazione e viene richiamato il metodo Init eventualmente definito. Viene distrutta quando non ci sono servizi in esecuzione o quando è scaduto un timeout predefinito; viene invocato un metodo Destroy per terminare l esecuzione il suo scopo è accertarsi che vengano correttamente gestiti eventuali thread ancora attivi sulla servlet in modo da sincronizzare tutti i client sulla terminazione Cookie: stringhe di caratteri restituite dal server nella risposta, inserite in uno header HTTP ed eventualmente memorizzate dal client per un periodo di tempo limitato (può essere specificato) Possono essere richiamati dal server in un secondo momento, fornendo informazioni utili per l autenticazione o su preferenze/comportamenti abituali dell utente sul client Sessioni: permettono di mantenere una memoria del client, condivisa da tutte le Servlet di uno stesso server, durante una serie di chiamate dalla stessa sorgente. Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 18/28 6

Server-side Programming: Java servlets Parte II

Server-side Programming: Java servlets Parte II Corso di Laurea Specialistica in Ingegneria Informatica Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Corso di Reti di Applicazioni Telematiche a.a. 2009-2010 Server-side Programming:

Dettagli

27/03/2013. Contenuti

27/03/2013. Contenuti Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Contenuti Virtualizzazione - 3 Macchina virtuale - 4 Architetture delle macchine virtuali - 6 Tipi di virtualizzazione - 7 Monitor della

Dettagli

Servlet API. Programmazione in Ambienti Distribuiti A.A. 2003-04

Servlet API. Programmazione in Ambienti Distribuiti A.A. 2003-04 Servlet API Programmazione in Ambienti Distribuiti A.A. 2003-04 Servlet Interfaccia Java che modella il paradigma richiesta/elaborazione/risposta tipico delle applicazioni lato server Presuppone l esistenza

Dettagli

Web replication. Giuliano. Casale 06/06/2005. casale@elet.polimi.it

Web replication. Giuliano. Casale 06/06/2005. casale@elet.polimi.it Web replication 06/06/2005 Giuliano Casale casale@elet.polimi.it Web replication Soluzione server-side per permettere la scalabilitá Web: il sito Web è replicato su più server, eventualmente dislocati

Dettagli

Introduzione al linguaggio Java: Servlet e JSP

Introduzione al linguaggio Java: Servlet e JSP Introduzione al linguaggio Java: Servlet e JSP Corso di Gestione della Conoscenza d Impresa A. A. 2006/2007 Dipartimento di Informatica Università degli Studi di Bari 1 Servlet e JSP: il contesto Un applicazione

Dettagli

Introduzione alla programmazione Http lato server in Java

Introduzione alla programmazione Http lato server in Java Introduzione alla programmazione Http lato server in Java Tito Flagella Laboratorio Applicazioni Internet - Università di Pisa Slide API Java Titleper il Protocollo Http Programmazione Client java.net.url

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Java Servlet Parte a versione 3.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Parte II: Reti di calcolatori Lezione 9

Parte II: Reti di calcolatori Lezione 9 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 9 Martedì 1-04-2014 1 Applicazioni P2P

Dettagli

CdL MAGISTRALE in INFORMATICA

CdL MAGISTRALE in INFORMATICA 05/11/14 CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di SISTEMI DISTRIBUITI 7. I processi : il naming Prof. S.Pizzutilo Il naming dei processi Nome = stringa di bit o di caratteri utilizzata per

Dettagli

Di seguito ci accingiamo ad analizzare le possibili configurazioni di architettura: Server singolo

Di seguito ci accingiamo ad analizzare le possibili configurazioni di architettura: Server singolo La progettazione dell architettura si concentra sulla scelta dell hardware, dell infrastruttura di rete, e dei componenti software che andranno a costituire il sistema. Gli obbiettivi tecnologici che il

Dettagli

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

Dettagli

Programmazione server-side: Java Servlet

Programmazione server-side: Java Servlet Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos

Dettagli

Flavio De Paoli depaoli@disco.unimib.it

Flavio De Paoli depaoli@disco.unimib.it Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato

Dettagli

URI. Introduzione. Pag. 1

URI. Introduzione. Pag. 1 URI Introduzione Gli URI (Universal Resource Indentifier) sono una sintassi usata in WWW per definire i nomi e gli indirizzi di oggetti (risorse) su Internet. Questi oggetti sono considerati accessibili

Dettagli

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet Indirizzi Internet e Protocolli I livelli di trasporto delle informazioni Comunicazione e naming in Internet Tre nuovi standard Sistema di indirizzamento delle risorse (URL) Linguaggio HTML Protocollo

Dettagli

Indice dei Contenuti

Indice dei Contenuti Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano /24 Global State - 3 Mutua esclusione e sistemi concorrenti - 7 Algoritmi per la Mutua Esclusione - 10 Algoritmi basati su autorizzazioni

Dettagli

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

Come funziona internet

Come funziona internet Come funziona internet Architettura client server URL/URI Richiesta (Request) Risposta (Response) Pagina url e uri Uno Uniform Resource Identifier (URI, acronimo più generico rispetto ad "URL") è una stringa

Dettagli

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI 1 Web Link Monitor... 2 2 Database Browser... 4 3 Network Monitor... 5 4 Ghost Site... 7 5 Copy Search... 9 6 Remote Audio Video

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

RETI INTERNET MULTIMEDIALI

RETI INTERNET MULTIMEDIALI RETI INTERNET MULTIMEDIALI Content Delivery Networks Il documento è adattato da materiale cortesemente messo a disposizione dal Prof. Vittorio Trecordi 1 Nuove esigenze e nuove strategie La diffusione

Dettagli

Contenuti. Applicazioni di rete e protocolli applicativi

Contenuti. Applicazioni di rete e protocolli applicativi Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Tecnologie delle reti di calcolatori Servizi Internet (come funzionano

Dettagli

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

Dettagli

Table of Contents. Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano

Table of Contents. Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Table of Contents Definizione di Sistema Distribuito - 4 Obiettivi Principali di un S.D. - 7 Tipi di Sistemi

Dettagli

22/05/2013. Indice dei Contenuti. Global State (1) Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano

22/05/2013. Indice dei Contenuti. Global State (1) Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano /24 Global State - 3 Mutua esclusione e sistemi concorrenti - 7 Algoritmi per la Mutua Esclusione - 10 Algoritmi basati su autorizzazioni

Dettagli

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Informazioni sul copyright 2004 Copyright Hewlett-Packard Development Company, L.P. Sono vietati la riproduzione, l'adattamento e la

Dettagli

INDICE. Indice. Introduzione

INDICE. Indice. Introduzione V Indice Introduzione XIII Capitolo 1 La programmazione multithread 1 1.1 Cosa sono i thread 2 Utilizzare i thread per dare una possibilità ad altri task 9 Avvio ed esecuzione dei thread 10 Esecuzione

Dettagli

I Principali Servizi del Protocollo Applicativo

I Principali Servizi del Protocollo Applicativo 1 I Principali Servizi del Protocollo Applicativo Servizi offerti In questa lezione verranno esaminati i seguenti servizi: FTP DNS HTTP 2 3 File Transfer Protocol Il trasferimento di file consente la trasmissione

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Session tracking Session tracking HTTP: è stateless, cioè non permette di associare una sequenza di richieste ad un dato utente. Ciò vuol dire che, in generale, se un browser richiede una specifica pagina

Dettagli

Progetto Febbraio 2013 - Appello 1: Diffusione di tweets sul grafo di Twitter

Progetto Febbraio 2013 - Appello 1: Diffusione di tweets sul grafo di Twitter UNIVERSITÀ DEGLI STUDI DI MILANO, DIPARTIMENTO DI INFORMATICA LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE CORSO DI RETI DI CALCOLATORI ANNO ACCADEMICO 2011/2012 Progetto Febbraio 2013 - Appello 1: Diffusione

Dettagli

Parte II: Reti di calcolatori Lezione 10

Parte II: Reti di calcolatori Lezione 10 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 10 Giovedì 3-04-2014 1 Reti per la distribuzione

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28 Indice 25 184 Introduzione XI Capitolo 1 Impostazione dell ambiente di sviluppo 2 1.1 Introduzione ai siti Web dinamici 2 1.2 Impostazione dell ambiente di sviluppo 4 1.3 Scaricamento di Apache 6 1.4 Installazione

Dettagli

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Dettagli

17/05/2013. Indice dei Contenuti. Ruolo del Naming nei SD. Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano

17/05/2013. Indice dei Contenuti. Ruolo del Naming nei SD. Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano /35 Ruolo del Naming nei SD - 3 Denominazione di entità - 4 Sistemi di Naming - 8 Tipologie di Naming - 10 Naming Semplice e Differenti

Dettagli

Table of Contents. Definizione di Sistema Distribuito 15/03/2013

Table of Contents. Definizione di Sistema Distribuito 15/03/2013 Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Table of Contents Definizione di Sistema Distribuito - 4-7 - 13 Definizioni e Principali Caratteristiche

Dettagli

I punti preliminari da trattare

I punti preliminari da trattare Alma Mater Studiorum Università di Bologna Facoltà di Economia - Bologna CLEA, CLED, CLEF,CLEM Prof. Jacopo Di Cocco Idoneità informatica e Sistemi informatici Parte prima Il word wide web e l informazione

Dettagli

Introduzione all elaborazione di database nel Web

Introduzione all elaborazione di database nel Web Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un

Dettagli

La Document Orientation. Come implementare un interfaccia

La Document Orientation. Come implementare un interfaccia La Document Orientation Come implementare un interfaccia Per eliminare l implementazione di una interfaccia da parte di una classe o documento, occorre tirarla su di esso tenendo premuto il tasto ctrl.

Dettagli

Parte II: Reti di calcolatori Lezione 11

Parte II: Reti di calcolatori Lezione 11 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II: Reti di calcolatori Lezione 11 Martedì 14-04-2015 1 Esempio di uso di proxy Consideriamo

Dettagli

Tener traccia del client

Tener traccia del client Tener traccia del client Raramente un applicazione web è costituita da una singola pagina (risorsa). E utile quindi tener traccia dei client che si collegano per rendere più semplice lo sviluppo dell applicazione.

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Accesso ai Dati Ing. Giuseppe D'Aquì Testi Consigliati Eclipse In Action Core J2EE Patterns - DAO [http://java.sun.com/blueprints/corej2eepatterns/patterns/dataaccessobject.html]

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

Universal Resource Identifier (URI) Autore slide: Fabio Vitali

Universal Resource Identifier (URI) Autore slide: Fabio Vitali Universal Resource Identifier (URI) Autore slide: Fabio Vitali 1 Introduzione Esaminiamo: Gli Universal Resource Identifier (URI) 2 URI Gli URI (Universal Resource Identifier) sono una sintassi usata in

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Corso di Applicazioni Telematiche A.A. 2008-09 Lezione n.3 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Caching Web replication Content delivery networks: realizzano

Dettagli

Svantaggi della Commutazione di Circuito. Commutazione di Pacchetto. Struttura di un Pacchetto

Svantaggi della Commutazione di Circuito. Commutazione di Pacchetto. Struttura di un Pacchetto Università degli studi di Salerno Laurea in Informatica I semestre / Commutazione di Pacchetto Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Svantaggi della Commutazione

Dettagli

Framework di Middleware. per Architetture Enterprise

Framework di Middleware. per Architetture Enterprise Framework di Middleware per Architetture Enterprise Corso di Ingegneria del Software A.A.2011-2012 Un po di storia 1998: Sun Microsystem comprende l importanza del World Wide Web come possibile interfaccia

Dettagli

Sistemi Distribuiti Introduzione al corso

Sistemi Distribuiti Introduzione al corso Altri testi di consultazione Sistemi Distribuiti Introduzione al corso Testo di riferimento G.Coulouris, J.Dollimore and T.Kindberg Distributed Systems: Concepts and Design IV Ed., Addison-Wesley 2005

Dettagli

Sistemi informatici in ambito radiologico

Sistemi informatici in ambito radiologico Sistemi informatici in ambito radiologico Dott. Ing. Andrea Badaloni A.A. 2015 2016 Reti di elaboratori, il modello a strati e i protocolli di comunicazione e di servizio Reti di elaboratori Definizioni

Dettagli

Un po di storia: la rete

Un po di storia: la rete Gabriella Pasi Università degli Studi di Milano Bicocca Il Web e i Motori di ricerca Un po di storia: la rete Metà degli anni 60: nasce ARPANET Fine anni 60: standardizzazione dei protocolli Anni 70: la

Dettagli

Un architettura per lo streaming multimediale in ambiente distribuito

Un architettura per lo streaming multimediale in ambiente distribuito tesi di laurea Anno Accademico 2012/2013 relatore Ch.mo prof. Simon Pietro Romano correlatori Ing. Tobia Castaldi candidato Alessandro Arrichiello Matr. M63/43 Contesto: o Content Distribution Networks

Dettagli

Lezione 1 Introduzione

Lezione 1 Introduzione Lezione 1 Introduzione Ingegneria dei Processi Aziendali Modulo 1 Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano I Servizi Web Un Servizio Web è un implementazione software

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Note pratiche sullo sviluppo di servlet (I)

Note pratiche sullo sviluppo di servlet (I) Note pratiche sullo sviluppo di servlet (I) Nel caso in cui sulla macchina locale (PC in laboratorio/pc a casa/portatile) ci sia a disposizione un ambiente Java (con compilatore) e un editor/ambiente di

Dettagli

Il DNS e la gestione degli indirizzi IP. Appunti a cura del prof. ing. Mario Catalano

Il DNS e la gestione degli indirizzi IP. Appunti a cura del prof. ing. Mario Catalano Il DNS e la gestione degli indirizzi IP Appunti a cura del prof. ing. Mario Catalano Indirizzi fisici e indirizzi astratti Ogni macchina all interno di una rete è identificata da un indirizzo hardware

Dettagli

PROTOCOLLI APPLICATIVI PER INTERNET

PROTOCOLLI APPLICATIVI PER INTERNET PROTOCOLLI APPLICATIVI PER INTERNET IC3N 2000 N. 5 La famiglia dei protocolli TCP/IP Applicazioni e-mail,ftp,ssh,www TCP UDP ICMP IP ARP RARP IEEE 802-Ethernet-X25-Aloha ecc. Collegamento fisico 6 1 Protocolli

Dettagli

Livello di Applicazione in Internet

Livello di Applicazione in Internet Università di Genova Facoltà di Ingegneria Livello di in Internet 1. Introduzione Prof. Raffaele Bolla Ing. Matteo Repetto dist Caratteristiche del corso: Docenti o Docente titolare Prof. Raffaele Bolla

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale Unione Europea Regione Sicilia Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale ISTITUTO TECNICO INDUSTRIALE STATALE G. MARCONI EDILIZIA ELETTRONICA e

Dettagli

Lezione n 1! Introduzione"

Lezione n 1! Introduzione Lezione n 1! Introduzione" Corso sui linguaggi del web" Fondamentali del web" Fondamentali di una gestione FTP" Nomenclatura di base del linguaggio del web" Come funziona la rete internet?" Connessione"

Dettagli

Internet e Tecnologia Web

Internet e Tecnologia Web INTERNET E TECNOLOGIA WEB Corso WebGis per Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it Internet e Tecnologia Web...1 TCP/IP...2 Architettura Client-Server...6

Dettagli

Introduzione ai Sistemi Distribuiti

Introduzione ai Sistemi Distribuiti Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione ai Sistemi Distribuiti Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2008/09 Definizioni di SD Molteplici

Dettagli

ROUTINE E PROGRAMMAZIONE

ROUTINE E PROGRAMMAZIONE LEZIONE-TSQL-02 TRIGGER E PROCEDURE (VER03 PAG. 1 / 6 LEZIONE-TSQL-02 TRIGGER E PROCEDURE (VER03 T-SQL PROGRAMMAZIONE PARTE SECONDA ROUTINE E PROGRAMMAZIONE In TSQL è possibile definire alcune routine

Dettagli

Master Quiz. Matteo Zignani. 18 agosto 2014

Master Quiz. Matteo Zignani. 18 agosto 2014 UNIVESITÁ DEGLI STUDI DI MILANO LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE PROGETTO LABORATORIO DI RETI DI CALCOLATORI Master Quiz Matteo Zignani 18 agosto 2014 1 PRESENTAZIONE DEL PROBLEMA Lo studente

Dettagli

SERVLET & JSP DISPENSE

SERVLET & JSP DISPENSE SERVLET & JSP DISPENSE PROGRAMMAZIONE LATO SERVER Un server deve rispondere alle richieste del client e permettere di visualizzare le pagine Web. Questo compito è svolto da un software ben definito, il

Dettagli

Laboratorio di reti II: Servlet

Laboratorio di reti II: Servlet Laboratorio di reti II: Servlet Stefano Brocchi brocchi@dsi.unifi.it 16 marzo, 2009 Stefano Brocchi Laboratorio di reti II: Servlet 16 marzo, 2009 1 / 34 Le servlet Una servlet è una classe Java eseguita

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Laboratorio di reti II: Java Server Pages

Laboratorio di reti II: Java Server Pages Laboratorio di reti II: Java Server Pages Stefano Brocchi brocchi@dsi.unifi.it 6 aprile, 2009 Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, 2009 1 / 34 JSP - Java Server Pages Le

Dettagli

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli Sommario Introduzione Architettura Client-Server Architettura a Due Livelli Architettura a Tre Livelli Server Web Browser Web Introduzione La storia inizia nel 1989 Tim Berners-Lee al CERN, progetto WWW

Dettagli

MediaLibraryOnLine. la biblioteca a portata di click

MediaLibraryOnLine. la biblioteca a portata di click MediaLibraryOnLine la biblioteca a portata di click 1 Glossario Redazione: Claudia Arnetoli Coordinamento: Luca Brogioni, Marco Piermartini, Marco Pinzani Sistema Documentario Integrato Area Fiorentina

Dettagli

Supporto per servizi di File Hosting

Supporto per servizi di File Hosting Supporto per servizi di File Hosting Progetto per il corso di Reti di Calcolatori LS a.a 2005-2006 Valerio Guagliumi 0000236769 Abstract Questa relazione descrive il progetto realizzato di un sistema di

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

Architetture Web parte 2

Architetture Web parte 2 Architetture Web parte 2 Programmazione in Ambienti Distribuiti A.A. 2004-05 Sessione Un insieme di richieste, provenienti dallo stesso browser e dirette allo stesso server, confinate in un dato lasso

Dettagli

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

APPENDICE A Servlet e Java Server Page

APPENDICE A Servlet e Java Server Page APPENDICE A Servlet e Java Server Page A.1 Cosa è una Servlet e come funziona Una servlet è un particolare tipo di applicazione Java, in grado di essere eseguita all'interno di un web server e di estenderne

Dettagli

Corso Creare Siti WEB

Corso Creare Siti WEB Corso Creare Siti WEB INTERNET e IL WEB Funzionamento Servizi di base HTML CMS JOOMLA Installazione Aspetto Grafico Template Contenuto Articoli Immagini Menu Estensioni Sito di esempio: Associazione LaMiassociazione

Dettagli

Servlet e JDBC. Servlet e Web Server. Servlet e Web Server. Servlet e Web Server. Richieste. Servlet. Servlet:

Servlet e JDBC. Servlet e Web Server. Servlet e Web Server. Servlet e Web Server. Richieste. Servlet. Servlet: e JDBC Programmazione in Rete e Laboratorio Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino e : estensioni del Java API permettono di scrivere

Dettagli

Lezione di Basi di Dati 1 18/11/2008 - TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP

Lezione di Basi di Dati 1 18/11/2008 - TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP EVOLUZIONE DEL WEB: PAGINE STATICHE vs PAGINE DINAMICHE Il Web è nato a supporto dei fisici, perché potessero scambiare tra loro le informazioni inerenti le loro sperimentazioni. L HTTP è nato inizialmente

Dettagli

Ipertesto. Reti e Web. Ipertesto. Ipertesto. Ipertestualità e multimedialità

Ipertesto. Reti e Web. Ipertesto. Ipertesto. Ipertestualità e multimedialità Ipertesto Reti e Web Ipertestualità e multimedialità Ipertesto: documento elettronico costituito da diverse parti: nodi parti collegate tra loro: collegamenti Navigazione: percorso tra diversi blocchi

Dettagli

Cluster per architetture a componenti

Cluster per architetture a componenti Luca Cabibbo Architetture Software Cluster per architetture a componenti Dispensa ASW 442 ottobre 2014 Un buon progetto produce benefici in più aree. Trudy Benjamin 1 -Fonti [IBM] Clustering Solutions

Dettagli

Il Livello delle Applicazioni

Il Livello delle Applicazioni Il Livello delle Applicazioni Il livello Applicazione Nello stack protocollare TCP/IP il livello Applicazione corrisponde agli ultimi tre livelli dello stack OSI. Il livello Applicazione supporta le applicazioni

Dettagli

JavaServer Pages: Introduzione

JavaServer Pages: Introduzione JavaServer Pages: Introduzione Gianluca Moro gianluca.moro@unibo.it Dipartimento di Elettronica, Informatica e Sistemistica Università di Bologna Sistemi reali in JSP!! ofoto.com: stampa e gestisce foto

Dettagli

obbligatori (individuati con un asterisco [*]) sia campi non obbligatori e, in relazione ai campi obbligatori, un eventuale rifiuto da parte dell

obbligatori (individuati con un asterisco [*]) sia campi non obbligatori e, in relazione ai campi obbligatori, un eventuale rifiuto da parte dell INFORMATIVA PRIVACY E NOTE LEGALI Scegliendo di accedere al sito l Utente accetta i termini e le condizioni del presente Avviso Legale che ne disciplina l uso. Lo scopo del sito è quello di fornire informazioni

Dettagli

APPENDICE. Procedure in SQL (1)

APPENDICE. Procedure in SQL (1) APPENDICE Procedure in SQL Transazioni in SQL Embedded SQL Remote Procedure Call Appendice 1 Procedure in SQL (1) Standard SQL2 permette di definire procedure, associate a singoli comandi SQL, memorizzate

Dettagli

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 2

Reti di Calcolatori. Master Bio Info Reti e Basi di Dati Lezione 2 Reti di Calcolatori Sommario Software di rete TCP/IP Livello Applicazione Http Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) I Protocolli di comunicazione

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Ai sensi dell art. 13 D.lgs. 30 giugno 2003, n. 196, Codice in materia di protezione dei dati personali

Ai sensi dell art. 13 D.lgs. 30 giugno 2003, n. 196, Codice in materia di protezione dei dati personali Privacy Policy Ai sensi dell art. 13 D.lgs. 30 giugno 2003, n. 196, Codice in materia di protezione dei dati personali Con la presente nota Studioforward intende informare gli utenti visitatori del dominio

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Introduzione a Servlet e Struts 2 Ing. Giuseppe D'Aquì 1 Testi Consigliati Java Enterprise in a nutshell, 3 rd edition (O'Reilly) Struts 2 in Action Brown, Davis, Stanlick

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

Architetture e strumenti per la sicurezza informatica

Architetture e strumenti per la sicurezza informatica Università Politecnica delle Marche Architetture e strumenti per la sicurezza informatica Ing. Gianluca Capuzzi Agenda Premessa Firewall IDS/IPS Auditing Strumenti per l analisi e la correlazione Strumenti

Dettagli

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Appendice:: Spunti sulla sicurezza e Internet Materiale fuori programma dedicato rigorosamente solo ai curiosi. prof.

Appendice:: Spunti sulla sicurezza e Internet Materiale fuori programma dedicato rigorosamente solo ai curiosi. prof. Operatore Informatico Giuridico Informatica Giuridica di Base A.A 2003/2004 I Semestre Appendice:: Spunti sulla sicurezza e Internet Materiale fuori programma dedicato rigorosamente solo ai curiosi prof.

Dettagli

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

ESERCITAZIONE Semplice creazione di un sito Internet

ESERCITAZIONE Semplice creazione di un sito Internet ESERCITAZIONE Semplice creazione di un sito Internet Sistemi e Tecnologie Informatiche - Prof. Gregorio Cosentino 1 Internet Una rete globale che connette milioni di computer in tutto il mondo, anarchica

Dettagli