DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER



Documenti analoghi
19. LA PROGRAMMAZIONE LATO SERVER

Database e reti. Piero Gallo Pasquale Sirsi

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Mac Application Manager 1.3 (SOLO PER TIGER)

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Corso di Informatica Modulo T3 B2 - Database in rete

Client - Server. Client Web: il BROWSER

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Siti interattivi e dinamici. in poche pagine

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

<?php include './include/page.php';

SCI Sistema di gestione delle Comunicazioni Interne > MANUALE D USO

Corso di PHP. Prerequisiti. 1 - Introduzione

GUIDA AL PRONTUARIO MOBILE

FtpZone Guida all uso

Access. P a r t e p r i m a

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda)

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

Raggruppamenti Conti Movimenti

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

flusso delle informazioni... 2 password... 3 password/ inserimento di una nuova richiesta... 4 le condizioni di vendita... 6

XML e PHP. Gestire XML con PHP. Appendice

Corso di PHP. Prerequisiti. 1 - Introduzione

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

Form Editor. Dove NomeProfilo è personalizzabile.

Tabelle di riferimento Pulsanti Inserire documento Predisposizione doc Approvazione Doc Numerazione Doc Pubblicazione Albo Webservice

Esercizio data base "Biblioteca"

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Registratori di Cassa

1) GESTIONE DELLE POSTAZIONI REMOTE

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Lezione 9. Applicazioni tradizionali

Reti di Telecomunicazione Lezione 7

Il Web Server e il protocollo HTTP

Capitolo 4 Pianificazione e Sviluppo di Web Part

Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

Lezione II: Web server e ambiente di lavoro

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Circolari e lettere da Word con anagrafiche e indirizzi da Metodo

Programmazione Server Side e Database in rete

Corso di Informatica Modulo T3 B1 Programmazione web

Guida all impostazione. Eureka Web

Funzioni di Trasferimento Movimenti

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

Progettazione Web Applicazioni client-server

Internet Architettura del www

Manuale per la configurazione di AziendaSoft in rete

Capitolo 1 Installazione del programma

Esercizi di JavaScript

WEB-RECALL: GESTIONE DEI TICKETS DI ASSISTENZA

HTML HTML. HyperText Markup Language. Struttura di un documento. Gli elementi essenziali di un documento HTML sono i seguenti TAG: <HTML>...

MANUALE D USO DELL E-COMMERCE. Versione avanzata

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Obiettivo dell esercitazione

Inizializzazione degli Host. BOOTP e DHCP

Esercitazione 8. Basi di dati e web

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2.

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Guida alla registrazione on-line di un DataLogger

File, Modifica, Visualizza, Strumenti, Messaggio

ITI M. FARADAY Programmazione modulare a.s

MANUALE PARCELLA FACILE PLUS INDICE

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Infrastruttura wireless d Ateneo (UNITUS-WiFi)

PHP e Structured Query Language

Manuale di configurazione del client di posta Microsoft Outlook COME LEGGERE LA CASELLA PEC

Database Manager Guida utente DMAN-IT-01/09/10

MANUALE PER LA GESTIONE DEL SERVIZIO DI NEWSLETTER

Guida alla registrazione on-line di un NovaSun Log

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

Vlan Relazione di Sistemi e Reti Cenni teorici

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito)

Università degli Studi di Messina

CROSSROAD. Gestione TENTATA VENDITA. Introduzione. Caratteristiche generali. Principali funzionalità modulo supervisore

Lezione 6: Form 27/04/2012

Il Protocollo HTTP e la programmazione di estensioni Web

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

MANUALE D USO DELLA PIATTAFORMA ITCMS

Mercato ittico all ingrosso di Pescara SERVIZI ON LINE

Integrazione InfiniteCRM - MailUp

