21 mag 2013 ... Corso di Basi di Dati. BD e WEB. Basi di Dati-IX. Corso di Laurea in Informatica.
Anno Accademico 2012/2013. Paolo Baldan.
Schema
2
Basi di dati e web: nozioni generali
Basi di Dati-IX
HTML Basi del linguaggio PHP
Corso di Laurea in Informatica
PHP e API MySQL
Anno Accademico 2013/2014
Interazione con l’utente: forms e gestori Mantenimento dello stato: sessioni e cookies
Paolo Baldan
Autenticazione
[email protected] http://www.math.unipd.it/~baldan
BD e WEB
Corso di Basi di Dati
Friday, May 30, 2014
BD e web
Corso di Basi di Dati
Friday, May 30, 2014
Basi di dati e web
4
Applicazione web fornisce un servizio all’utente per mezzo dell’infrastruttura WEB
Basi di dati e web Introduzione
l’utente interagisce con un sito web le pagine sono costruite dinamicamente, sulla base dell’interazione con l’utente (siti dinamici) le informazioni rilevanti per l’applicazione memorizzate in un database
Es:. prenotazione on-line, commercio elettronico, home-banking, ....
BD e web
Friday, May 30, 2014
Friday, May 30, 2014
Corso di Basi di Dati
Architettura Client-Server
5
Protocollo HTTP
6
Per una applicazione web occorre aggiungere potere di calcolo e memorizzazione dati a questo modello
BD e web
Corso di Basi di Dati
Friday, May 30, 2014
BD e web
Corso di Basi di Dati
Friday, May 30, 2014
Architettura di una applicazione WEB
7
Client-side vs. Server side
8
CLIENT
Richiesta utente
Internet
tecnologia server side: peso della computazione sul server template
+ Pagina HTML
SERVER
tecnologia client side: peso della computazione sul client
dati Web server + tecnologia server-side
tecnologia ibrida (soluzione tipica)
BD e web
Friday, May 30, 2014
Corso di Basi di Dati
BD e web
Friday, May 30, 2014
Corso di Basi di Dati
Tecnologia Client-Side
9
Computazione sul client:
Tecnologia Server-Side
10
Computazione sul server - maggior flessibilità e capacità computazionale
Script interpretati dal browser, immersi nel codice HTML (es. Javascript)
- accesso e memorizzazione dei dati
- Tipicamente operazioni semplici e in stretta interazione con l’utente -
controllo delle form
-
gestione eventi (es. rollover)
- interattività non immediata (occorre che l’informazione arrivi al server !) Il server fa ben più che restituire pagine HTML/script già esistenti! - pagine dinamiche: create e composte dinamicamente dal server web
Eseguibili scaricati (es. Applet) - limitazioni dovute a problemi di sicurezza - capacità di accedere a dati sul server (es. DB)
-
utente invia dati (es., tramite una form) al server
-
il server li elabora
-
restituisce il risultato come documento HTML:
- necessità di componenti aggiuntive per l’elaborazione, capaci di costruire
Criticità:
pagine su richiesta, sulla base delle richieste e dei dati
dipendenza dal browser BD e web
Corso di Basi di Dati
Friday, May 30, 2014
BD e web
Corso di Basi di Dati
Friday, May 30, 2014
Architettura Server-Side
11
Tecnologia Server-Side: CGI e script embedded
12
CGI (common gateway interface) Eventuali parametri
protocollo per interfacciare un web server con un’applicazione esterna il WS invoca, su richiesta del client, un programma (che risiede in opportune Elaborazione
cartelle) SELECT...
- compilato - intepretato da un interprete che risiede sul server il programma ritorna una pagina HTML
Parte statica Parte dinamica
Perl, PHP, ma anche Java, C++, ...
CGI
BD e web
Friday, May 30, 2014
Corso di Basi di Dati
BD e web
Friday, May 30, 2014
Corso di Basi di Dati
Tecnologia server side: CGI e script embedded
13
Scripting
14
Script (embedded) il web server include come modulo un motore capace di interpretare il
Browser web
Richiede uno script
linguaggio di scripting
Server web
es. PHP (PHP Hypertext Preprocessor), ASP (Active server pages), Java Server Pages (JSP), ... Individua lo script
Browser web
Fornisce la pagina HTML
Genera la pagina HTML
Parser del linguaggio
BD e web
Corso di Basi di Dati
Friday, May 30, 2014
Analizza lo script
BD e web
Corso di Basi di Dati
Friday, May 30, 2014
Esempio: form HTML
15
Esempio form - Codice Perl
16
Comunicazione tra la pagina contenente la form e componente lato server che
In questo caso il “programma” indicato dalla action è un programma PERL
gestisce il contenuto della form spedito dall’utente.
(ad es. mioperl.pl)
Questa componente e’ diversa a seconda della tecnologia usata
Parametri ... BD e web
Friday, May 30, 2014
#!/usr/bin/perl use CGI; $q = new CGI; $color = $q->param('color'); $username = $q->param('username'); print $q->header(); print $q->start_html(-title => 'CGI'); print "Il nome è: $username
\n"; print "Il radio button selezionato è: $color
"; print $q->end_html;
Corso di Basi di Dati
BD e web
Friday, May 30, 2014
Corso di Basi di Dati
Esempio form - Codice PHP
17
Esempio form - Codice ASP
18
In questo caso il “programma” indicato dalla action è una pagina PHP (ed es.
In questo caso il “programma” indicato dalla action è una pagina ASP (ed es.
miapagina.php)
miapagina.asp)
PHP Il nome è: Il radio button selez. è:
BD e web
Corso di Basi di Dati
Friday, May 30, 2014
ASP Il nome è: Il radio button selezionato è:
BD e web
Corso di Basi di Dati
Friday, May 30, 2014
Application server
19
Non solo un HTTP server, integra moduli relativi a componenti server-side
Noi ...
20
Noi considereremo Apache
Ambiente per costruire applicazioni web
MySQL
Apache Web server IIS
...
Componenti aggiuntive BD e web
Friday, May 30, 2014
Motore dinamico lato server
PHP (modulo di Apache)
PHP ASP JSP ...
DB ...
L’installazione integrata delle tre componenti non è sempre agevole Così comune che in rete si trovano vari kit di installazione integrati (consigliati)
MySQL
LAMP (Linux, Apache, MySQL, PHP)
Access
WAMP, MAMP, XAMPP, ...
SQL Server Corso di Basi di Dati
BD e web
Friday, May 30, 2014
Corso di Basi di Dati