- 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 dai docenti 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).
Tutte le lezioni sono tenute in italiano. È quindi necessaria la comprensione della lingua italiana per seguire con profitto il corso e per poter utilizzare il materiale didattico fornito.
Modalità di verifica e valutazione dell'apprendimento
La verifica dell’apprendimento avviene attraverso un esame finale che accerta l’acquisizione delle conoscenze e delle abilità attese tramite lo svolgimento di una prova pratica svolta in laboratorio (tipicamente in Lab4) della durata di 3 ore (con auito di appunti, libri e codice software), seguita da un colloquio orale, per i soli studenti che hanno superato la parte pratica.
La prova pratica consiste di norma di 3 esercizi (11 punti ciascuno). Per poter partecipare alla prova pratica è necessario iscriversi alla lista dell'appello tramite l'applicativo AlmaEsami.
Per superare la prova pratica di laboratorio ed essere ammessi all’orale, è necessario totalizzare almeno 18 punti (su un totale disponibile di 33), equamente distribuiti sui tre esercizi, ovvero almeno 6 punti sul primo esercizio, 6 punti sul secondo esercizio e 6 punti sul terzo esercizio.
Il colloquio orale consiste di norma di 2 domande relative all'intero programma da parte di entrambi i docenti e fornisce un punteggio che varia da +4 punti a -4 punti rispetto al punteggio acquisito nella prova pratica.
Nel colloquio orale il massimo punteggio sarà garantito agli studenti che dimostreranno di aver compreso ed essere capaci di utilizzare tutti i contenuti dell'insegnamento, illustrandoli con capacità di linguaggio, e risolvendo problemi anche complessi non necessariamente incontrati a lezione. L'attribuzione del punteggio minimo potrà essere dovuta all'insufficiente conoscenza dei concetti chiave, alla mancata padronanza del linguaggio tecnico, alla mancata o insufficiente capacità di astrazione dei concetti.
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 e 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
SDGs

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.