Transcript:

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono e utilizzano tali servizi. In questo ambiente consideriamo i protocolli della famiglia TCP/IP che sono protocolli aperti, cioè con descrizioni tecniche che appaiono in documenti pubblici (RFC), facilmente reperibili su Internet. Sul protocollo TCP/IP si basa il protocollo http, che si trova ad un livello più alto. Le pagine Internet, scritte nel linguaggio HTML, sono visualizzate dai BROWSER, che sono visti come CLIENT UNIVERSALI, mentre i computer server hanno bisogno di un Web Server per poter fornire i servizi. Infatti: il Web Server è il software che implementa la parte server del protocollo http ed è in grado di ricevere le richieste dal client, inviate secondo lo standard http, di elaborarle e di fornire risposte sotto forma di documento HTML. Consideriamo il Web Server come server universale e deve essere configurato per offrire una serie di servizi ai client, come la sicurezza dei documenti, i diritti di accesso agli stessi, la gestione di file particolari. PROGRAMMA LATO CLIENT E LATO SERVER Dato un ambiente client/server, con architettura di protocolli TCP/IP e http, intendiamo per PROGRAMMAZIONE LATO SERVER lo sviluppo di programmi applicativi eseguiti sul server, accettando richieste dal client e fornendo a quest ultimo i risultati dell elaborazione sotto forma di pagine HTML. La PROGRAMMAZIONE LATO CLIENT è lo sviluppo di applicativi eseguiti sul client, inviando eventuali richieste al server e gestendo i risultati ricevuti da quest ultimo. Esempi si programmazione lato client sono le Applet Java, il codice JavaScript e VBScript. Definiamo PROGRAMMAZIONE ORIENTATA AL WEB, l insieme di tecniche e metodologie che si utilizzano in un ambiente client/server con architettura TCP/IP http, per far interagire programmi lato client e server, al fine di realizzare sistemi che possano essere eseguiti In Internet e Intranet. Conviene usare la parte client per: 1) Convalidare l input dell utente se è valido. 2) Richiedere all utente una conferma. 3) Visualizzare messaggi informativi o di errore. 4) Eseguire calcoli o recupero dati. 5) Porre condizioni nel codice HTML. 6) Usare altre funzioni che non richiedono l utilizzo del server.

Conviene usare la parte server per: 1) Mantenere le informazioni tra un accesso e l altro da parte del client. 2) Mantenere i dati tra i diversi client. 3) Accedere ad un database ai file sul server. 4) Richiamare librerie di altri linguaggi. 5) Accedere genericamente a risorse sul server. LINGUAGGI DI SCRIPTING E PROGRAMMAZIONE Dobbiamo distinguere tra: 1) Linguaggi di programmazione lato server, come ad esempio Java e C. 2) Linguaggi di scripting lato server, come PHP, Perl, ASP. Introduciamo uno pseudolinguaggio lato server detto Pserv,che useremo più avanti, e supponiamo che esso sia un linguaggio procedurale di scripting lato server. CONFIGURARE IL WEB SERVER 3) La configurazione serve per permettere l esecuzione di programmi lato server. Ogni Web Server deve fare riferimento ad una DIRECTORY ROOT VIRTUALE creata su disco fisso e che sarà in grado di visualizzare le pagine web. Nel caso del nostro Pserv, occorrerà configurare il Web Server affinchè possa interagire con Pserv e cioè: 1) Il Web Server deve riconoscere l estensione *.Pserv dei file da eseguire. 2) Il Web Server deve saper dove si trova l interprete Pserv da richiamare per eseguire i file di estensione.pserv. 3) Il Web Server deve conoscere la directory del server che contiene i file *.pserv che possono essere eseguiti. ESECUZIONE DEI PROGRAMMI LATO SERVER Una volta installato e configurato il Web Server, possiamo scrivere ed eseguire le istruzione in Pserv. Supponiamo di sapere dove è posizionato l interprete Pserv che chiamiamo pserv.exe, e quale è la directory virtuale che conterrà i file *.pserv. Le istruzioni Pserv possono: 1) Essere inserite all interno di file HTML tramite opportuni tag (embedded Pserv). 2) Far parte di file di soli comandi Pserv.

In entrambi i casi, per poter scrivere un file Pserv ed eseguirlo, occorre: 1) Scrivere un file con un comune editor di testo (Blocco Note di Windows), come se si trattasse di un file HTML. 2) Salvare tale file con estensione *.pserv. 3) Inserirlo nella directory concordata con il Web Server. 4) Per poter inserire istruzioni Pserv in un file HTML, si utilizzano i tag <?pserv e?>. Es: <?pserv istruzioni Pserv?> Es: file di prova.pserv <HTML> <HEAD> <TITLE> Prova con Pserv </TITLE> </HEAD> <BODY> <?pserv SCRIVI( Prima riga stampata con Pserv ) SCRIVI( Seconda riga stampata con Pserv )?> </BODY> </HTML> Per mandare tale file in esecuzione da qualsiasi browser, si digita il seguente indirizzo: http: // <URL Server> / >NomeFilePserv.pserv>, come ad esempio: http: //www.minervaitalica.it/prova.pserv Il risultato che otterremo sarà la stampa sul browser delle due righe di testo inserite nell istruzione SCRIVI. Verrà quindi creata dinamicamente una pagina HTML contenente le due righe da visualizzare. Questa pagina sarà inviata al client. Nello pseudolinguaggio si faranno precedere i nomi delle variabili dal simbolo $. Es: <?pserv $Messaggio SCRIVI (Messaggio)?> Ciao a tutti

