Anno Accademico 2016/2017
- Docente: Ilaria Bartolini
- Crediti formativi: 12
- SSD: ING-INF/05
- Lingua di insegnamento: Italiano
- Moduli: Ilaria Bartolini (Modulo 1) Paolo Bellavista (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Bologna
- Corso: Laurea in Ingegneria informatica (cod. 0926)
Conoscenze e abilità da conseguire
Conoscenza e capacità di applicazione dei principali modelli e strumenti per il progetto e lo sviluppo di sistemi ed applicazioni basati sul Web.
Contenuti
MODULO 1
Il modello statico
Breve introduzione storica
Modello originale del World Wide Web
Elementi del modello: protocollo HTTP e URI
Linguaggi di descrizione della pagina: HTML e CSS
Descrizione delle informazioni e XML
Descrizione delle informazioni: XML e XHTML
Tipizzazione di XML: DTD vs. XML Schema
XML e Java: Parser XML (modelli DOM e SAX)
Evoluzione del modello
Verso un approccio dinamico: personalizzazione, stato, sessioni e
conversazioni
Gestione dello stato
Programmazione Server Side: Servlet, JSP
Programmazione Client Side: Javascript e Ajax
MODULO 2
Modelli e tecnologie per la gestione efficace ed efficiente
della persistenza e delle transazioni
Accesso diretto a basi dati: Interfacce e astrazioni
Architetture a oggetti e database relazionali: Conflitto
d'impedenza
Metodologie di progettazione e sviluppo della persistenza dei dati:
approccio forza bruta (JDBC), pattern DAO e framework
Object-Relational Mapping (ORM) - Entity Beans - libreria
Hibernate
Livelli di isolamento
Modelli transazionali
Verso ambienti server-side di tipo Enterprise
Architetture multilivello: distribuzione orizzontale e
verticale, separazione di business logic, modelli
componente-container
Model View Controller per Web e Java Model 2
Enterprise Java Beans come esempio di tecnologia conforme al
modello a container pesante: focus su SessionBean, sia stateless
che stateful
Spring come esempio di tecnologia conforme al modello a container
leggero: Inversione di Controllo, Spring AOP, Spring MVC
Java Server Faces (JSF)
Testi/Bibliografia
Lucidi delle lezioni disponibili sul sito Web del corso
W3C, HTML, CSS, javascript
World Wide Web Consortium: http://www.w3.org
HTML 4.01 Specifications: http://www.w3.org/TR/html4/
World Wide Web Consortium CSS Reference: http://www.w3.org/Style/CSS/
World Wide Web Consortium CSS2 Specifications: http://www.w3.org/TR/REC-CSS2/
Client-Side JavaScript Guide: http://www.w3schools.com/js/default.asp
XML
XML In a Nutshell, Second Edition, by Elliotte Rusty Harold and W.
Scott Means. O'Reilly.
http://www.w3.org/XML/
http://www.w3.org/Style/XSL/
Web Applications
http://java.sun.com/javaee/reference/
http://tomcat.apache.org/
Spring
http://www.springsource.org/
Spring in action - Walls, Breidenbach - Manning (Seconda
edizione)
Hibernate
Java persistence with Hibernate - Bauer - Manning
Metodi didattici
Il corso viene erogato in aula mediante proiezione di slide
(disponibili sul sito Web del corso). Le lezioni sono integrate da
esercitazioni pratiche guidate in laboratorio (circa il 30% delle
ore). Ogni esercitazione in laboratorio affronta uno specifico
argomento trattato a lezione proponendo esercizi concreti
(richiedendo l'utilizzo di IDE e tool di programmazione
specifici).
Modalità di verifica e valutazione dell'apprendimento
La valutazione d'esame consiste in una prova pratica svolta in
laboratorio (tipicamente in Lab4) e in un colloquio orale (per gli
studenti che hanno superato la parte pratica). Per sostenere la
prova d'esame è necessario iscriversi mediante liste
AlmaEsami.
Strumenti a supporto della didattica
In aula si usano slide (disponibili sul sito Web del corso). In
laboratorio sono presenti strumenti di sviluppo e di supporto alla
esecuzione delle esercitazioni (es. Eclipse and Tomcat servlet
engine). Gli studenti sono invitati a familiarizzare con questi o
altri strumenti di uso personale.
Link ad altre eventuali informazioni
http://www-db.disi.unibo.it/courses/TW/
Orario di ricevimento
Consulta il sito web di Ilaria Bartolini
Consulta il sito web di Paolo Bellavista