28659 - TECNOLOGIE WEB T

Anno Accademico 2019/2020

  • 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

Istruzione di qualità

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