protocolli e architetture per wis. web information systems (wis) un web information system (wis) usa...
TRANSCRIPT
![Page 1: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/1.jpg)
Protocolli e architetture Protocolli e architetture per WISper WIS
![Page 2: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/2.jpg)
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 devono• essere estendibili, per permettere l'impiego di nuove tecnologie e nuove
forme di interazione (e.g., interazioni multimodali)
• gestire informazioni eterogenee, come documenti, dati strutturati, risorse multimediali, informazioni semi-strutturate (XML)
• integrare diverse tipologie di sorgenti e di componenti (architetture multi-livello)
• offrire una gestione dello stato che rifletta il contesto applicativo corrente
• gestire informazioni sugli utenti e il loro ambiente (contesto)Versioni: HTTP/0.9, 1.0,
![Page 3: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/3.jpg)
Livelli di complessità
Siti informativi• chi siamo / prodotti / servizi / contatti
• newsletter, giornale, blog, ...
Siti dispositivi• scelta prodotto, configurazione, acquisto
Sistemi gestionali via Web• CRM, SCM, ERP, MRP, …
Sistemi autonomi• negoziazione, transazione, monitoraggio
Portali, marketplace, marketspace• aggregazione di più aziende/prodotti correlati: HTTP/0.9, 1.0,
![Page 4: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/4.jpg)
Architettura di riferimento a più livelli
Ogni livello ha un ruolo ben definito
Ogni livello è implementato da uno o più server
Più server possono condividere lo stesso HW o risiedere su dispositivi dedicati
La comunicazione tra i livelli avviene attraverso la rete (HTTP)
![Page 5: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/5.jpg)
Architettura di base client-server
![Page 6: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/6.jpg)
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)– richieste HTTP– risposte HTTP
• Versioni: HTTP/0.9, 1.0,
![Page 7: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/7.jpg)
Client (web browser)
• 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
![Page 8: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/8.jpg)
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
![Page 9: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/9.jpg)
Web server (cont.)
http://news.netcraft.com
![Page 10: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/10.jpg)
Web server (cont.)
http://news.netcraft.com
![Page 11: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/11.jpg)
Web browser dinamico
![Page 12: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/12.jpg)
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
![Page 13: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/13.jpg)
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)
![Page 14: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/14.jpg)
Web server + Common Gateway Interface
Interfaccia che consente al Web Server di Interfaccia che consente al Web Server di eseguire applicazioni esterne in grado di creare eseguire applicazioni esterne in grado di creare pagine pagine dinamicamentedinamicamente
![Page 15: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/15.jpg)
Intercetta le richieste, verifica se sono ammesse, Intercetta le richieste, verifica se sono ammesse, decodifica i parametri e lancia le applicazioni decodifica i parametri e lancia le applicazioni esterneesterne
Scopi:Scopi:Consente al web server di eseguire applicazioni Consente al web server di eseguire applicazioni richieste dal clientrichieste dal client
CGI
![Page 16: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/16.jpg)
Caratteristiche di CGI
• CGI script, programma eseguibileCGI script, programma eseguibile• Definisce un insieme di Definisce un insieme di variabili di ambientevariabili di ambiente utili all'applicazione (ad es. parametri inviati dal utili all'applicazione (ad es. parametri inviati dal client)client)• I parametri sono inviati tramite i classici I parametri sono inviati tramite i classici metodi GET e POST dell'HTTPmetodi GET e POST dell'HTTP
![Page 17: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/17.jpg)
Programma CGI- accesso BDProgramma CGI- accesso BD
![Page 18: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/18.jpg)
Revisione critica di CGIRevisione 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)
![Page 19: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/19.jpg)
Web Server - APIWeb Server - API
Web Web serverserver
DBMSDBMS
GatewayGateway
APIAPI API = interfaccia per estendere il servercon servizi non standard
![Page 20: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/20.jpg)
Web Server - APIWeb 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
Tecnologia J2EE
![Page 21: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/21.jpg)
Web Server - Java ServletWeb Server - Java Servlethttp://java.sun.com/products/servlet/index.html
• 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
![Page 22: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/22.jpg)
Web Server - Java ServletWeb Server - Java Servlethttp://java.sun.com/products/servlet/index.html
![Page 23: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/23.jpg)
Server-side scripting (JSP)
• Idea: inserire istruzioni per il calcolo dei contenuti dinamici all’interno della pagina HTML
• Il codice è interpretato dal server
<HTML> <HTML> <BODY><BODY> … …..</BODY></BODY></HTML> </HTML>
<HTML> <HTML> ……..</HTML> </HTML> <%> <%> ……......</%></%>
Template: testo+script da interpretare sul server
Web server +Web server +Esecutore scriptEsecutore script
![Page 24: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/24.jpg)
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.
![Page 25: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/25.jpg)
Application server
![Page 26: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/26.jpg)
Application server (cont.)
• L'Application Server offre diversi vantaggi– distribuzione trasparente del workload su diversi
componenti, replication, load balancing
– failure recovery
– gestione delle transazioni (distinto dall'analogo meccanismo implementato all'interno del DBMS)
– resource pooling
– integrazione con applicazioni legacy
– sviluppo di applicazioni multi-protocollo, multi-linguaggio
![Page 27: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/27.jpg)
WIS, load balancing e sicurezza
![Page 28: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/28.jpg)
Interazione con sorgenti esterne
• L'Application Server deve richiamare funzionalità presenti su un sito esterno– servizi dispositivi (e.g., pagamenti)– servizi informativi (e.g., stock quotes)– servizi di sicurezza (e.g., autenticazione)
• Le pagine web contengono sezioni provenienti da siti diversi– approccio “a portale”, le varie parti sono indipendenti (e.g.,
iGoogle)– approccio “applicativo”, le varie parti interagiscono e
condividono dati (mashup)
![Page 29: Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di](https://reader036.vdocuments.mx/reader036/viewer/2022062404/5542eb73497959361e8da983/html5/thumbnails/29.jpg)
Accesso multi-device