28659 - TECNOLOGIE WEB T

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