Web Application Development
Corso tenuto alla FILS nel periodo 2007–2011, al quarto anno, dedicato allo sviluppo di applicazioni web client–server e al passaggio dalle pagine statiche ad applicazioni dinamiche, collegate a database e servizi distribuiti.
Riferimenti essenziali
- Istituzione: Università POLITEHNICA di Bucarest
- Facoltà: FILS – Facoltà di Ingegneria in Lingue Straniere
- Lingua di insegnamento: inglese
- Specializzazione: Information Engineering
- Periodo: 2007–2011
- Anno / semestre: quarto anno, secondo semestre
- Titolo ufficiale: Web Application Development
- Struttura: 2 ore di lezione + 1 ora di laboratorio + 1 ora di progetto
- Crediti: 5
- Prerequisiti: Object-Oriented Programming, Computer Networks, Software Development Methods
Il posto del corso nella formazione di un ingegnere del software
Questo corso nacque in un momento in cui lo sviluppo delle applicazioni web era già diventato una componente essenziale della pratica software moderna. Nel percorso curricolare della FILS completava la formazione offerta dai corsi di programmazione orientata agli oggetti, metodi di sviluppo del software e architetture, portandola in un contesto tecnologico concreto: l’applicazione distribuita accessibile attraverso il Web.
Non si trattava soltanto di imparare a costruire pagine HTML, ma di comprendere il modello client–server del Web, i protocolli su cui si basa, il ruolo dell’interattività lato client e, soprattutto, il modo in cui la logica applicativa, la persistenza dei dati e i servizi distribuiti si integrano in un’applicazione coerente.
Obiettivi del corso
Il corso offriva una visione d’insieme delle tecnologie utilizzate nello sviluppo delle applicazioni web, sia lato client sia lato server. Gli studenti imparavano a costruire pagine web funzionali e ben organizzate usando HTML/XHTML, moduli, tabelle, CSS e JavaScript, per poi passare ad applicazioni dinamiche con servlet, JSP e accesso ai database.
Il programma copriva i principali livelli dello sviluppo delle applicazioni web di quel periodo: dal modello client–server e dalla programmazione lato client fino a servlet, JSP, MVC, accesso ai database e introduzione ai web service.
Nello stesso tempo, il corso mirava a una comprensione più ampia del contesto tecnologico: la relazione tra Internet, Web e applicazioni distribuite, i diversi modelli client–server, le prestazioni dei server, l’organizzazione multilivello e l’apertura verso i servizi web.
Struttura tematica
- Introduzione al calcolo distribuito: applicazioni distribuite, middleware, componenti software, comunicazione tra componenti
- Introduzione al Web: connettività di rete, protocollo HTTP, modello client–server del Web
- Programmazione lato client: HTML, JavaScript, DHTML e CSS
- Programmazione lato server: servlet, elaborazione delle richieste, generazione delle risposte, session tracking, connettività ai database
- JavaServer Pages: componenti JSP, tag library, custom tag, Expression Language
- Architettura MVC: organizzazione dell’applicazione secondo il modello Model–View–Controller
- Web service: XML, SOAP, WSDL e introduzione allo sviluppo dei servizi web
Laboratori e progetto
La parte pratica aveva un peso importante. I laboratori seguivano un percorso progressivo, dalla programmazione HTML e JavaScript fino allo sviluppo di un’applicazione web più strutturata:
- HTML Programming
- DOM and JavaScript Programming
- JSP Programming. Cookies and Session Tracking
- MVC Model 2
- XML. XML-oriented Java APIs
- Programming Web Services
- e-Commerce
Il corso comprendeva anche un progetto finale, individuale o di gruppo. I sette compiti a casa contribuivano progressivamente alla sua realizzazione, affinché gli studenti non rimanessero soltanto a esercizi isolati, ma arrivassero a un’applicazione implementata integralmente.
Valutazione
- 40% esame finale scritto
- 20% compiti a casa e contributo personale all’attività di laboratorio
- 40% progetto
La formula di valutazione rifletteva bene il carattere del corso: dovevano essere verificate sia la comprensione dei concetti, sia la capacità effettiva di progettare e implementare un’applicazione.
Il suo significato nell’insieme della mia attività didattica
Web Application Development fu uno degli ultimi nuovi corsi che tenni alla FILS. Illustra bene l’orientamento dell’ultima fase della mia attività didattica: mantenere una solida base concettuale, ma anche avvicinarsi alle tecnologie che modellavano la pratica software contemporanea.
In un certo senso, qui si incontravano diverse direzioni coltivate da me nel corso del tempo: programmazione orientata agli oggetti, architetture distribuite, progettazione software e interesse per sistemi capaci di integrare componenti, dati e servizi in un insieme coerente.





