Web Information Systems Prof

Slides:



Advertisements
Presentazioni simili
Presentazione della tesi di laurea di Flavio Casadei Della Chiesa Newsletter: un framework per una redazione web.
Advertisements

1 Tutto su liceoclassicojesi.it 1° Incontro sulla gestione di liceoclassicojesi.it.
Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
CALENDARIO FORMAZIONE LISEM 2004/2005 Labirinto, test sul potenziale imprenditoriale 01/10/2004 (ven) h – Tecniche creative e pensiero propositivo.
Dist - Università degli Studi di Genova UnApplicazione di E-government per la Gestione di Gare dAppalto nella Pubblica Amministrazione A. Boccalatte -
Corso di Fondamenti di Informatica
Web Information Systems – II parte
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Consumare Web Service Andrea Saltarello
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Web Services.
Java Enterprise Edition (JEE)
Progetto Campus One: Azione e-learningGenova, 9 aprile 2002 Giancarlo Parodi DIBE Esperienze dal progetto Ingegneria On Line.
WebProfessional Web Content Management System
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
1 Area Comunicazione e Sviluppo Web09/10/2003Sito Web Provincia di Torino Provincia di Torino Area Relazioni e Comunicazione 1 01/12/03 Portale della Provincia.
Reti Informatiche.
Sistemi Informativi e Sistemi ERP
Web Information Systems (I parte) Prof. Barbara Pernici Politecnico di Milano.
1 Basi di dati e Web Prof. Stefano Paraboschi Prof. Barbara Pernici.
1 Seconda ora Larchitettura di un sistema di e- government: parte seconda Un esempio di progetto di e-Government: il progetto servizi alle imprese Un esempio.
Analisi dettagliata e design B. Pernici M.G. Fugini AA
Seconda parte: i sistemi informativi in rete
Web Information Systems (I parte) Prof. Barbara Pernici Politecnico di Milano.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Nuovi servizi per il personale
Architettura Three Tier
1 Il servizio di prestito e fornitura documenti ILL-SBN una visione di insieme caratteristiche della procedura illustrazione delle funzionalità
CORSO DI RICERCA BIBLIOGRAFICA 4. giornata (20 marzo 2008) Web of Science Beilstein e Gmelin Crossfire.
IL SISTEMA INFORMATICO e IL SISTEMA INFORMATIVO
IL SISTEMA INFORMATICO e IL SISTEMA INFORMATIVO
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
Data mining for e-commerce sites
Concetti introduttivi
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
Univ. Studi di Roma FORO ITALICO Prof. Stefano Razzicchia 1 UNIVERSITA STUDI DI ROMA FORO ITALICO Corso di Laurea Triennale INFORMATICA Lez. 6.
La nuova Intranet della Provincia di Ferrara e l’innovazione dei processi interni Ludovica Baraldi Bologna, 25 maggio 2006.
Corso di Informatica per Giurisprudenza Lezione 7
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
Modulo 1: 1.3 Le Reti.
Guida IIS 6 A cura di Nicola Del Re.
Test Reti Informatiche A cura di Gaetano Vergara Se clicchi sulla risposta GIUSTA passi alla domanda successiva Se clicchi sulla risposta ERRATA passi.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
GeoSoft BLU short presentation 1. GeoSoft BLU short presentation 2 Il software BLU è un prodotto software di tipo CRM (Customer Relationship Management)
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
Non solo Gestione Documentale Day "Apparecchiature di elaborazione testi prossima uscita vedrà 'l'inizio del ufficio senza carta …" 1975.
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Fondamenti delle Reti di Computer Seconda parte Carasco 15/04/2010.
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
ECDL Patente europea del computer
Bando di Residenza Cap Scheda ENTE 3ROL - Richieste On Line.
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
prof.ssa Giulia Quaglino
Lezione 8.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
La Conservazione Sostitutiva e la Soluzione Una-Doc.
Tipo Documento: unità didattica 4 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
SCHEDA INFORMATIVA DI UNITÀ
SISR-WISCOM WIS e “Comunicazione” InternoEsterno Partner Clienti Investitori Altre organizzazioni Pubblico generico …. Dipendenti Consulenti.
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP L’utente fa una richiesta di pagina.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Analisi dettagliata e design
Basi Dati e Laboratorio (6 + 6) crediti – curriculum Sistemi e Reti Basi dati 1 e Basi dati 2 prec.ordin. docenti: Barbara Demo Giuseppe Berio mail :
Protocolli e architetture per WIS. Cronologia di Internet ricerche sulla commutazione di pacchetto (Leonard Kleinrock) 1967 Nasce il progetto.
Servizi Internet Claudia Raibulet
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.
Transcript della presentazione:

Web Information Systems Prof Web Information Systems Prof. Barbara Pernici Politecnico di Milano parte del materiale e’ stata gentilmente fornita dal Prof. Paraboschi

Sommario Servizi elettronici in rete Web Information Systems Architetture a tre livelli (3-tier) Interazione web-DB

Obiettivi (1) I sistemi informativi in rete: Internet e i sistemi informativi: struttura di un sistema informativo basato su Web, tipologie di sistemi informativi basati su Web, servizi offerti dai sistemi informativi in rete Introduzione alla tecnologia Web

Obiettivi (2) I sistemi informativi come impianti Tecnologie utilizzate nelle reti Tecnologie per lo scambio dei dati nei sistemi distribuiti Nella parte finale del corso: Sicurezza: accessi autorizzati, integrita’ e autenticita’ dei dati Progettazione di sistemi informativi sicuri

Bibliografia Conallen: cap. 2 Serie Sistemi Informativi Vol. V Cap. 1: architetture Lucidi (in rete) Basi di Dati (Atzeni, Ceri, Paraboschi, Torlone) Cap. 14

Introduzione Servizi elettronici in rete: Classificazione UE Livelli di interazione Classificazione dei siti web

Dimensioni per la classificazione Servizi offerti A chi e’ rivolto esterno/interno/altro utente singolo (Customer)/impresa (Business)/PA (Government)/… Come vengono presentati i servizi e le informazioni (aggregazione)

Tipologie di servizi elettronici (dal Libro verde UE) Servizi di informazione per la fornitura su richiesta di informazioni strutturate e classificate Servizi di comunicazione per interagire con il pubblico ovvero gruppi di individui Servizi transazionali per acquistare prodotti o servizi on line o per trasmettere dati

Tipologia dei servizi elettronici - informativi informazioni link a altre risorse informative Su web: accesso a pagine statiche (file) o pagine dinamiche ottenute tramite interrogazioni a basi di dati personalizzazioni: presentazione di informazioni personalizzata Tramite cookie Accesso registrato l’utente non inserisce contenuto informativo nel sistema

Tipologia dei servizi elettronici - comunicazione Servizi di interazione basati su e-mail, liste di discussione, chat, form per inserimento richieste, .. L’utente e’ identificato (identita’ reale o fittizia) le comunicazioni dell’utente possono rimanere memorizzate

Tipologia dei servizi elettronici - transazionali Interazione con il sistema informativo l’utente (identificato) ottiene servizi, modicando dati nel sistema informativo interazione con dati in DBMS e servizi applicativi server per DB e application server criticita’: sicurezza transazioni multicanale

Livelli di interazione UE Livello 1: disponibili on-line informazioni sulle procedure Livello 2: interazione in un senso (download modulistica) Livello 3: interazione in due sensi (possibilita’ di avviare on-line la procedura, con modulo elettronico e autenticazione utente) Livello 4: esecuzione on-line dell’intera procedura (incluso pagamento)

Altra classificazione: per accesso Sito Internet: accessibile da tutta la rete Sito Intranet: accesso limitato dall’interno dell’organizzazione Knowledge management, gestione delle conoscenze sui processi aziendali Sito Extranet: accessibile da un gruppo di utenti ben identificato (ad es. clienti e fornitori) Scambio di informazioni concordate tramite accesso a archivi (ad esempio rendere visibili I livelli delle scorte in magazzino)

Confronto tra Intranet e Internet Esempio: Comune Sito Internet Intranet del Comune Utenti Noti con approssimazione Dipendenti del comune Compiti Informativo, servizi ai cittadini Uso quotidiano per il lavoro, gestione dei processi Larghezza di banda bassa Alta, affidabile Compatibilita’ diversi browser, accessibilita’ Scelta a priori del browser Quantita’ informazioni Poche e in tempi rapidissimi Quantita’ elevate, per gestione processi operativi

Servizi di una Intranet Serve a distribuire informazioni all’interno dell’azienda: News Interfaccia di ricerca, su contenuti noti Catalogo dei contenuti Sicurezza (riservatezza, accesso limitato) Integrazione: accesso a informazioni (documenti e dati da DB) e accesso a servizi Collaborazione: tra reparti, partecipazione al processo decisionale, visualizzazione documenti, dibattiti in linea

