Programmazione
Applicazioni Client Server
Docente: Alberto Pravato
Semestre: 2o
Crediti: 6
Settore scientifico-disciplinare: INF/01 (Informatica)
Ore di lezioni/esercitazioni: 40
Ore per attività integrative: 8
Modalità di esame: Prova scritta e, a scelta, colloquio orale o progetto.
Esame coordinato con:
Esami propedeutici: Basi di dati e sistemi informativi; Reti di calcolatori.
Obiettivi: Lo scopo del corso è anzitutto chiarire gli aspetti relativi ai sistemi enterprise (sistemi
client/server, distribuiti, Web oriented e loro integrazioni) come costruirli e quali effetti possano
avere sulle organizzazioni che intendano utilizzarli, fornendo un approfondimento sugli aspetti di
apertura, interoperabilità e scalabilità. Il corso intende poi fornire allo studente una preparazione
sulle tecniche di strutturazione di applicazioni distribuite e sull'utilizzo di nuovi strumenti di
programmazione per l'interfacciamento con database server e per la programmazione a
componenti distribuiti (come CORBA, DCOM ed EJB) anche in Web.
Programma:
Introduzione (4 ore). Contenuti e obiettivi del corso; tecnologia client/server (C/S) a livello di sistema; modello C/S;
C/S nella realtà; applicazioni enterprise e loro integrazioni.
Progettazione C/S (8 ore): Separazione dei compiti tra entità distribuite; bilanciamento dei carichi; architetture 2tier e multi-tier; distribuzione delle risorse; scalabilità; cenni alla progettazione di applicazioni enterprise usando
UML.
C/S nei database (8 ore). SQL dinamico; scelte implementative in ambito C/S (quando e perché usare stored
procedure, trigger, application server e multi-tier); ODBC e JDBC: connessioni, esecuzioni (gestione dei record
set); OLAP: database multidimensionali, operazioni drill-down e rolling-up.
Software a componenti distribuiti (13 ore): Fondamenti teorici sulla programmazione a componenti: differenze tra
oggetto e componente, interfacce, polimorfismo, ereditarietà e incapsulamento; la tecnologia CORBA; la tecnologia
DCOM; introduzione alla tecnologia J2EE (EJB).
C/S in Web (7 ore): Il Web e il protocollo HTTP; estensioni ai server Web: via API, via programmazione CGI, via
server side include e via Java Servlet; programmazione dal lato Client: realizzazione di Applet Java, JavaScript.
Libri di testo:
P. E. Renaud. Introduction to Client/Server Systems. Second Edition. John Wiley & Sons 1996.
C. Szyperski. Component Software. Addison Wesley 1998.
Libri di consultazione:
C. T. Arrington, Susan Cardinale, Hugo Scavino. Enterprise Java with UML. John Wiley & Sons 2000.
M. Hall. Web Programming. Prentice Hall 1998.