INVIARE VALORI AL SERVER I dati inseriti dall utente in una pagina HTML vengono trasmesse al lato server (Pserv) attraverso due modalità di passaggio: 1) Metodo GET 2) Metodo POST Il primo metodo consiste nell accodare i parametri all indirizzo della pagina richiesta. La sintassi è la seguente: http: // <URL PaginaPserv> / >NomeProgamma.pserv>? <NomeParametro1> = <Valore Parametro1> & <NomeParametroN> = <Valore ParametroN> Al programma Pserv, i parametri possono essere passati direttamente all interno di un link HTML (HREF), che contiene l indirizzo della pagina Pserv da richiamare e i valori dei due parametri. <HTML> esempio1 <HEAD> <TITLE> Passaggio di parametri in un link con metodo GET </TITLE> </HEAD> <BODY> <A HREF = http://localhost/visualizza.pserv?nome = Paolo&Cognome = Rossi Visualizza </A> </BODY> </HTML> Il nome e il cognome saranno visualizzati cliccando sul link Visualizza presente sulla pagina Web. Possiamo migliorare il tutto creando due campi testo di input in un form facendo in modo che la pagina HTML funga da interfaccia utente grafica: <HTML> esempio2 <HEAD> <TITLE> Passaggio di parametri al server </TITLE> </HEAD> <BODY> <FORM METHOD = GET ACTION = http://localhost/visualizza.pserv> Nome: <INPUT TYPE = text NAME = Nome > <BR> Cognome: <INPUT TYPE = text NAME = Nome > <BR> <INPUT TYPE = submit VALUE = Invia > </FORM> </BODY> </HTML>

Il risultato su Web sarà il seguente: Figura1: esempio1 Figura 2: esempio2 Nel secondo caso, l attributo ACTION dell elemento FORM specifica il nome del file Pserv da eseguire sul server. Non appena si preme il pulsante Invia (submit), i dati contenuti nei campi del form vengono inviati attraverso il protocollo http al Web Server, al quale arriverà la richiesta di esecuzione dalla pagina Visualizza.pserv, seguita dai nome e dai valori dei parametri. In seguito l attributo METHOD indica la modalità di trasferimento di tipo GET, e l attributo NAME di ogni campo testo serve per dare il nome ai parametri. Il metodo GET presenta alcuni svantaggi come ad esempio il fatto di non essere adatto ad effettuare i login, poiché la password sarebbe visibile, e la limitatezza della lunghezza dell URL. Il metodo POST viene usato specificando il valore POST per l attributo METHOD e consentendo che i dati inviati non siano visibili all utente. L esempio è lo stesso della pagina precedente ma con POST al posto di GET. Per recuperare, con entrambi i metodi, si usa la notazione: $NomeParametro <?pserv SCRIVI ( Ciao, $Nome, $Cognome);?>

ACCESSO AI DATI IN AMBIENTE INTERNET È necessario individuare come integrare i database in un ambiente client/server. Il Web Server accetta richieste di interrogazione di un database e restituisce pagine HTML. Chiamiamo CLIENT SQL la parte di interfaccia grafica che sottopone alla parte server le istruzioni SQL. Le interazioni con un database possono essere basate: 1) Su TRIGGER 2) Su WEB SERVER 3) Su CLIENT 4) Su ODBC Nel caso 1 abbiamo che un trigger è una procedura automatica che viene eseguita non appena si verificano determinati eventi. Si possono creare trigger da inserire in un database, in modo che ad ogni variazione di alcuni dati, un opportuno trigger entri in esecuzione, estragga questi dati e crei una pagina HTML da trasferire al client. Le pagine così create sono statiche. Nel caso 2 bisogna disporre di un programma applicativo sul server che invia un comando SQL al server SQL. A questo punto si crea automaticamente una pagina HTML che rende leggibile il risultato del browser. Riassumendo, il programma applicativo deve inviare comandi SQL al server SQL, ricevere una risposta dal server SQL, creare una pagina HTML, restituire tale pagina al Web Server, che poi invierà la stessa al client. Nel caso 3, il Web Server invia al client un applicativo tipo Applet che interagisce direttamente con il server SQL del database remoto, quindi l interazione avviene solo con tale server. Nel caso 4 si usa l ODBC (Open Database Coonnectivity) che è un interfaccia software standard in tutti gli ambienti e consente ai programmatori di interfacciarsi a qualsiasi database creato da altri, purchè siano stati scritti i driver ODBC per quel database. Per configurare tali driver bisogna specificare il DNS cioè il tipo di database che si vuole usare e i driver per quel database. Tale approccio non ha bisogno di un browser, non è basato su HTML e non richiede che il database si trovi su una rete TCP/IP. INTERAZIONE TRA WEB SERVER E SERVER SQL La parte di DBMS che si occupa di fornire un servizio in rete si chiama server SQL. Il programma lato server, dopo aver interagito con il server SQL e aver ottenuto il risultato della query si può scegliere se: Formattare direttamente sul server la pagina HTML che dovrà presentare il risultato e poi restituirla al client.

