Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008
Applicazione Web 2 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).
Applicazione Web 3 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.
Applicazione Web 4 Database 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.
Applicazione Web 5 Tipologie di utente e database 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
Applicazione Web 6 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.
Applicazione Web 7 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.
Applicazione Web 8 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. ASP PHP JSP Python
Applicazione Web 9 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.
Applicazione Web 10 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.
Applicazione Web 11 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).
Applicazione Web 12 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).
Applicazione Web 13 Task di Toni Toni è un utente non registrato che non si registra e quindi legge soltanto i messaggi.
Applicazione Web 14 Task di Alice [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.
Applicazione Web 15 Task di Bob [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.
Applicazione Web 16 Progettazione del sito •Usabilità •Accessibilità
Tutto chiaro? Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon