Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste. Basi di Dati e Web. Credits to: Prof. M. Di Felice UniBO

Documenti analoghi
3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

Basi di Dati-IX. Basi di dati e web. Introduzione. Schema. Basi di dati e web. Corso di Laurea in Informatica Anno Accademico 2013/2014

CLIENT WEB. Strumento di interfaccia tra l utente ed il sistema Web (browser).

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)

Luca Tesei. Laboratorio di Sviluppo Web: Le Basi. Modulo IFTS. Fermo 31/03, 03/04, 07/ Prof. Luca Tesei Università di Camerino 1

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)

Basi di Dati Architetture Client/Server

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

Architetture Client/Server e World Wide Web

Protocolli e architetture per WIS

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

Come funziona internet

Tecnologie di Sviluppo per il Web

Sommario APPUNTI WEB SERVER E PHP

Siti web centrati sui dati (Data-centric web applications)

Laboratorio di Progettazione Web Applicazioni Web

Introduzione a Internet e World Wide Web

Applicazioni web centrati sui dati (Data-centric web applications)

Tecnologie di Sviluppo per il Web

N.E.A.T. ( Neutral Environment Application Tools )

Architetture Web: un ripasso

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Il Web come Interfaccia Utente di un Sistema Informativo

Laboratorio di Progettazione Web Introduzione

Introduzione. A Tecnologie 1

Web applications con. breve introduzione. 23/10/12 Davide Zedda ITC Levi

Programma del Corso. Dati e DBMS DBMS relazionali SQL. Progettazione di una base di dati Normalizzazione

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

APPENDICE 4 AL CAPITOLATO TECNICO

Basi di dati Architetture e linee di evoluzione

TMS. Tecnologie dell informazione: mercato, società, cultura

Concetti base. Impianti Informatici. Web application

venerdì 31 gennaio 2014 Programmazione Web

Stack protocolli TCP/IP

Livello applicazione. Fondamenti di Informatica

MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte

MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte

Introduzione all inguaggio HTML e CSS3 INTRODUZIONE. Prof.ssa Cristina Gena

Progettazione Siti Web: Web

Laboratorio Progettazione Web Applicazioni Web

La tecnologia per le applicazioni Web

CGI. Ing Cesare Monti (revisionato da Andrea Omicini)

RETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine

Internet come funziona?

CGI. Ing Cesare Monti (revisionato da Andrea Omicini)

Laboratorio Progettazione Web Applicazioni Web Lezione 2. Andrea Marchetti IIT-CNR 2011/2012

ITI M. FARADAY. Programmazione a. s

Modulo o Form in Html

Basi di Dati II. Introduzione al corso

Tecnologie di Sviluppo per il Web

Istituto d Istruzione Secondaria Superiore A. Righi Taranto Informatica e Telecomunicazioni Informatica. HTML, PHP e MySQL

Seminari Eucip, Esercizio e Supporto di Sistemi Informativi

Il Web. Struttura e servizi

INFORMATICA. Prof. MARCO CASTIGLIONE. Istituto Tecnico Statale Tito Acerbo - PESCARA

Laboratorio di Applicazioni Internet Anno Accademico 2005/2006

modulo: siti web centrati sui dati

Laboratorio Progettazione Web Applicazioni Web

Realizzazione di un sistema a supporto del testing automatico di Rich Internet Applications

IL LIVELLO APPLICAZIONI WEB e HTTP

World Wide Web. Angelo Di Iorio. ALMA MATER STUDIORUM UNIVERSITA DI BOLOGNA

Tipo di azienda o settore Confcommercio Tipo di impiego Catalogazione informatizzata ed interconnessione di sistemi complessi

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Introduzione. Java HTTP. G. Prencipe

D B M G Il linguaggio HTML

Programmazione Web D B M G. Il linguaggio HTML

Il World Wide Web. Marco Porta - CIM: Web Design & Technologies

Linee di programmazione

A. Ferrari introduzione alle basi di dati

@2011 Politecnico di Torino 1

Basi di Dati. Concetti e Principi Generali. Maria Mirto

Basi di dati Basi di dati per bioinformatica

Introduzione all elaborazione di database nel Web

Introduzione alle griglie computazionali LEZIONE N. 10. Università degli Studi di Napoli Federico II Corso di Laurea in Informatica III Anno

Piattaforme software distribuite I

Ipertesto. Reti e Web. Ipertesto. Ipertesto. Ipertestualità e multimedialità

L evoluzione delle Applicazioni Distribuite

Reti di Calcolatori. IL LIVELLO APPLICAZIONI WEB e HTTP

IL LIVELLO APPLICAZIONI WEB e HTTP

Programmazione modulare

Lezione 6. Siti, Utenti e Sessioni

Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

DATABASE MODELLAZIONE DATI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica

Capitolo 16 I servizi Internet

IL LIVELLO APPLICAZIONI WEB e HTTP

UNIVERSITA' CA' FOSCARI DI VENEZIA. Facoltà di Scienze MM.FF.NN. - Dipartimento di Informatica Tesi di Laurea Triennale

