This post is to confirm that the next (and last) lecture of the course will be held on friday Jan 8th from 9 to 12 in room A320.
We will recap server side programming, will see some basic JDBC programming and will define the platform for final projects deploy.
This blog contains information about the course on web systems design and architecture (Architetture e Progetto dei Sistemi Web, 6 CFU) taught by Marco La Cascia at Università degli Studi di Palermo for computer engineering students. The goal of the course is to introduce and study key concepts related to web application design and programming.
venerdì 18 dicembre 2015
Handouts on server side programming
Available handouts and sample code on server side programming:
Note on JSP translation to servlet
To understand the translation of JSP to servlet have a look to the files hello.jsp, shown in class, and the corresponding, automatically generated, servlet hello_jsp.java You can experience with your own JSP and look at the generated servlets.
Be aware that the automatically generated servlet are somewhat hidden. On my system they where in my Eclipse workspace directory and precisely in:
workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/work/Catalina/localhost/helloJEE/org/apache/jsp
You should find them in a similar place in your computer.
Note on JSP translation to servlet
To understand the translation of JSP to servlet have a look to the files hello.jsp, shown in class, and the corresponding, automatically generated, servlet hello_jsp.java You can experience with your own JSP and look at the generated servlets.
Be aware that the automatically generated servlet are somewhat hidden. On my system they where in my Eclipse workspace directory and precisely in:
workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/work/Catalina/localhost/helloJEE/org/apache/jsp
You should find them in a similar place in your computer.
giovedì 10 dicembre 2015
martedì 8 dicembre 2015
Tesine
Come anticipato qualche tempo fa, per aver assegnata una tesina, che può essere individuale o di gruppo, dovete inviarmi un documento di specifiche di poche pagine che riporta cosa volete fare, come volete farlo e quali tecnologie utilizzerete (fra quelle viste a lezione) e aspettare che io vi dia l'OK prima di considerare le specifiche accettate. Per scrivere le specifiche utilizzate come riferimento lo schema allegato.
Le specifiche che mi invierete devono essere congrue col numero di "sviluppatori" del team. Per tesine individuali è quindi sufficiente implementare le funzionalità di base, per tesine da fare in coppia (o al massimo in tre) dovrete inserire necessariamente delle funzionalità aggiuntive.
E' anche possibile proporre altri argomenti. Se avete in mente una nuova applicazione o volete sviluppare una web-application a supporto di tesine di altri insegnamenti contattatemi che ne parliamo.
Di seguito alcuni possibili temi da sviluppare, altri seguiranno nei prossimi giorni.
Gestore di note
Si tratta di realizzare una versione semplificata di Google Keep che e’ il sistema di Google per gestire note (se non lo conoscete visitate keep.google.com).
Ovviamente non dovete replicare tutte le funzionalità ma almeno quelle di base (login, creazione nota, storing su server e visualizzazione delle note). Sulle eventuali funzionalità aggiuntive avete campo libero (immagini nelle note, interfaccia utente evoluta, condivisione fra utenti, cancellazione delle note, ricerca nelle note, impostazioni di visualizzazione, etc…).
Se lo ritenete utile potete usare XML e le tecnologie collegate per definire il formato delle note e per visualizzarle.
Gestore contatti
Si tratta di realizzare una versione semplificata di un sistema come Google contatti per la gestione dei contatti telefonici, email, social, etc..
Non dovete replicare tutte le funzionalità ma almeno quelle di base (login, creazione contatto, storing su server, eliminazione contatti e visualizzazione dei contatti). Sulle eventuali funzionalità aggiuntive avete campo libero (immagine del contatto, interfaccia utente evoluta, ricerca nei contatti, possibilità di avere un qualsiasi numero di campi per ciascun contatto, possibilità di importare i dati da un file Excel di cui si fa l'upload, esportazione dei dati in formato XML, etc…).
I dati vanno memorizzati su un DB relazionale. Il modello dei dati lo definirete voi ma potrà essere una semplice tabella (nel caso in cui per ciascun contatto si possono avere solo i campi predefiniti) o un modello più complesso che consenta maggiore flessibilità.
Virtual Pet
Single page web application che permette la gestione di un virtual pet. Per la memorizzazione potete usare i cookies. Per l’implementazione di eventuali funzionalità di tipo social dovreste scrivere qualche componente lato server che tenga in un DB traccia degli utenti registrati e delle relazioni.
Per la struttura di massima potete prendere spunto dall’esempio iRock del libro Head First JavaScript (http://examples.oreilly.com/9780596527747/), per nuove funzionalità da realizzare potete ispirarvi alla app Pou disponibile per Android e iOS.
Le specifiche che mi invierete devono essere congrue col numero di "sviluppatori" del team. Per tesine individuali è quindi sufficiente implementare le funzionalità di base, per tesine da fare in coppia (o al massimo in tre) dovrete inserire necessariamente delle funzionalità aggiuntive.
E' anche possibile proporre altri argomenti. Se avete in mente una nuova applicazione o volete sviluppare una web-application a supporto di tesine di altri insegnamenti contattatemi che ne parliamo.
Di seguito alcuni possibili temi da sviluppare, altri seguiranno nei prossimi giorni.
Gestore di note
Si tratta di realizzare una versione semplificata di Google Keep che e’ il sistema di Google per gestire note (se non lo conoscete visitate keep.google.com).
Ovviamente non dovete replicare tutte le funzionalità ma almeno quelle di base (login, creazione nota, storing su server e visualizzazione delle note). Sulle eventuali funzionalità aggiuntive avete campo libero (immagini nelle note, interfaccia utente evoluta, condivisione fra utenti, cancellazione delle note, ricerca nelle note, impostazioni di visualizzazione, etc…).
Se lo ritenete utile potete usare XML e le tecnologie collegate per definire il formato delle note e per visualizzarle.
Gestore contatti
Si tratta di realizzare una versione semplificata di un sistema come Google contatti per la gestione dei contatti telefonici, email, social, etc..
Non dovete replicare tutte le funzionalità ma almeno quelle di base (login, creazione contatto, storing su server, eliminazione contatti e visualizzazione dei contatti). Sulle eventuali funzionalità aggiuntive avete campo libero (immagine del contatto, interfaccia utente evoluta, ricerca nei contatti, possibilità di avere un qualsiasi numero di campi per ciascun contatto, possibilità di importare i dati da un file Excel di cui si fa l'upload, esportazione dei dati in formato XML, etc…).
I dati vanno memorizzati su un DB relazionale. Il modello dei dati lo definirete voi ma potrà essere una semplice tabella (nel caso in cui per ciascun contatto si possono avere solo i campi predefiniti) o un modello più complesso che consenta maggiore flessibilità.
Virtual Pet
Single page web application che permette la gestione di un virtual pet. Per la memorizzazione potete usare i cookies. Per l’implementazione di eventuali funzionalità di tipo social dovreste scrivere qualche componente lato server che tenga in un DB traccia degli utenti registrati e delle relazioni.
Per la struttura di massima potete prendere spunto dall’esempio iRock del libro Head First JavaScript (http://examples.oreilly.com/9780596527747/), per nuove funzionalità da realizzare potete ispirarvi alla app Pou disponibile per Android e iOS.
venerdì 4 dicembre 2015
lunedì 30 novembre 2015
domenica 29 novembre 2015
Handouts on DOM
Available handouts and sample code on HTML and XML DOM:
- HTML DOM handout
- HTML DOM sample code
- XML DOM handout
- XML DOM sample code
martedì 10 novembre 2015
Exercise on XML validation and transformation
Practice with XML features as required in exercise set 2.
lunedì 9 novembre 2015
Handouts on JavaScript
Available handouts and sample code on JavaScript:
- JavaScript (1)
- JavaScript (2)
- Basic JavaScript sample code
- More JavaScript sample code
lunedì 26 ottobre 2015
Exercise on HTML and CSS
Try to create a simple web page using HTML and CSS as required in exercise set 1.
martedì 20 ottobre 2015
martedì 13 ottobre 2015
No class on friday
As I already anticipated this morning, there will be no class on friday 16th.
We'll meet again tuesday 20th at 11:00.
We'll meet again tuesday 20th at 11:00.
venerdì 9 ottobre 2015
giovedì 1 ottobre 2015
Fall 2015 edition of the course started
The new edition of APSW course just started. The syllabus is available for download.
giovedì 17 settembre 2015
Data orali esami di settembre 2015
Si comunica che gli orali degli esami in oggetto saranno giovedì 24 nei locali ex-DINFO (Ed.6 III piano) con inizio alle ore 9:00.
venerdì 5 giugno 2015
Tesina monitoraggio impianti
Come anticipato a lezione sono riuscito ad ottenere i dati di monitoraggio di un campo fotovoltaico. I dati di monitoraggio sono salvati su una singola tabella dove in ciascuna riga è indicato ID_impianto (da 1 a 5), data e ora della misurazione, e diversi parametri elettrici.
Per sviluppare questa tesina dovete importare la tabella in un database e scrivere una web-application che permetta di visualizzare in maniera efficace ed interattiva i dati presenti nel database. Non è prevista la modifica dei dati presenti nel database (si suppone che ci sia un'altra parte del sistema di monitoraggio che si occupa di popolare il database).
La vostra web-application potrebbe avere un'aspetto simile a questo. Se volete dare all'utente la possibilità di visualizzare i dati in forma grafica potete utilizzare una delle tante librerie Javascript disponibili a questo scopo (Choosing a JavaScript Charting Library: the Main Contenders).
Il database di test, in formato SQL, è grande poco meno di 50Mb e contiene alcune centinaia di migliaia di righe relative ai dati di monitoraggio di febbraio 2015.
Notate che se utilizzate phpMyAdmin per gestire MySQL dovete prima modificare un paio di parametri del file di configurazione php.ini per permettere upload di files di grandi dimensioni (ad esempio potete settore a 50Mb le variabili upload_max_filesize e post_max_size).
Se per importare il DB utilizzate invece MySQLWorkbench non avete alcun problema.
Come possibili funzionalità aggiuntive potreste prevedere:
Se siete interessati a svolgere questa tesina scrivete le specifiche dettagliate seguendo il format già pubblicato per l'altra tesina e inviatemelo per email.
Per sviluppare questa tesina dovete importare la tabella in un database e scrivere una web-application che permetta di visualizzare in maniera efficace ed interattiva i dati presenti nel database. Non è prevista la modifica dei dati presenti nel database (si suppone che ci sia un'altra parte del sistema di monitoraggio che si occupa di popolare il database).
La vostra web-application potrebbe avere un'aspetto simile a questo. Se volete dare all'utente la possibilità di visualizzare i dati in forma grafica potete utilizzare una delle tante librerie Javascript disponibili a questo scopo (Choosing a JavaScript Charting Library: the Main Contenders).
Il database di test, in formato SQL, è grande poco meno di 50Mb e contiene alcune centinaia di migliaia di righe relative ai dati di monitoraggio di febbraio 2015.
Notate che se utilizzate phpMyAdmin per gestire MySQL dovete prima modificare un paio di parametri del file di configurazione php.ini per permettere upload di files di grandi dimensioni (ad esempio potete settore a 50Mb le variabili upload_max_filesize e post_max_size).
Se per importare il DB utilizzate invece MySQLWorkbench non avete alcun problema.
Come possibili funzionalità aggiuntive potreste prevedere:
- controllo degli accessi con login e password e possibilità di visualizzazioni diverse a seconda che si tratti di utente registrato o non registrato (dovete aggiungere una tabella per memorizzare i dati degli utenti al DB).
- possibilità per l'utente di registrarsi autonomamente mediante un'opportuno form che, dopo opportuna validazione, attiva la scrittura dei dati dell'utente nel database.
- possibilità di scaricare i risultati di interrogazioni.
- qualsiasi altra funzionalità che vi viene in mente e ritenete opportuna...
Se siete interessati a svolgere questa tesina scrivete le specifiche dettagliate seguendo il format già pubblicato per l'altra tesina e inviatemelo per email.
giovedì 28 maggio 2015
JSP and JDBC
Available handouts on JSP programming and database access in Java using JDBC, some sample code (JSP, JDBC) and a new exercise set.
Implementation of some of the exercises given during the semester will be published in the next days.
Implementation of some of the exercises given during the semester will be published in the next days.
mercoledì 27 maggio 2015
URGENTE: anticipo lezione del 28/05
Si comunica che la lezione di domani 28/5 sarà sempre in aula A210 ma dalle 10:00 alle 13:00 invece che dalle 11:00 alle 14:00.
giovedì 21 maggio 2015
venerdì 15 maggio 2015
martedì 5 maggio 2015
No class on Thursday
The lesson scheduled for Thursday, May 7th, is canceled. We will meet again in class on Tuesday, May 12nd.
AJAX fundamentals
lunedì 4 maggio 2015
Interesting reading on Javascript
Three JavaScript Quirks That Java/C Developers Should Know http://t.co/e9SrBz1z5N via @sitepointdotcom
— Marco La Cascia (@MarcoLaCascia) 4 Maggio 2015
giovedì 30 aprile 2015
mercoledì 29 aprile 2015
martedì 21 aprile 2015
Tesine
Come anticipato al lezione, per aver assegnata una tesina, che può essere individuale o di gruppo, dovete inviarmi un documento di specifiche di poche pagine che riporta cosa volete fare, come volete farlo e quali tecnologie utilizzerete (fra quelle viste a lezione) e aspettare che io vi dia l'OK prima di considerare le specifiche accettate. Per scrivere le specifiche utilizzate come riferimento lo schema allegato.
Le specifiche che mi invierete devono essere congrue col numero di "sviluppatori" del team. Per tesine individuali è quindi sufficiente implementare le funzionalità di base, per tesine da fare in coppia (o al massimo in tre) dovrete inserire necessariamente delle funzionalità aggiuntive.
E' anche possibile proporre altri argomenti. Se avete in mente una nuova applicazione o volete sviluppare una web-application a supporto di tesine di altri insegnamenti contattatemi che ne parliamo.
Di seguito un possibile tema da sviluppare, altri seguiranno nei prossimi giorni.
Virtual Pet
single page web application che permette la gestione di un virtual pet. Per la memorizzazione potete usare i cookies. Per l’implementazione di mini giochi potete usare il CSS. Per l’implementazione di eventuali funzionalità di tipo social dovreste scrivere qualche componente lato server che tenga in un DB traccia degli utenti registrati e delle relazioni.
Per la struttura di massima potete prendere spunto dall’esempio iRock che vi ho mostrato a lezione, per nuove funzionalità da realizzare potete ispirarvi al videogioco Pou.
Le specifiche che mi invierete devono essere congrue col numero di "sviluppatori" del team. Per tesine individuali è quindi sufficiente implementare le funzionalità di base, per tesine da fare in coppia (o al massimo in tre) dovrete inserire necessariamente delle funzionalità aggiuntive.
E' anche possibile proporre altri argomenti. Se avete in mente una nuova applicazione o volete sviluppare una web-application a supporto di tesine di altri insegnamenti contattatemi che ne parliamo.
Di seguito un possibile tema da sviluppare, altri seguiranno nei prossimi giorni.
Virtual Pet
single page web application che permette la gestione di un virtual pet. Per la memorizzazione potete usare i cookies. Per l’implementazione di mini giochi potete usare il CSS. Per l’implementazione di eventuali funzionalità di tipo social dovreste scrivere qualche componente lato server che tenga in un DB traccia degli utenti registrati e delle relazioni.
Per la struttura di massima potete prendere spunto dall’esempio iRock che vi ho mostrato a lezione, per nuove funzionalità da realizzare potete ispirarvi al videogioco Pou.
giovedì 16 aprile 2015
venerdì 3 aprile 2015
Exercise set on XML
giovedì 2 aprile 2015
mercoledì 1 aprile 2015
lunedì 30 marzo 2015
mercoledì 25 marzo 2015
URGENTE: Cancellazione lezione di giovedì 26 marzo
Causa indisposposizione del docente la lezione di domani è cancellata. Martedì decideremo quando recuperarla.
mercoledì 18 marzo 2015
HTML handouts and sample code
Available for download handouts on html (part1, part2) and some code to play with.
Install Eclipse IDE for Java EE Developers and use it to import and edit HTML to start do get acquainted with this powerful IDE.
Install Eclipse IDE for Java EE Developers and use it to import and edit HTML to start do get acquainted with this powerful IDE.
giovedì 5 marzo 2015
2014-15 course started
Available for download the syllabus, course description and introduction to web technologies handouts.
Due to teacher duties out of town, there will be no classes next week. Next class is scheduled for Tue March 17th @ 9:00 in classroom A210.
Due to teacher duties out of town, there will be no classes next week. Next class is scheduled for Tue March 17th @ 9:00 in classroom A210.
venerdì 20 febbraio 2015
venerdì 9 gennaio 2015
Iscriviti a:
Post (Atom)