La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Web Information Systems Prof

Presentazioni simili


Presentazione sul tema: "Web Information Systems Prof"— Transcript della presentazione:

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

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

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 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 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 Introduzione Servizi elettronici in rete: Classificazione UE
Livelli di interazione Classificazione dei siti web

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

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

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 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 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 RETE GEOGRAFICA MF Altri enti MINISTERO DELLE FINANZE
UFFICI ENTRATE (430) DOGANE (420) RETE GEOGRAFICA MF AGENZIE CENTRALI firewall INTERNET RUPA Altri enti

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 Sviluppo a tre livelli CLIENT CLIENT CLIENT SERVER SERVER DB
Presentazione (P) Logica applicativa (A) SERVER SERVER DB Dati (D)

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

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

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

24 Architettura di base LOCAL FILE SYSTEM WEB SERVER BROWSER

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

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

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

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

30 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 ?

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

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

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

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

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

37 FORM HTML

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

39

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

41 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

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 Tecnologie per l’integrazione Web/Basi di dati

44 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

45 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

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

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 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>"); }

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

50 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

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 Architetture di servizi on line basati su Web
Architettura di base web applications soluzioni complesse clienti dinamici

53 Architettura di base LOCAL FILE SYSTEM WEB SERVER BROWSER

54 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

55 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

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 "Web Information Systems Prof"

Presentazioni simili


Annunci Google