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

Slides:



Advertisements
Presentazioni simili
Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Advertisements

Programmazione in Java
Corso di Fondamenti di Informatica
JavaScript 1. Per cominciare.
Applet Java.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
(Appunti da Scott Mitchell, James Atkinsons - Active Server Pages 3.0 – ed. Apogeo) Le pagine ASP.
PHP.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Web Services.
Java Enterprise Edition (JEE)
Laboratorio di Progettazione Web Introduzione AA 2009/2010 Chiara Renso ISTI - CNR -
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Tecnologie di Sviluppo per il Web
Internet e Web Dinamico
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Active Server Pages.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Linguaggi per il Web Laboratorio di Applicazioni Informatiche II mod. A.
1 Basi di dati e Web Prof. Stefano Paraboschi Prof. Barbara Pernici.
Introduzione al linguaggio Java
Architettura del World Wide Web
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Corso di Informatica A.A
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
Web: linguaggi e strumenti di produzione
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
APPLICAZIONI WEB In questo corso impareremo a scrivere un'applicazione web (WA) Marco Barbato - Corso di Applicazioni Web – A.A
Introduzione ad ASP.net
Architettura Java/J2EE
Realizzazione siti web Pagine web dinamiche - javascript.
Corso di PHP.
Introduzione al Web Concetti Fondamentali
1 Internet e nuove tecnologie Anno Accademico Prof. Flavio De Paoli Dott. Marco Loregian.
Ing. Enrico Lecchini BetaTre S.r.l.
Guida IIS 6 A cura di Nicola Del Re.
Il PHP e il vostro sito cos'è e come funziona. HTML... Linguaggio formattazione Non interattivo Non dinamico.
HTML Creazione di moduli Prof.ssa Daniela Decembrino.
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
Gianpaolo Cecere Introduzione
Introduzione alla programmazione web
Common Gateway Interface. Dynamic HTML le risposte inviate al client sono (parzialmente o totalmente) create on-the-fly (al volo) dopo aver ricevuto il.
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
JavaScript Programmare il client. Cenni storici Alice Pavarani2  Nasce nel 1995 (Netscape): da LiveScript a JavaScript  La risposta di Microsoft: Jscript.
Web Information Systems Prof
INTRODUZIONE A JAVASCRIPT
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
Creato da Riccardo Nuzzone
1 Corso di Ingegneria del Web A A Domenico Rosaci 19 - Web Applications.
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Laboratorio di Servizi Web - servlet - Ardissono 1 Chiarimenti su Servlet Note aggiuntive su architettura di applicazione web che usa Servlet per gestire.
1 Basi di dati e Web Prof. Stefano Paraboschi Prof. Barbara Pernici.
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
Servizi Internet Claudia Raibulet
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Tecnologie lato Server: i Server Web © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto.
Eprogram informatica V anno.
PHP.  HTML (Hyper Text Markup Language)  CSS (Cascading Style Sheets)  Javascript (linguaggio di programmazione client)  PHP ( Hypertext Preprocessor.
Architetture software
Il mondo del web Includere Digital-mente – Corso livello 4 docente: prof.ssa MANUELA MARSILI.
Corso Web Developer Lezione 2 – HTML e ASP. I limiti delle pagine HTML Nella lezione precedente abbiamo visto che con HTML e JavaScript è possibile scrivere.
INTERNET E INTRANET Classe VA SIA. La Storia di INTERNET ’ – ARPANET 1969 – anno di nascita università Michigan - Wayne 1970 – – INTERNET.
Eprogram informatica V anno. Programmare in rete.
ASP – Active Server Pages - 1 -Giuseppe Tandoi ASP – Active Server Pages Tecnologia per lo sviluppo di pagine dinamiche.
Transcript della presentazione:

Protocolli e architetture per WIS

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..

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)

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)

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,

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

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

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 <HTML>….</HTML><script>…...</script> contenutotesto Ciao!Ciao! Textbox pagina interattiva

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

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)

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

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)

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

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*&£$

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)

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

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

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)

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

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

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.

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

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

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

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

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)

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