Basi di dati e web Introduzione

3 downloads 119 Views 520KB Size Report
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