Classificazioni di servizi on line Business to Consumer B2C varianti: G2C (Government to Citizen) etc. servizi operativi per clienti Business to Business B2B varianti: G2G (Government to Government) servizi operativi tra aziende evoluzione EDI

Sistema informativo distribuito Un sistema informativo in una organizzazione e’ un sistema complesso: più sorgenti informative più basi di dati Collegamenti in rete con reti locali e geografiche processi interconnessi

RETE GEOGRAFICA MF Altri enti MINISTERO DELLE FINANZE UFFICI ENTRATE (430) DOGANE (420) RETE GEOGRAFICA MF AGENZIE CENTRALI firewall INTERNET RUPA Altri enti

Architettura di un sistema informativo distribuito Come scambiare i dati tra sistemi diversi: Quali sono i principali problemi da risolvere: Separazione tra dati, logica applicativa e presentazione Sicurezza

Sviluppo a tre livelli CLIENT CLIENT CLIENT SERVER SERVER DB Presentazione (P) Logica applicativa (A) SERVER SERVER DB Dati (D)

Architetture multilivello Divide-and-conquer strategy Separare in sottoproblemi Sistema complesso Difficolta’ di gestione Utilizzo risorse Diverse piattaforme (SO, sw, hw)

BD REGISTRO E IMPOSTE BD DOGANE BD IVA (sistemi centrali) ESEMPIO (MF)

Tecnologie Web Pagine statiche e pagine dinamiche Architetture web: CGI Form Progettazione con Form Interazione con DB Architetture complesse

Architettura di base LOCAL FILE SYSTEM WEB SERVER BROWSER

GATEWAY I server Web possono richiamare programmi trasmettendo anche eventuali parametri collegamento tra ambiente web e altri ambienti chiamata dei programmi: http URL (URI) eventuali parametri

Web server e file FILE SYSTEM - Web client (browser) Web server CGI pagine statiche HTTP A.html D.html B.html C.html Web client (browser) Web server Cgi-bin CGI CGI Xyz.exe abc.exe Pagine eseguibili

Common Gateway Interface Meccanismo che consente al Web Server di eseguire applicazioni esterne in grado di creare pagine dinamicamente ? ?

Caratteristiche di CGI Non e’: un linguaggio di programmazione un protocollo di comunicazione Definisce solo un insieme di variabili di ambiente utili alla applicazione (ad es. parametri inviati dal client) %&£$$ pp*&£$

Esecuzione 1. Il server riconosce dall’URl che la risorsa richiesta dal cliente e’ un eseguibile ? http://mio.server.web/cgi-bin/xyz.exe

Esecuzione 2. Il server decodifica i parametri inviati dal cliente e riempie le variabili d’ambiente es: request_method, query_string, content_length, content_type ? http://mio.server.web/cgi-bin/xyz.exe?#^@@ #^@@

Esecuzione 3. Il server lancia in esecuzione l’applicazione richiesta #^@@

Esecuzione 4. L’applicazione stampa la sua risposta sullo standard output (la risposta puo’ essere una pagina web o di altro tipo - il tipo e’ dichiarato nella risposta)

Esecuzione 5. Il server ridireziona lo standard output sulla rete e quindi verso il client

Invio di parametri a un programma CGI Il client puo’ usare due metodi: GET POST GET: i parametri sono codificati nell’URL http://www.mioserver.it/cgi-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

Form (moduli) Input dall’utente Come: con parametri (<INPUT type=“tipoparam”): text boxes (text) buttons (submit, reset) radio buttons (radio) password (password) hidden (valore fisso, non visibile all’utente) i parametri hanno un nome a cui si associa un valore compilando la form submit: si invia il contenuto del modulo al server come parte di un’altra richiesta http di una pagina speciale (eseguibile)

Esempio: invio al server il nome dell’utente FORM HTML Esempio: invio al server il nome dell’utente <html> <body> <form action=http://www.mysrvr.it/cgi-bin/xyz.exe method=post> <p>Dimmi il tuo nome: <input type=“text” name=“chisei” ></p> <input type="submit" value ="Invia query"> </form> </body> </html>

FORM HTML

FORM HTML <HTML> <BODY> <form action=http://www.mysrvr.it/cgi-bin/xyz.exe method=post> <p>Dimmi il tuo nome: <input type="text" name=“chisei” ></p> <input type="hidden" name=“sessione” value="123" > <p>Password: <input type="password" name=“pwd” ></p> <p> <input type="radio" name="tipo" value="doc">docente</p> <input type="radio" name="tipo" value="stud">studente</p><input type="submit" value="VAI"> <input type="reset"> </form> </BODY> </HTML>

