La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "1 Web Information Systems Prof. Barbara Pernici Politecnico di Milano parte del materiale e’ stata gentilmente fornita dal Prof. Paraboschi."— Transcript della presentazione:

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

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

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

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

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

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

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

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

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

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

11 11 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 Tipologia dei servizi elettronici - transazionali

12 12 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)

13 13 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)

14 14 Confronto tra Intranet e Internet Esempio: Comune Sito InternetIntranet del Comune UtentiNoti con approssimazione Dipendenti del comune CompitiInformativo, servizi ai cittadini Uso quotidiano per il lavoro, gestione dei processi Larghezza di bandabassaAlta, affidabile Compatibilita’diversi browser, accessibilita’ Scelta a priori del browser Quantita’ informazioni Poche e in tempi rapidissimi Quantita’ elevate, per gestione processi operativi

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

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

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

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

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

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

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

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

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

24 24 Architettura di base BROWSER WEB SERVER LOCAL FILE SYSTEM

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

26 26 Web server e file Web server FILE SYSTEM - pagine statiche A.html B.htmlC.html D.html Cgi-bin Xyz.exeabc.exe Pagine eseguibili CGI HTTPHTTP Web client (browser)

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

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

29 29Esecuzione Il server riconosce dall’URl che la risorsa richiesta dal cliente e’ un eseguibile

30 30Esecuzione Il server decodifica i parametri inviati dal cliente e riempie le variabili d’ambiente es: request_method, query_string, content_length, content_type

31 31Esecuzione Il server lancia in esecuzione l’applicazione richiesta

32 32Esecuzione 4. L 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)

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

34 34 Invio di parametri a un programma CGI Il client puo’ usare due metodi: GET POST GET: i parametri sono codificati nell’URL 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

35 35 Form (moduli) Input dall’utente Come: con parametri (

36 36 FORM HTML Esempio: invio al server il nome dell’utente

Dimmi il tuo nome:

37 37 FORM HTML

38 38 FORM HTML Dimmi il tuo nome: Password: docente studente

39 39

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

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

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

43 43 Tecnologie per l’integrazione Web/Basi di dati

44 44 Web & basi di dati : Obiettivi: ottenere la generazione dinamica di pagine a partire da dati contenuti in una base di datiottenere 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 difettisfruttare i pregi di Web e basi di dati, aggirandone i difetti

45 45 Pregi e difetti di basi di dati e Web pro contro semplicesemplice portabileportabile abasso costo indipendenteindipendente dalle interfacce ipermedialeipermediale basatobasato su file staticostatico modellimodelli dei dati linguaggilinguaggi di interrogazione funzionifunzioni di amministazione complessecomplesse proprietarieproprietarie navigazione e presentazione assentinavigazione e presentazione assentiWeb basi di dati

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

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

48 48 if (sqlcode == 0){ printf(" \n %s %s",Nome,Cognome, " \n \n"); printf(" %s %s",Nome,Cognome," \n"); printf(" \n"); printf(" Dipartimento : %s", Dipartimento," \n"); printf(" Citta : %s",Citta,“ \n"); printf(" Indirizzo : %s", Indirizzo," \n"); printf(" Stipendio : %u", Stipendio," \n"); printf(" Progetti in corso \n"); printf(" \n \n "); }

49 49 else { printf(" \n Error \n \n"); printf("niente impiegato %s\n",Cognome," \n "); }

50 50 Programma CGI per l’accesso a DB PRO –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

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

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

53 53 Architettura di base BROWSER WEB SERVER LOCAL FILE SYSTEM

54 54 Web server e file Web server FILE SYSTEM - pagine statiche A.html B.htmlC.html D.html Cgi-bin Xyz.exeabc.exe Pagine eseguibili CGI HTTPHTTP Web client (browser)

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

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


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

Presentazioni simili


Annunci Google