1) Restituire al client il risultato della query con in aggiunta le relative istruzioni per la formattazione di tale risultato. Tutto ciò, in questo caso, avverrà sul client. L interazione dell utente finale è di solito limitata alla visualizzazione dei dati già presenti nel database, e all inserimento di nuovi dati. L interazione dell amministratore serve invece per: a) Creare un nuovo database o modificare o modificare uno schema già esistente per adattarlo e migliorarlo. b) Impostare gli account per gli utenti accreditati. c) Configurare le politiche di sicurezza dei dati e in particolare si possono creare due diversi livelli di sicurezza: un primo livello mediante il quale si identificano, e si permette l accesso per gli utenti al Web Server mediante login, e un secondo livello in cui si identificano e si permette l accesso per gli utenti al database mediante login dello stesso. Può anche esistere il login di rete, che permette l accesso agli utenti alla particolare rete nella quale è presente il Web Server.

PROGRAMMAZIONE LATO SERVER E DATABASE Consideriamo l esempio di un piccolo negozio on line. In questo contesto creiamo il database Negozio e la tabella Prodotti, e assegniamo i permessi di accesso attraverso l inserimento di username e password. Il nostro obiettivo è quello di realizzare una semplice applicazione che consenta di: 1) Inserire un nuovo prodotto nel database. 2) Visualizzare gli articoli presenti nel database 3) Modificare o cancellare un prodotto inserito. La videata iniziale dell applicazione apparirà così, assieme ai relativi file:

INSERIMENTO DI UN NUOVO PRODOTTO In questo caso il listato sarà il seguente: Il file produce il seguente risultato: Nel listato precedente abbiamo che l attributo ACTION dell elemento FORM specifica il nome del file Pserv da invocare sul server. Non appena si preme il pulsante Inserisci il nuovo prodotto, i dati contenuti nei campi del form verranno inviati attraverso il protocollo http al Web Server. Quest ultimo

eseguirà la pagina NuovoProdotto.pserv, alla quale trasmetterà i parametri relativi al codice del prodotto, alla categoria, descrizione, prezzo e quantità. Vediamo ora il file NuovoProdotto.pserv, che alimenta la tabella Prodotti con i valori ricevuti dal form. I passi da eseguire sono i seguenti: Stabilire una connessione con il server SQL attraverso la pseudo istruzione: PseudoSQLConnetti (<URL Server>, <Utente>, <Password>) Questa pseudoistruzione restituisce un intero detto identificativo o ID di connessione che individua la connessione aperta: se viene restituito 1 vuol dire che il collegamento non è andato a buon fine. In molti linguaggi lato server la connessione può essere persistente cioè viene lasciata aperta per un certo tempo, al fine di poterla poi riutilizzare. 1) Selezionare un database attraverso la seguente pseudoistruzione: SelezionaDB (<IDConnessione>,<NomeDatabase>) Anche SelezionaDB restituisce 1 se l operazione fallisce. Nel nostro caso ci connettiamo al database Negozio. 2) Impostare la query memorizzandola all interno di una variabile. Nel nostro caso la variabile $Query contiene la query da eseguire:

3) Eseguire la query tramite la pseudoistruzione: Esegui (<IDConnessione>, <Query>) 4) Chiudere la connessione con il server SQL attraverso la pseudo istruzione: Chiudi (<IDConnessione>) VISUALIZZARE I PRODOTTI PRESENTI IN NEGOZIO Supponiamo di eseguire una query per vedere il listino completo dei prodotti in catalogo. La pagina HTML conterrà una tabella nella quale vedremo gli articoli in negozio pronti per la vendita. La pseudoistruzione: PrelevaOggetto (<NomeTabellaRisultato>, <NumRiga>)

restituisce la riga di un numero <NumRiga> della tabella (<NomeTabellaRisultato>. Nel nostro caso PrelevaOggetto restituisce nella variabile $Dati una riga alla volta, prelevandola dalla tabella contenente il risultato della query. Dopo di ciò, si formatta il risultato dell interrogazione, aggiungendo ad esempio le immagini relative ad un prodotto, un elenco di fornitori relativi ad un prodotto, dati in formato grafico in formato XML. Tutto ciò è possibile modificando il frammento di codice relativo al ciclo MENTRE. Se vogliamo visualizzare un elenco con link legati ad altre query, dobbiamo anche in questo caso, modificare il corpo del ciclo MENTRE. All interno della tabella deve essere visualizzato un link sul codice del prodotto come mostrato in figura La modifica del ciclo MENTRE è mostrata qui sotto:

Il file che si occuperà di effettuare la query per la selezione dei fornitori di un certo articolo è il seguente: L output prodotto è il seguente: