applicazione web informatica abacus informatica classe via 2008/2009 n.ceccon inf (01) revisione 4.0...
TRANSCRIPT
Applicazione Web
Informatica AbacusInformatica Classe VIA 2008/2009N.Ceccon
INF(01)
Revisione 4.0 settembre 2008
2
Applicazione Web
C hi D ove C osa
S iam o Storia P rodotti C om e
Bob A lice
Pagina statica
Per esempio, gli utenti Bob e Alice accedono, da un’altra pagina del sito, alla pagina “Prodotti” e ricevono entrambi la stessa pagina (contenuto giallo).
3
Applicazione Web
C hi D ove C osa
S iam o Storia P rodotti C om e
Bob A lice
Pagina dinamica
Per esempio, gli utenti Bob e Alice accedono pagina “Prodotti” del sito provenienti da un’altra e ricevono due contenuti diversi: Bob riceve la pagina con contenuto celeste, mentre Alice riceve il contenuto rosa.
4
Applicazione Web
Database
C hi D ove
S iam o Storia
L istino O rdin i
D B Prodotti
Login
C liente
Utenti
A lice AABBCarletto CCDDBob DDEE
Listino
aaa bbb cccddd eee fff
Listino
zzz xxx vvvhhh kkk m m m
Bob Alice
Listino
aaa bbb cccddd eee fffzzz xxx vvv
hhh kkk m m m
Per esempio, gli utenti Bob e Alice utilizzano un form di Login per autenticarsi ed accedere ad un’area riservata del sito, i dati per l’autenticazione sono registrati in un database. A seguito dell’autenticazione Bob e Alice ricevono due contenuti (listini) diversi.
5
Applicazione Web
Tipologie di utente e database
Server D BServer W eb
R ichiesta
R isposta R isposta SQ L
W eb D B M S
PR O D O TTI
A A 1200B B 1300C C 1435
Prodotti
A A 1200B B 1300C C 1435
Softw are D B M S
B ob
A lice
Tom m y
R ichiesta SQ L
Inserim ento dati
Per esempio Bob (utente con accesso parziale) interagisce con il sito dinamico ricevendo un elenco di prodotti, Tommy inserisce nel database dati con un form e Alice (amministratore) gestisce il database utilizzando un DBMS e/o un pannello di controllo di gestione del database
6
Applicazione Web
Definizione di applicazione web
• Un'applicazione web è costituita da pagine dinamiche per un
ambiente multiutente, cioè il problema consiste nel realizzare
programmi che devono interagire contemporaneamente con più
utenti.
– HTTP Il protocollo HTTP (Hyper Text Transfer Protocol) funziona su un
meccanismo richiesta/risposta (client/server): il client esegue una richiesta
ed il server restituisce la risposta.
Nell'uso comune il client corrisponde al browser ed il server al sito web.
Vi sono quindi due tipi di messaggi HTTP: messaggi richiesta e messaggi
risposta.
RFC 2616 (1.1)
• Una applicazione web è una applicazione client/server per un
ambiente stateless, cioè senza memoria, che utilizza le
tecnologie di Internet.
7
Applicazione Web
Approcci
• Elaborazione lato server
– Il server web riceve la richiesta della pagina web dinamica, esegue
tutte le operazioni necessarie per crearla e invia la pagina completata
al client, affinché venga visualizzata nel suo browser.
• Programmi compilati
• Script lato server
• Elaborazione lato client
– Alcune elaborazioni sono eseguite nella stazione di lavoro client, sia
per comporre la richiesta della pagina web dinamica, sia per crearla o
per visualizzarla.
• Download programmi eseguibili compilati
• Script lato client
Uno script è un programma e la differenza fra i due termini è che per tradizione, i documenti eseguibili compilati sono chiamati programmi, e i programmi interpretati sono chiamati script.
8
Applicazione Web
Server side scripting
• Uno script dal lato server è costituito da codice non compilato
che viene inserito all’interno della pagina HTML
(HTMLembedded) per estenderne le capacità, come per esempio,
per abilitare il file HTML della pagina web a eseguire
interrogazioni (query) sul database.
• Il codice di scripting viene eseguito dal motore presente sul server
prima che la pagina web venga inviata al browser che riceverà
quindi esclusivamente il codice di mark-up generato
dinamicamente in funzione dei risultati dell'elaborazione e non
avrà alcun accesso al codice server-side che ha generato la
risposta.
• Gli script server side sono interpretati ed elaborati durante
l’esecuzione sul server da un particolare modulo associato al
server web detto script engine lato server.
ASPPHPJSPPython
9
Applicazione Web
Script engine lato server
Schema generale di interazione per mezzo di form (scripting PHP e interrogazione SQL) con server separati su stessa rete locale. Tommy invia mediante un form la richiesta del catalogo dei prodotti.
Server D B192.168.10.11
Server W eb192.168.10.10
R ichiesta
R isposta
Risposta S
QL
PR O D O TTI
A A 1200B B 1300C C 1435
Script engine
<H TM L><?phpSELEC T * FR O M Prodotti?><H TM L>
<H TM L>A A 1200B B 1300C C 1435<H TM L>
SELEC
T * FRO
M Prodotti
Richiesta SQ
L
Tom m y
10
Applicazione Web
Progettazione
• Definizione degli utenti
– Scenari di utilizzo
– Actor drama
• Definzione task utente
– Le possibili azioni che l’utente può compiere
– Rappresentano mediante l’utilizzo di un linguaggio per i task oppure
con diagrammi in cui si evidenziano oltre ai task anche la
destinazione di un task stabilita dall’applicazione.
– I task non rappresentano le pagine dell’applicazione web, ma le azioni
che dipendono dal tipo di utente: un task può essere costituito da più
pagine, si pensi ad esempio al login ad un servizio in cui oltre alla
pagina di login c’è la pagina di gestione dell’errore di accesso.
11
Applicazione Web
Esempio di un Forum
• Un Forum di discussione permette agli utenti di un sito di discutere tra loro scambiando informazioni, consigli, pareri…
• Nei Forum più semplici i messaggi sono organizzati in maniera gerarchica su un unico livello, con in radice le discussioni e per ogni discussione i messaggi, in quelli più complessi sono possibili più livelli.
• Un qualsiasi utente può leggere i messaggi (con diverse tecniche di selezione), ma tipicamente solo gli utenti registrati al servizio possono inserire o rispondere ad uno specifico messaggio (funzione Quote o Cita).
– La registrazione comporta la richiesta di dati personali e della coppia di informazioni per l’autenticazione: Nickname-Password.
• La differenziazione tra gli utenti può essere fatta:– con la disabilitazione dell'operazione di inserimento nell’interfaccia
della pagina
– con un controllo nella fase d’inserimento del messaggio, con conseguente invio alla pagina di registrazione o di login (o un avviso con la possibilità di accedere alla registrazione).
12
Applicazione Web
Utenti
1. Utente registrato, legge e scrive (Alice).
2. Utente non registrato
– Registra, vuole parecipare scrivendo (Francesco).
– Non si registra, legge solo (Toni).
3. Moderatore di una discussione (Marco).
4. Amministratore (Arturo).
5. Utente che ha perso la registrazione (Teresa).
13
Applicazione Web
Task di Toni
Visualizza H O M E
Lettura d iscussioni
Lettura m essaggi
Toni è un utente non registrato che non si registra e quindi legge soltanto i messaggi.
14
Applicazione Web
Task di Alice
Visualizza H O M E
LoginLettura
d iscussioni
Lettura m essaggi
U tente loggato?
Inserim ento m essagio
C itaM essaggio
[ 1a ]
[ 1b ]
[ 1c ]
[1a] Login prima dell’inserimento del messaggio o citazione, utente non loggato.
[1b] Dopo il Login si ritorna all’inserimento oppure alla citazione del messaggio.
[1c] Utente che ha effettuato il Login con successo.
Alice è un utente registrato e partecipa attivamente al forum: legge e scrive.
15
Applicazione Web
Task di Bob
Visualizza H O M E
R egistrazioneLettura
d iscussioni
Lettura m essaggi
U tente loggato?
Inserim ento m essagio
C itaM essaggio
[ 1a ]
[ 1b ]
[ 1c ]
[1a] Registrazione prima dell’inserimento del messaggio o citazione.
[1b] Dopo la registrazione si ritorna all’inserimento oppure alla citazione del messaggio.
[1c] Utente che ha effettuato il Login con successo.
Bob non è registrato e oltre a leggere vuole anche scrivere.
16
Applicazione Web
Progettazione del sito
• Usabilità
• Accessibilità
Tutto chiaro?
Informatica AbacusInformatica Classe VIA 2008/2009N.Ceccon