CLIENT WEB. Strumento di interfaccia tra l utente ed il sistema Web (browser).

Documenti analoghi
Applicazioni di rete 1

Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste. Basi di Dati e Web. Credits to: Prof. M. Di Felice UniBO

Tecnologie di Sviluppo per il Web

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

Basi di Dati-IX. Basi di dati e web. Introduzione. Schema. Basi di dati e web. Corso di Laurea in Informatica Anno Accademico 2013/2014

modulo: siti web centrati sui dati

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)

Il Web. Struttura e servizi

Informatica: arte e mestiere 3/ed

Basi di Dati Architetture Client/Server

Laboratorio di Progettazione Web Applicazioni Web

Progettazione Siti Web: Web

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

Come funziona internet

Introduzione all inguaggio HTML e CSS3 INTRODUZIONE. Prof.ssa Cristina Gena

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

Architetture Client/Server e World Wide Web

Capitolo 16 I servizi Internet

Protocolli e architetture per WIS

IL LIVELLO APPLICAZIONI WEB e HTTP

RETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine

Sommario APPUNTI WEB SERVER E PHP

World Wide Web. Angelo Di Iorio. ALMA MATER STUDIORUM UNIVERSITA DI BOLOGNA

Reti di Calcolatori. IL LIVELLO APPLICAZIONI WEB e HTTP

IL LIVELLO APPLICAZIONI WEB e HTTP

Introduzione a Internet e World Wide Web

IL LIVELLO APPLICAZIONI WEB e HTTP

Tecnologie di Sviluppo per il Web

Il Web come Interfaccia Utente di un Sistema Informativo

Modulo o Form in Html

D B M G Il linguaggio HTML

Programmazione Web D B M G. Il linguaggio HTML

Livello applicazione. Fondamenti di Informatica

@2011 Politecnico di Torino 1

Javascript e CSS nelle pagine WEB

Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

Linguaggi di Programmazione

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

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

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

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

Uso di Internet: Esempio. Prof. Franco Callegati

A. Ferrari introduzione alle basi di dati

Tipi fondamentali di documenti web

Introduzione a Java Server Pages (JSP) (estratto) SAPIENZA Università di Roma Corso di Architetture Software Orientate ai Servizi

Programmazione Web. Introduzione