Struttura di un programma CGI leggi le variabili d’ambiente stampa codice HTML elabora cout << “Content-type: text/html” << endl << endl; stampa intestazione MIME

Decodifica dei parametri leggi la variabile Request_method Valore? leggi la variabile Query_string GET leggi la variabile content_length leggi content_length caratteri da standard input POST

Programmi eseguibili per selezionare pagine Per accedere a pagine riservate per accedere a servizi per accedere a basi di dati Es: home page docenti

Tecnologie per l’integrazione Web/Basi di dati

Web & basi di dati Obiettivi: ottenere la generazione dinamica di pagine a partire da dati contenuti in una base di dati sfruttare i pregi di Web e basi di dati, aggirandone i difetti

Pregi e difetti di basi di dati e Web pro contro Web basi di dati semplice portabile a basso costo indipendente dalle interfacce ipermediale basato su file statico modelli dei dati linguaggi di interrogazione funzioni di amministazione complesse proprietarie navigazione e presentazione assenti

Programma CGI (processi in esecuzione) Web server CGI gateway gateway DBMS via DBMS API, embedded SQL, JDBC, ODBC ...

Esempio di CGI per accesso a DB main(char Cognome[]) { …. char Nome[20], Dipartimento[20], Citta[20]; char Indirizzo[60]; int Age, Stipendio; … OMESSO CODICE PER LEGGERE VARIABILI IL CUI SCOPO E’ INSERIRE NELLA VARIABILE :Cognome il COGNOME USATO NELL’INTERROGAZIONE … $ open connection to NewCompanyDB $ select Nome, Dipart, Citta, Indirizzo, Stipendio into :Nome, :Dipart, :Citta, :Indirizzo, :Stipendio from Impiegato I, Sede S where I.Sede = S.Citta and Cognome = :Cognome ; $ close connection ...

if (sqlcode == 0){ printf("<html>\n<head><title> %s %s",Nome,Cognome, "</title></head>\n<body>\n"); printf("<H3> %s %s",Nome,Cognome,"</H3>\n"); printf("<table>\n"); printf("<tr><td><em>Dipartimento</em>:</td><td>%s", Dipartimento,"</td></tr>\n"); printf("<tr><td><em>Citta</em>:</td><td>%s",Citta,“ </td></tr>\n"); printf("<tr><td><em>Indirizzo</em>:</td><td>%s", Indirizzo,"</td></tr>\n"); printf("<tr><td><em>Stipendio</em>:</td><td>%u", Stipendio,"</td></tr>\n"); printf("<tr><td> <a href=\"/cgi bin/ProjOfEmp?Cognome=%s", Cognome,"\">Progetti in corso</a></td><td> </td></tr>\n"); printf("</table>\n</body>\n</html>"); }

else { printf("<html>\n<head><title>Error</title></head>\n<body>\n"); printf("niente impiegato %s\n",Cognome,"</body>\n</html>"); }

Programma CGI per l’accesso a DB portabilità: usa solo standard aperti: URL, HTTP, CGI, HTML (attenzione però all’accesso al DB) CONTRO prestazioni: creazione di un sotto-processo per ogni richiesta aperture e chiusure ripetute della connessione con la base di dati

Form e CGI come interfacce di applicazioni Per applicazioni di qualsiasi tipo Problemi: identificazione utente, sicurezza affidabilita’, transazioni sessioni numero di processi attivati, operazioni di apertura e chiusura

Architetture di servizi on line basati su Web Architettura di base web applications soluzioni complesse clienti dinamici

Architettura di base LOCAL FILE SYSTEM WEB SERVER BROWSER

Web server e file FILE SYSTEM - Web client HTTP (browser) Web server pagine statiche A.html D.html B.html C.html Web client (browser) HTTP Web server CGI Cgi-bin Xyz.exe abc.exe Pagine eseguibili

Applicazioni su web (server side) JAVA SERVLET, API propr. DATABASE Scripting lato server ASP JSP PHP BROWSER Scripted page Richieste di pagine WEB SERVER HTML page CGI eseguibili

Scripted page (lato server) Una scripted page è un file memorizzato nel file system del Web server che contiene degli script interpretabili Gli script interagiscono con oggetti sul server e alla fine producono un output HTML Una scripted page è molto simile ad una pagina HTML standard ma include dei tag/token speciali che sono interpretati dal server Esempi: Microsoft’s Active Server Pages (ASP), Java Server Pages (JSP), PHP