• Non ci sono risultati.

Corso di Basi di Dati

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso di Basi di Dati"

Copied!
30
0
0

Testo completo

(1)

Corso di Basi di Dati

Sistemi Informativi sul Web

Home page del corso:

http://www.cs.unibo.it/~difelice/dbsi/

(2)

Web Information System

²  Integ razione di SQL in linguaggi di programmazione ad alto livello.

²  Integrazione di SQL in applicazioni Web (Web Information System, WIS)

Ø  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?

(3)

Web Information System

Ø  Architettura client-server del WWW

Browser (client)

1. HTTP request

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

(4)

Web Information System

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.

(5)

Web Information System

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)

:

HEAD,  POST,  GET,    PUT,  DELETE, etc

(6)

Web Information System

Ø  WIS (Web information System)

Browser (client)

1. HTTP request

6. HTTP response

Ø Le pagine Web sono create dinamicamente,

accedendo ad informazioni contenute in un DBMS.

Ø Il processamento delle risorse avviene lato-server.

DBMS

(7)

Web Information System

Componenti di un WIS:

Ø  Web-server (

HTTP-based

) Ø  DBMS

(relazionale)

Ø  Meta-tier di collegamento

DBMS Browser

(client)

1. HTTP request

6. HTTP response

2. Parametri

3. SQL Query

(8)

Web Information System

Componenti di un WIS:

Ø  Web-server (

HTTP-based

) Ø  DBMS

(relazionale)

Ø  Meta-tier di collegamento

DBMS Browser

(client)

1. HTTP request

6. HTTP response

2. Parametri

3. SQL Query

(9)

Web Information System

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 …

(10)

Web Information System

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.

(11)

Web Information System

Componenti di un WIS:

Ø  Web-server (

HTTP-based

) Ø  DBMS

(relazionale)

Ø  Meta-tier di collegamento

DBMS Browser

(client)

1. HTTP request MT

6. HTTP response

2. Parametri

3. SQL Query

(12)

Web Information System

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.

(13)

Web Information System

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.

(14)

Web Information System

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.

(15)

Web Information System

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.

Common Gateway Interface (CGI)

http://www.cs.unibo.it/myscript.cgi?nome=marco  &corso=db  

Nome del programma CGI,

non della risorsa Parametri

(16)

Web Information System

Il web-server si limita a: passare i parametri in input al programma CGI (es. myscript.cgi), ad a lanciare

l’esecuzione dello stesso.

Common Gateway Interface (CGI)

Browser

(client) Web server

HTTP request

HTTP response

myscript.cgi

DBMS

(17)

Web Information System

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.

Common Gateway Interface (CGI)

(18)

Web Information System

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.

(19)

Web Information System

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

(20)

Web Information System

In questo caso, il Meta-Tier e’ incluso nel web-server, che funge anche da interprete degli script server-side.

Scripting Server-Side

Browser

(client) Web server

HTTP request

HTTP response

DBMS

META-TIER

(21)

Web Information System

http://www.cs.unibo.it/data.php

RISORSA RICHIESTA

<html>  

<head>  

</head>  

<body>  

<p>    

<b>  Data  corrente:  </b>  

<?php    

echo  date("m.d.y");  ?>  

</p>  

</body>  

</html>  

<html>  

<head>  

</head>  

<body>  

<p>    

<b>  Data  corrente:  

</b>  

11.21.12</p>  

</body>  

</html>  

(22)

Web Information System

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

(23)

Web Information System

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

Ø  ASP.NET Ø  PHP

Ø  Python + Django Ø  Ruby on Rails

Ø  Java Server Pages (JSP) Ø  …

(24)

Web Information System

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.

(25)

Web Information System

Un Application Server e’ una sistema dedicato

all’esecuzione di componenti riusabili che possono venire utilizzati dagli script server-side.

Application Server

Browser

(client) Web server

HTTP request

HTTP response DBMS

META-TIER

Application Server Enterprise Java Beans

(EJB)

(26)

Web Information System

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

INTERNET

CLIENT WEB SERVICE

REQUEST

RESPONSE

Ø  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.

(27)

Web Information System

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)

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

(28)

Web Information System

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>

<portType> … gruppo di operazioni</portType>

<binding> … modalita’ scambio messaggi</binding>

<service> … dove reperire il servizio</service>

PARTE ASTRATTA

PARTE CONCRETA

(29)

Web Information System

PROBLEMA: Integrazione sistemi informativi.

DBMS DBMS

DBMS

Oracle MySQL

MicrosoftSQL

DBMS

MIGRAZIONE MIGRAZIONE

SOLUZIONE1:

MIGRAZIONE + FUSIONE dei DB

(30)

Web Information System

DBMS DBMS

DBMS

Oracle MySQL

MicrosoftSQL SOAP

Web Service1

WSDL

Web Service2

WSDL

Web Service3

WSDL

PROBLEMA: Integrazione sistemi informativi.

SOLUZIONE2:

UTILIZZO DEI WEB SERVICE

Riferimenti

Documenti correlati

Puoi fermare il guest (shutdown) con vagrant halt (puoi avviarlo di nuovo con vagrant up), ovvero puoi “congelare” lo stato corrente della macchina virtuale con vagrant suspend (per

z Il client è un qualsiasi programma che invia una richiesta e aspetta una risposta; tipicamente termina dopo avere usato un server un numero finito di volte. z Il server aspetta

  $name è il nome della variabile associata al cookie e può essere usata anche per specificare un elemento di array.   $value è il valore associato e viene inviato in

Linux può condividere file e stampanti in una rete Novell sia come client che come server, inoltre sono supportate le funzionalità di router e bridge IPX ed è

Infatti, a questo punto, si può scegliere l'ultima opzione per la configurazione automatica, quella centrale per quella manuale (in tal caso bisogna selezionare View per una

Se viene usato un tool di monitoring del server in grado di registrare alcuni dati statistici a livello di sistema, come l'utilizzo della CPU, l'I/O su disco e la cache di

OGGETTO: Rinnovo contratto di assistenza e manutenzione degli apparati di rete, dei server, dei personal computer e del software dell’Azienda per l’anno 2013. LIQUIDAZIONE

Tutti i moduli che hanno un collegamento simbolico in questa cartella sono abilitati e avviati all'interno del server Apache..  ports.conf : contiene le direttive per impostare