La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Protocolli e architetture per WIS. Cronologia di Internet 1961-1964 ricerche sulla commutazione di pacchetto (Leonard Kleinrock) 1967 Nasce il progetto.

Presentazioni simili


Presentazione sul tema: "Protocolli e architetture per WIS. Cronologia di Internet 1961-1964 ricerche sulla commutazione di pacchetto (Leonard Kleinrock) 1967 Nasce il progetto."— Transcript della presentazione:

1 Protocolli e architetture per WIS

2 Cronologia di Internet ricerche sulla commutazione di pacchetto (Leonard Kleinrock) 1967 Nasce il progetto Arpanet 1969 Primo login di Arpanet 1972 Prima demo pubblica Lavori di Cerf e Kahn su TCP 1979 Nasce CSNET 1983 TCP/IP protocollo ufficiale Arpanet 1986 Entra in funzione la rete ad uso civile NSFNET... Il Web non esiste ancora..

3 Cronologia del WEB 1989 Tim Berners Lee pubblica “Hypertexts at Cern” Il primo browser WWW in uso al Cern 1994 Marc Andressen fonda Netscape 1995 versione 1.0 di MS Internet Explorer (progetto O’Hare, distribuito con il nome di Internet Jumpstart Kit in Microsoft Plus! per Windows 95)

4 ARCHITETTURA BASE CLIENT SERVER Web server FILE SYSTEM - pagine statiche A.htm l B.htm l C.htm l D.htm l HTTPHTTP Web client (browser)

5 Il protocollo HTTP HyperText Transfer Protocol Protocollo a livello di applicazione per lo scambio di ipertesti multimediali Prescrive il formato di –nomi delle risorse (URL) –domande –risposte Versioni: HTTP/0.9, 1.0,

6 Web browser (client) Applicazione in grado di: –accedere alla rete secondo il protocollo HTTP –richiedere risorse (pagine Web) identificate da un URL a un server –interpretare comandi di formattazione (pagine Web HTML) e rendere a video la risposta del server

7 Web browser dinamico –capacita’ di eseguire script Client-side scripting (ad es. JavaScript, VisualBasic scripting) Javascript permette di scrivere script in pagine web, eseguiti dal browser, che accedono a oggetti del browser modificandoli dinamicamente –capacita’ di eseguire programmi (es. Java applets) Programmi java inseriti in pagine web ed eseguiti all’interno di pagine web, mediante Java virtual machine

8 Client-side scripting Obiettivo: rendere le pagine più interattive Soluzione: inserire nella pagina HTML piccoli programmi detti script Uno script reagisce a un evento prodotto dall’utente e modifica il documento Il codice script è interpretato dal browser + marcatura & scripting …. contenutotesto Ciao!Ciao! Textbox pagina interattiva

9 Web server Funzioni base: –accesso alla rete secondo il protocollo HTTP –invio di risorse identificate da un URL a un client (pagine memorizzate sulla macchina server) –lancio di programmi in risposta a richieste –controllo e registrazione degli accessi =====  Per produrre pagine “al volo” in base alle esigenze dell’utente e prelevando da contenuti strutturati (p.e. database) –Scripting client-side non basta –Soluzioni: Architetture per produrre contenuti dinamici a lato-server

10 Web server dinamico Funzioni avanzate: –monitoraggio e amministrazione –connessione a basi di dati –esecuzione efficiente di applicazioni esterne Web server dinamico –non solo recupera pagine HTML dal file system ma può eseguire applicazioni TECNOLOGIE : CGI; API, Java Servlet; Java Server Pages JSP (..ASP, PHP)

11 Web server + Common Gateway Interface Interfaccia che consente al Web Server di eseguire applicazioni esterne in grado di creare pagine dinamicamente CGI

12 Web server + CGI Web server FILE SYSTEM - pagine statiche A.htm l B.htm l C.htm l D.htm l Cgi-bin Xyz.exeabc.exe Pagine eseguibili CGI HTTPHTTP Web client (browser)

13 Intercetta le richieste, verifica se sono ammesse, decodifica i parametri e lancia le applicazioni esterne Scopi: Consente al web server di eseguire applicazioni richieste dal client CGI

14 Caratteristiche di CGI CGI script, programma eseguibile CGI script, programma eseguibile Definisce un insieme di variabili di ambiente utili alla applicazione (ad es. parametri inviati dal client) Definisce un insieme di variabili di ambiente utili alla applicazione (ad es. parametri inviati dal client) %&£$$ pp*&£$

