• Non ci sono risultati.

Basi di Dati-IX

N/A
N/A
Protected

Academic year: 2022

Condividi "Basi di Dati-IX"

Copied!
5
0
0

Testo completo

(1)

Corso di Basi di Dati BD e WEB

Basi di Dati-IX

Corso di Laurea in Informatica Anno Accademico 2013/2014

Paolo Baldan [email protected]

http://www.math.unipd.it/~baldan

Friday, May 30, 2014

Corso di Basi di Dati BD e web

Schema

Basi di dati e web: nozioni generali HTML

Basi del linguaggio PHP PHP e API MySQL

Interazione con l’utente: forms e gestori Mantenimento dello stato: sessioni e cookies Autenticazione

2

Friday, May 30, 2014

Basi di dati e web Introduzione

Basi di dati e web

Applicazione web

fornisce un servizio all’utente per mezzo dell’infrastruttura WEB 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, ....

4

(2)

Corso di Basi di Dati BD e web

Architettura Client-Server

5

Friday, May 30, 2014

Corso di Basi di Dati BD e web

Protocollo HTTP

6

Per una applicazione web occorre aggiungere potere di calcolo e memorizzazione dati a questo modello

Friday, May 30, 2014

Architettura di una applicazione WEB

7

Pagina HTML

Richiesta utente

dati template

+

Web server + tecnologia server-side

Internet

Client-side vs. Server side

8

tecnologia server side:

peso della computazione sul server

tecnologia client side:

peso della computazione sul client

CLIENT SERVER

tecnologia ibrida (soluzione tipica)

(3)

Corso di Basi di Dati BD e web

Tecnologia Client-Side

Computazione sul client:

Script interpretati dal browser, immersi nel codice HTML (es. Javascript) - Tipicamente operazioni semplici e in stretta interazione con l’utente

- controllo delle form

- gestione eventi (es. rollover)

Eseguibili scaricati (es. Applet)

- limitazioni dovute a problemi di sicurezza - capacità di accedere a dati sul server (es. DB) Criticità:

dipendenza dal browser

9

Friday, May 30, 2014

Corso di Basi di Dati BD e web

Tecnologia Server-Side

Computazione sul server

- maggior flessibilità e capacità computazionale - accesso e memorizzazione dei dati

- 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 - 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 pagine su richiesta, sulla base delle richieste e dei dati

10

Friday, May 30, 2014

Architettura Server-Side

11

Eventuali parametri

Elaborazione

SELECT...

Parte statica

Parte dinamica

Tecnologia Server-Side: CGI e script embedded

CGI (common gateway interface)

protocollo per interfacciare un web server con un’applicazione esterna il WS invoca, su richiesta del client, un programma (che risiede in opportune cartelle)

- compilato

- intepretato da un interprete che risiede sul server il programma ritorna una pagina HTML

Perl, PHP, ma anche Java, C++, ...

12

CGI

(4)

Corso di Basi di Dati BD e web

Tecnologia server side: CGI e script embedded

Script (embedded)

il web server include come modulo un motore capace di interpretare il linguaggio di scripting

es. PHP (PHP Hypertext Preprocessor), ASP (Active server pages), Java Server Pages (JSP), ...

13

Friday, May 30, 2014

Corso di Basi di Dati BD e web

Scripting

14

Server web

Individua lo script

Analizza lo script Parser del

linguaggio Genera la pagina HTML Browser web

Browser web

Richiede uno script

Fornisce la pagina HTML

Friday, May 30, 2014

Esempio: form HTML

Comunicazione tra la pagina contenente la form e componente lato server che gestisce il contenuto della form spedito dall’utente.

Questa componente e’ diversa a seconda della tecnologia usata

15

Parametri

<form name=”esempio” action=“programma”

method=get|post>

<input type=”text” name=”username”>

<input type=”radio” name=”color”

value=“Rosso”>

...

<input type=”submit”>

Esempio form - Codice Perl

In questo caso il “programma” indicato dalla action è un programma PERL (ad es. mioperl.pl)

16

#!/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<br>\n";

print "Il radio button selezionato è: $color<br>";

print $q->end_html;

(5)

Corso di Basi di Dati BD e web

Esempio form - Codice PHP

In questo caso il “programma” indicato dalla action è una pagina PHP (ed es.

miapagina.php)

17

<html>

<head><title>PHP</title></head>

<body>

Il nome è: <?php $_GET["username"]; ?>

Il radio button selez. è: <?php $_GET["color"]; ?>

</body>

</HTML>

Friday, May 30, 2014

Corso di Basi di Dati BD e web

Esempio form - Codice ASP

In questo caso il “programma” indicato dalla action è una pagina ASP (ed es.

miapagina.asp)

18

<html>

<head><title>ASP</title></head>

<body>

Il nome è: <% request.querystring(‘username’) %>

Il radio button selezionato è:<%

request.querystring(‘color’) %>

</body>

</html>

Friday, May 30, 2014

Application server

Non solo un HTTP server, integra moduli relativi a componenti server-side

Ambiente per costruire applicazioni web

19

Web server Motore dinamico lato server

Componenti aggiuntive

DB

PHP ASP JSP...

Apache IIS

...

MySQL Access SQL Server ...

Noi ...

Noi considereremo Apache

MySQL

PHP (modulo di Apache)

L’installazione integrata delle tre componenti non è sempre agevole

Così comune che in rete si trovano vari kit di installazione integrati (consigliati) LAMP (Linux, Apache, MySQL, PHP)

WAMP, MAMP, XAMPP, ...

20

Riferimenti

Documenti correlati

GeoServer 1 è un server open source rilasciato sotto licenza GPL (Free Software Foundation, 1991) per la gestione e la disseminazione di dati geospaziali secondo specifiche

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

Infatti, se, usando come termine noto 1 invece di (1 −σ k ) nel vincolo del caso k = v, si generasse questo traffico, non si avrebbe nessun altro vincolo sul nodo k stesso 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

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

[r]

Vi è una connessione permanente tra client e server nel momento in cui si accede al server, e fino a che il cliente non fa cadere esplicitamente la connessione.. E-MAIL