Corso di Informatica Modulo T3 B1 Programmazione web

Programmazione modulare

Analisi e sviluppo di un client per l accesso a dati su server remoto da dispositivi embedded

Informatica: arte e mestiere 3/ed

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri.

Antonio d Acierno 13/01/2006

Laboratorio Progettazione Web Applicazioni Web

Servizi di interscambio dati e cooperazione applicativa Guida alla gestione dei servizi web Mipaaf

Programma corso Master Programmatore Web

Internet of Things & Wireless Sensor Networks

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET

PRIMO MODULO. DURATA: 80 ore CONTENUTI

Transcript:

Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste Basi di Dati e Web Credits to: Prof. M. Di Felice UniBO

" Molti sistemi software prevedono la presenza di un database gestito da un DBMS " Come consentire l accesso al database da parte di applicazioni esterne al DBMS?! Integrazione di SQL in linguaggi di programmazione ad alto livello.! Integrazione di SQL in applicazioni Web (Web Information System, WIS)

" Architettura client-server del WWW 1. HTTP request Browser (client) 6. HTTP response Risorse (pagine HTML, immagini, video, file binari, etc) " Nel caso di pagine Web statiche, le risorse sono trasferite sul client senza alcun processamento da parte del Web server. " Interazione dell utente client-side (es. Javascript, Java applet).

Ingredienti del WEB: HTML (Hypertext Markup Language) " Linguaggio per la creazione di ipertesti multimediali distribuiti. " Tecnica di rappresentazione markup, attraverso l utilizzo di tag che definiscono le proprieta grafiche o strutturali del testo. " Separazione del contenuto del testo dalla sua presentazione attraverso CSS.

Ingredienti del WEB: HTTP (Hypertext Transfer Protocol) " Protocollo per l interazione client/server, basato su protocollo TCP (porta 80). " Comunicazione asimmetrica (pull-based). " Utilizza connessioni persistenti (HTTP 1.1), ma in ogni caso il protocollo e stateless. " Comandi principali (pochi):!"#$%&'()*%&+"*%&&',*%&$"-"*"% etc

" WIS (Web information System) 1. HTTP request Browser (client) 6. HTTP response DBMS " Le pagine Web sono create dinamicamente, accedendo ad informazioni contenute in un DBMS. " Il processamento delle risorse avviene lato-server.

Componenti di un WIS: " Web-server (HTTP-based) " DBMS (relazionale) " Meta-tier di collegamento 1. HTTP request 2. Parametri 3. SQL Query Browser (client) 6. HTTP response DBMS

Componenti di un WIS: " Web-server (HTTP-based) " DBMS (relazionale) " Meta-tier di collegamento 1. HTTP request 2. Parametri 3. SQL Query Browser (client) 6. HTTP response DBMS

Ingredienti di un WIS: DMBS (Database Management System) " Sistema per la gestione dei dati. " Non si richiedono caratteristiche specifiche per l utilizzo sul Web, se non quelle di: (i) gestione della concorrenza, (ii) supporto multi-utente ed (iii) efficienza operazionale (ricerca/aggiornamento). " Esempi: Oracle, MySQL, PostgreSQL, DB2

I WIS presentano problematiche comuni ad i sistemi informativi tradizionali, ma anche delle caratteristiche nuove: " Eterogeneita dei dati (testo, dati binari, multimedia, etc). " Asimmetria delle operazioni (ricerca/ aggiornamento). " Eterogeneita dei dispositivi d accesso.

Componenti di un WIS: " Web-server (HTTP-based) " DBMS (relazionale) " Meta-tier di collegamento 1. HTTP request 2. Parametri MT 3. SQL Query Browser (client) 6. HTTP response DBMS

Ingredienti di un WIS: MT (Middle-tier) " Sistema di collegamento tra il Web-server (es. Apache) ed il DBMS (es. MySQL). OPERAZIONI: (1) Riceve i parametri in ingresso dal Web-server. (2) Interroga il DMBS ed estrae le informazioni di interesse (tramite SQL). (3) Produce la pagina HTML con le info richieste.

Ingredienti di un WIS: MT (Middle-tier) " Sistema di collegamento tra il Web-server ed il DBMS. IN COSA CONSISTE un MT? (1) Programma esterno CGI (Common Gateway Interface). (2) Interprete di linguaggi di scripting server-side integrato nel Web-server. (3) Application-server multi-livello.

Ingredienti di un WIS: MT (Middle-tier) " Sistema di collegamento tra il Web-server (es. Apache) ed il DBMS (es. MySQL). IN COSA CONSISTE un MT? (1) Programma esterno CGI (Common Gateway Interface). (2) Interprete di linguaggi di scripting server-side integrato nel Web-server. (3) Application-server multi-livello.

Common Gateway Interface (CGI) Si utilizza l URL della richiesta HTTP per invocare un programma presente sul server (programma gateway), che viene eseguito (sul server) e calcola la pagina da restituire al client..//01223334564789:;49/2<=65>90/45?9@8;<ab<c>5;&d5;>6;be:& 65>90/ Nome del programma CGI, non della risorsa Parametri