15 Invio di parametri a un programma CGI Il client puo’ usare due metodi: GET POST GET: i parametri sono codificati nell’URL bin/xyz?par=val POST : i parametri sono spediti al server separatamente, usando il body del messaggio di richiesta HTTP NB: il metodo POST richiede l’uso di un costrutto HTML chiamato FORM (modulo da compilare)

16 Programma CGI- accesso BD Programma CGI- accesso BD Web server CGI DBMS

17 Accesso a BD - CGI 1. l’utente richiede il servizio selezionando il bottone submit, dopo aver completato i campi della form 2. il server richiama il gateway 3. il gateway esegue il proprio codice con i parametri ricevuti; in questa fase può interagire con altre risorse, quindi anche con una BD. 4. il gateway restituisce i risultati al server Web 5. il server Web restituisce i risultati al client

18 Revisione critica di CGI Il web server genera un nuovo processo cgi ad ogni richiesta Il processo viene terminato alla fine del computo della risposta Altissimo sovraccarico di esecuzione per la creazione e distruzione di processi Impossibile: –Tenere informazioni sulla sessione dell’utente in memoria centrale (serve un database) –Tenere allocate risorse condivise tra più richieste o più utenti (es. pool di connessioni a database)

19 Web Server Dinamico - Application server BROWSER WEB SERVER DATABASE 1 API, JAVA SERVLET 2 JSP … Scripted page HTML page Scripting lato server Estensione con API, Servlets

20 Web Server - API Web server DBMS Gateway API API = interfaccia per estendere il server con servizi non standard

21 Accesso a BD - JDBC JDBC (Java Database Connectivity): insieme di interfacce (API) che realizzano la connettività ai DBMS commerciali più diffusi – Basato sul linguaggio Java – Offre supporto per le operazioni normalmente eseguite su una BD attraverso SQL: Uso di applet Java: applicazione che risiede sul server Web e che viene scaricata e visualizzata attraverso un browser, ogni volta che la pagina HTML che la ospita viene richiesta. Sviluppo di vere e proprie applicazioni Java che accedono a database diversi.

22 Web Server - API Web Server - API PRO –efficienza: l’interfaccia e’ nello stesso processo del Web server (es. e’ una libreria collegata dinamicamente) CONTRO –dipendenza da API proprietarie (NSAPI, ISAPI ) non standardizzate

23 Web Server - Java Servlet Web Server - Java Servlet Applicazioni (servlet) scritte in Java Servlet eseguite nello stesso processo del web server, per minor carico di comunicazione interprocesso Indipendenza dalla piattaforma grazie a Java Sicurezza gestita mediante Security Manager della JVM Gestione degli errori con il meccanismo delle eccezioni Java Disponibilita’: distribuzione gratuita di Java Servlet Development Kit contenente la libreria Java servlet

24 Valutazione La presentazione HTML è mescolata al codice applicativo Esigenza: serve una soluzione più semplice per produrre pagine in modo dinamico a lato server

25 Server-side scripting Idea: inserire istruzioni per il calcolo dei contenuti dinamici all’interno della pagina HTML Il codice è interpretato dal server …. …. ….<%>…... Template: testo+script da interpretare sul server Web server + Esecutore script

26 JSP è una architettura per server-side scripting proposta da Sun (come alternativa a ASP di Microsoft) Si fonda su tecnologia Java: linguaggio Java, Java Servlet, Java Beans E’ necessario disporre di un ambiente di compilazione apposito (ad es. Tomcat di Apache Jakarta) Java Server Pages (JSP)

27 1 Esempio Flusso dei messaggi BROWSER SERVER DATABASE L’utente richiede una pagina 2. Il server preleva la pagina 3. Il server passa il file al browser 4. L’utente compila la form e la passa al server 5. Il server esegue il codice JSP 6. Il file JSP comporta l’accesso ad un database 7. L’esecuzione JSP genera una pagina HTML 8. Il server invia la pagina HTML al browser


Scaricare ppt "Protocolli e architetture per WIS. Cronologia di Internet 1961-1964 ricerche sulla commutazione di pacchetto (Leonard Kleinrock) 1967 Nasce il progetto."

Presentazioni simili


Annunci Google