Internet. Internet. Internet Schema di indirizzamento. Internet. Storia: Definizioni: Schema di indirizzamento. 60: ARPAnet (Dip.

Programmazione Web D B M G. Il linguaggio HTML

Luca Tesei. Laboratorio di Sviluppo Web: Le Basi. Modulo IFTS. Fermo 31/03, 03/04, 07/ Prof. Luca Tesei Università di Camerino 1

D B M G. Basi di dati. Programmazione Web: HTML. Programmazione Web. Il linguaggio Politecnico di Torino 1

World Wide Web (WWW o Web)

D B M G. Basi di dati. Programmazione Web: HTML. Programmazione Web. Il linguaggio Politecnico di Torino 1

Alberti, Bruschi, Rosti DICo - Università degli Studi di Milano 1

Corso di JavaScript. Prerequisiti. A1 - Introduzione. Conoscenza HTML Architettura client-server. M. Malatesta A1-Introduzione-01 14/05/2012

@2011 Politecnico di Torino 1

@2011 Politecnico di Torino 1

Introduzione alle basi di dati. A. Ferrari

La tecnologia per le applicazioni Web

Laboratorio di Progettazione Web Introduzione

A. Ferrari introduzione alle basi di dati

TECN.PROG.SIST.INF. I Socket Roberta Gerboni

Istituto d Istruzione Secondaria Superiore A. Righi Taranto Informatica e Telecomunicazioni Informatica. HTML, PHP e MySQL

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

venerdì 31 gennaio 2014 Programmazione Web

Architetture Web: un ripasso

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati

Mariano Pirrotta. A c t i v e S e r v e r P a g e * * *

Internet: la rete delle reti

Il World Wide Web. Marco Porta - CIM: Web Design & Technologies

INFORMATICA. Prof. MARCO CASTIGLIONE. Istituto Tecnico Statale Tito Acerbo - PESCARA

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CGI. Ing Cesare Monti (revisionato da Andrea Omicini)

Componenti di una applicazione. Esempio: Microsoft Word

CGI. Ing Cesare Monti (revisionato da Andrea Omicini)

Appunti di Sistemi A cura del prof. ing. Mario Catalano. Internet e il Web

Laboratorio Progettazione Web Applicazioni Web

Prof. Pagani corrado SISTEMI INFORMATIVI E DATABASE

Lezione 6. Siti, Utenti e Sessioni

Programma del Corso. Dati e DBMS DBMS relazionali SQL. Progettazione di una base di dati Normalizzazione

Laboratorio di Applicazioni Internet Anno Accademico 2005/2006

Applicazioni web. Sommario. Parte 4 http. http Metodi, intestazioni e codici di stato get post Parametri e cookie. Applicazioni web.

Introduzione. Java HTTP. G. Prencipe

Parte II.4 World Wide Web

Tecnologie di Sviluppo per il Web

Comune di Venezia. Scheda descrittiva del programma

Introduzione alle Reti e Linguaggio HTML

Reti informatiche. 2. Internet e navigazione

Tecnologia dell Informazione

Corso di Web Programming

SOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito

Basi di Dati II. Introduzione al corso

Linguaggio HTML. Elementi di Informatica e Programmazione Università degli Studi di Brescia. Il Linguaggio HTML

World Wide Web. WWW e Tim Berners Lee

Parte II: Reti di calcolatori Lezione 7 (31)

Internet: cenni su struttura e funzionamento.

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 8 novembre Corso di laurea in Economia

Progettazione e sviluppo WEB

Web applications con. breve introduzione. 23/10/12 Davide Zedda ITC Levi

Transcript:

CLIENT WEB Strumento di interfaccia tra l utente ed il sistema Web (browser). Funzioni svolte: Riceve ed esegue i comandi dell utente Richiede ad un server (web server) i documenti Interpreta i formati di codifica (HTML, GIF, JPEG; MP3..) che costituiscono ogni singolo documento e li presenta all utente WEB Si occupa della gestione, del reperimento e dell invio dei documenti (ovvero dei vari oggetti digitali che li compongono) richiesti dai client. Quando l utente attiva un collegamento (agendo su un link) o specifica esplicitamente l indirizzo di un documento, il client invia una richiesta ad un determinato server con l indicazione del documento richiesto. Il server web interpreta la richiesta, reperisce il documento richiesto e lo invia al client usando e specificando il tipo di documento. Ogni pagina gestita dal server è identificata univocamente tramite una forma sintattica convenzionale detta URL (Uniform Resource Locator) che ha la forma: protocollo://nome_calcolatore/nome_documento protocollo rappresenta l insieme di regole che browser e server web devono seguire per inviare la richiesta di una pagina (browser) e per inviare la pagina richiesta (server web). Il protocollo usato è (HyperText Transfer Protocol). nome del calcolatore rappresenta il nome del server che contiene le pagine cercate. Esempio: http: // www.unibo.it/portale/master/default.htm Richiesta della pagina Master (che contiene tutti i master attivati presso l Università di Bologna) situata sul server www.unibo.it che rappresenta la home page del portale dell Università di Bologna. Alla ricezione della richiesta indicata, il server compie una ricerca nell archivio delle pagine che gestisce e quindi produce un messaggio di risposta che contiene la pagina richiesta. Protocollo di applicazione: nome del documento rappresenta il nome della pagina cercata. 1

UTENTE INVIA DOCUMENTO //WWW.FOO.IT Nell ipotesi che la pagina sia un semplice documento esso è memorizzato come una sequenza di caratteri. BROWSER INTERPRETAZIONE FILE E VISUALIZZAZIONE BROWSER UTENTE REQUEST REPERIMENTO FILE SUL FILE SYSTEM RESPONSE INDEX.HTM FIG.GIF STYLE:CSS Per consentire che, quando riprodotto sul video del client, il documento abbia la struttura voluta(suddivisione in paragrafi, presenza di titoli e sottotitoli, particolare evidenziazione ad alcune parti etc..), occorre descriverne tale struttura tramite i comandi di un linguaggio di marcatura (mark up language). Il più noto di questi linguaggi è HTML (HyperText Markup Language). Una volta arrivata la pagina, il browser provvede a visualizzarla, utilizzando un particolare programma in grado di interpretare i comandi HTML(interprete HTML).. Il documento richiesto può essere statico o dinamico Documento web statico : costituito da una serie di oggetti digitali memorizzati in file che vengono prodotti una volta per tutte e contenuti nel File System (fino a quando il gestore di sistema non decide di modificarli o di rimuoverli). Documento web dinamico: i componenti del documento vengono elaborati e composti sul lato server solo nel momento in cui arriva una richiesta eplicita. (es. risultati di una ricerca su data base). Documenti dinamici (documenti i cui contenuti vengono elaborati e composti sul lato server al momento dell arrivo di una richiesta), il server mette in esecuzione un programma che interrogando il database compone il documento da inviare al browser. In questo caso la URL inviata dal browser identifica un file corrispondente ad un programma: http://www.unibo.it/dida/calendario.exe 2

Comportamento del server. Più in generale, la richiesta avrebbe potuto contenere dei parametri, per esempio: http://www.unibo.it/dida/calendario.exe? giorno=010901&corso=c50 specificati in uno standard noto come Common Gateway Interface, CGI. In coda ad una URL e separata da questa con il carattere? può essere posta una lista di coppie: nome parametro=valore ognuna separata dalla successiva dal carattere &. 1) Individua nel suo file system il file richiesto e stabilisce che esso corrisponde ad un programma. Mette in esecuzione il programma mettendosi in attesa del risultato. 2) Alla conclusione della sua esecuzione, il programma produce un risultato e lo rende disponibile al server web (testo, immagine..). 3) Il server acquisisce i dati, antepone un opportuna intestazione ed invia il risultato come risposta al browser. 4) Il browser riceve il messaggio di risposta, legge l intestazione, ottenendo l informazione sul tipo e la lunghezza del file contenuto nel corpo del messaggio, legge il corpo del messaggio e lo visualizza. Per elaborare un documento dinamico un server web può: - utilizzare appositi programmi (backend) o librerie di funzioni tramite il protocollo Common Gateway Interface (CGI), con cui, nella richiesta, si specifica il nome del programma e i parametri necessari; - utilizzare nel web server linguaggi di scripting (es.asp e PHP) per la realizzazione dei programmi richiesti; - con l introduzione di un application server che realizza le funzioni richieste utilizzando un ambiente di programmazione evoluto. CGI (Common Gateway Interface) Tecnologia ampiamente diffusa per la composizione dei documenti dinamici. Sviluppata da NCSA (National Center Supercomputer Applications). Stabilisce le modalità di interazione tra server web e applicazioni dedicate alla generazione di documenti dinamici (programmi CGI). Le applicazioni possono essere scritte in diversi linguaggi a seconda del tipo di documento da generare (C,C++, Perl..) Il browser specifica nella URL - indirizzo del server - nome del programma da eseguire - eventuali parametri 3

Il server CGI (Common Gateway Interface) - riceve la richiesta - utilizza lo standard CGI per richiamare il programma e ritornare i risultati Il programma CGI deve specificare di quale documento si tratta (testo, immagine). Il server utilizza l opportuno formato (HTML, JPEG..) per preparare il documento da inviare al browser via. Linguaggi di script server side. intepretati ed eseguiti dal server web o da un modulo software (application server) contenuto nel server web. Linguaggi più diffusi: - ASP (Active Server Pages) utilizzato nei server Web della Microsoft. - PHP (PHP: Hypertext Prepocessor) legato al server web open source Apache. - Cold Fusion (Macromedia) - JSP (Java ServerPages). Applet Java. - programmi Java scaricati dal server ed eseguiti sul client. Possono essere anche complessi. Vengono interpretati dal browser tramite l inteprete Java ed eseguiti tramite la Java virtual machine che utilizza il S.O. del client - usati per aggiungere effetti multimediali ed interattivi alle pagine web (musica, animazioni, giochi interattivi, video, etc.). - possono interagire con il server ed il database. - problema della sicurezza In generale, questi linguaggi consentano di inserire segmenti di codice (es.asp: scritti in Visual Basic per accessi ai database o per chiamate alle DLL)) dentro uno scheletro (template) in un documento HTML(con cui si costruisce ad esempio una tabella, si usano i colori) Quando la pagina viene richiesta viene eseguito il codice ed il documento risultante inoltrato al client. L esecuzione del codice richiede di norma l accesso ad un database. (es. catalogo on line: le informazioni relative ad ogni singolo prodotto sono contenute in un database) 4

Piattaforme di sviluppo (Application server). Piattaforma Java. Si basa sullo sviluppo delle applicazioni in linguaggio Java (dette servlet) o JSP su server applicativi basati sull architettura J2EE. (IBM Websphere, BEA Weblogic, Tomcat). La piattaforma offre servizi per la sicurezza, gestione e profilazione degli utenti che accedono alle applicazioni, per l accesso controllato ai database.. Piattaforma.Net Strettamente legata ai sistemi operativi Windows di classe server. Capacità di supportare numerosi linguaggi di programmazione e di poter integrare oggetti software preesistenti. Piattaforma Zope Open source. Si basa sul linguaggio di programmazione Python. Struttura a tre livelli Il programma messo in esecuzione dietro il server web prende il nome di back end ed implementa la logica applicatica (LA). Il server web ha il compito di gestoredella comunicazione con i browser e di controllore dei processi di back-end. Specializzazione. Ogni sottosistema è realizzato per svolgere compiti particolari e deve solo condividere un protocollo con gli altri sottosistemi (CGI : protocollo applicativo tra server web e back end) browser server web back end Struttura a quattro livelli Se la logica applicativa richiede una gestione di dati sofisticata, dietro al back end potrà essere messo un DBMS. Il back end diventa client nei confronti del DBMS tutte le volte che è necessario operare in termini di memorizzazione e reperimento dei dati. In generale, ogni volta che è necessario un componente che realizza la funzione applicativa richiesta si può fare in modo che il back end richiami tale componente invece di realizzare nuovamente la stessa funzione. (back- end come gestore di componenti distribuite). browser server web back end DBMS 5