Common Gateway Interface (CGI) Il web-server si limita a: passare i parametri in input al programma CGI (es. myscript.cgi), ad a lanciare l esecuzione dello stesso. HTTP request myscript.cgi Browser (client) HTTP response Web server DBMS

Common Gateway Interface (CGI) L applicabilita dei CGI e limitata da: " Prestazioni # ad ogni richiesta, un nuovo processo corrispondente al programma CGI deve essere mandato in esecuzione. " Risorse # quando un CGI termina, le sue risorse sono deallocate e non e possibile riutilizzare strutture dati per richieste consecutive.

Ingredienti di un WIS: MT (Middle-tier) " Sistema di collegamento tra il Web-server ed il DBMS. IN COSA CONSISTE un MT? (1) Programma esterno CGI (Common Gateway Interface). (2) Interprete di linguaggi di scripting server-side integrato nel Web-server. (3) Application-server multi-livello.

Scripting Server-Side La risorsa richiesta dall utente contiene (oltre a codice HTML) anche codice aggiuntivo scritto in un linguaggio di scripting-server-side. Il web-server include un interprete di tale linguaggio. 1) Il codice viene eseguito (lato server) dal web-server. 2) Il corrispondente codice HTML viene generato. 3) Il codice HTML risultante viene spedito indietro come risposta al client.

Scripting Server-Side In questo caso, il Meta-Tier e incluso nel web-server, che funge anche da interprete degli script server-side. META-TIER HTTP request DBMS Browser (client) HTTP response Web server

RISORSA RICHIESTA F./<GH& F.ACEH& F2.ACEH& F:;E=H& F0H&& F:H&$C/C&5;>>A8/A1&F2:H& F@0.0&& A5.;&EC/AIJ<4E4=JKL&@H& F20H& F2:;E=H& F2./<GH& http://www.cs.unibo.it/data.php F./<GH& F.ACEH& F2.ACEH& F:;E=H& F0H&& F:H&$C/C&5;>>A8/A1& F2:H& MM4NM4MNF20H& F2:;E=H& F2./<GH&

Scripting Server-Side Oltre a fungere da interprete degli script, il MT integrato nel web-server puo fornire l ambiente di supporto per l esecuzione degli script: " Allocazione di risorse (es. memoria). " Gestione della sessione. " Librerie/moduli per connessione a DBMS.

Scripting Server-Side Oltre a fungere da interprete degli script, il MT integrato nel web-server puo fornire l ambiente di supporto per l esecuzione degli script: " ASP.NET " Allocazione di risorse (es. memoria). " PHP " Gestione " Python della + sessione. Django " Librerie/moduli " Ruby on Rails per connessione a DBMS. " Java Server Pages (JSP) "

Ingredienti di un WIS: MT (Middle-tier) " Sistema di collegamento tra il Web-server ed il DBMS. IN COSA CONSISTE un MT? (1) Programma esterno CGI (Common Gateway Interface). (2) Interprete di linguaggi di scripting server-side integrato nel Web-server. (3) Application-server multi-livello.

Application Server Un Application Server e una sistema dedicato all esecuzione di componenti riusabili che possono venire utilizzati dagli script server-side. Enterprise Java Beans (EJB) META-TIER HTTP request Browser (client) HTTP response Web server Application Server DBMS

" Web Service (W3C): Sistema software per supportare le interazioni tra macchine in rete, garantendo l interoperabilita tra piattaforme eterogenee dal punto di vista hardware/software CLIENT REQUEST WEB SERVICE RESPONSE INTERNET " La comunicazione avviene tramite il protocollo HTTP. " Il web-service e auto-descrittivo, ossia offre un interfaccia che ne consente l utilizzo da parte di altre applicazioni.

" Web Service (W3C): Sistema software per supportare le interazioni tra macchine in rete, garantendo l interoperabilita tra piattaforme eterogenee dal punto di vista hardware/software Due componenti principali: 1. Linguaggio per la definizione dei servizi offerti da un Web Service # WSDL (Web Service Definition Language) 2. Protocollo per lo scambio dei messaggi tra i servizi # SOAP (Simple Object Access Protocol)

Una specifica WSDL e un documento XML che descrive: il servizio, le operazioni, i messaggi, ed i tipi dei dati necessari per invocare il servizio. <types> definizione dei tipi utilizzati </types> <message> messaggio scambiato </message> PARTE ASTRATTA <porttype> gruppo di operazioni</porttype> <binding> modalita scambio messaggi</binding> <service> dove reperire il servizio</service> PARTE CONCRETA

PROBLEMA: Integrazione sistemi informativi. MIGRAZIONE DBMS MIGRAZIONE DBMS Oracle DBMS MySQL SOLUZIONE1: MIGRAZIONE + FUSIONE dei DB DBMS MicrosoftSQL

PROBLEMA: Integrazione sistemi informativi. Web Service 1 WSDL SOAP Web Service 2 WSDL DBMS DBMS Oracle Web Service 3 MySQL SOLUZIONE2: UTILIZZO DEI WEB SERVICE WSDL DBMS MicrosoftSQL