Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Stefano Russo » Presentazione del corso


Presentazione del Corso

Il corso fornisce agli studenti:

  • competenze avanzate di programmazione concorrente e distribuita;
  • approfondimenti delle tecniche di progettazione a oggetti, mediante l’uso dei pattern;
  • conoscenze e competenze sulle tecnologie middleware.

A tal fine sono proposti lo studio del linguaggio Java e del middleware CORBA.

Prerequisiti

Programmazione I

  • Programmazione a oggetti

Sistemi operativi

  • Principi di programmazione concorrente

Ingegneria del Software

  • Progettazione software; Linguaggio UML

Reti di calcolatori I

  • Protocolli TCP/IP e programmazione client-server

Argomenti del corso

Il linguaggio Java.

Programmazione concorrente in Java (Java multi-threading)

  • Thread.
  • Priorità e scheduling dei thread.
  • Sincronizzazione e mutua esclusione.

Programmazione di rete in Java (Java networking)

  • Le socket TCP e UDP.
  • Server multithreaded.

Argomenti del corso

Progettazione a oggetti

I pattern

  • Pattern architetturali e di progettazione.
  • Esempi di pattern creazionali, strutturali, comportamentali.

Argomenti del corso

La problematica dell’Enterprise Application Integration.
Modelli di middleware:

  • Chiamata di procedura remota (RPC), accesso a dati Remoti (RDA); modello transazionale (TP); spazio delle tuple (TS); modello orientato ai messaggi (MOM); modello a oggetti distribuiti (DOM); modello a componenti (CM).

Lo standard CORBA.

  • Il linguaggio IDL. I servizi CORBA. Programmazione di client e server CORBA. Il modello a componenti CORBA (CCM). Comunicazione asincrona: callback, eventi.

Riferimenti ai testi

Il linguaggio Java. Introduzione al linguaggio. La macchina virtuale Java. Il bytecode. Ciclo di sviluppo dei programmi. Tipi di dato. Scambio parametri. La gestione della memoria. Ereditarietà. Polimorfismo. Gestione delle eccezioni. Il sistema di I/O. (Dal testo J1: Capp. 1, 2, 4, 5, 6, 7, 9, 12, 13. Dal testo J4 Capp. 7, 9, 10)

Programmazione concorrente in Java. Creazione di un thread in Java: la classe java.lang.Thread e l’interfaccia Runnable. Ciclo di vita di un thread. La priorità di un thread. Selfish Thread. Scheduling dei Thread. Mutua esclusione e meccanismi di sincronizzazione: monitor, mutex e condition variablesIl package java.util.concurrent: variabili atomiche, semafori, barrier e lock. . Il problema Produttore/Consumatore in Java. (Dal testo consigliato J1: Cap. 13; dal testo J2, Cap. 7)

Java networking. Il package java.net. Le classi URL, URLConnection e InetAddress. Le socket TCP in Java: la classe Socket e la classe ServerSocket. Server multithread. Le socket UDP: le classi DatagramPacket e Datagram socket. JDBC. (Dal testo consigliato J3: Cap. 14 §§1, 2, 3, 4; Cap. 16 §§1, 2, 3, 4, 5; Cap. 20 §§1, 2, 3, 4, 5)

Riferimenti ai testi

Modelli di middleware. Definizione e proprietà del livello middleware. Enterprise Application Integration (EAI). Modelli di sistemi middleware: chiamata di procedura remota (RPC), scambio di messaggi (MOM), elaborazione transazionale (TP), spazio delle tuple (TS), accesso a dati remoti, oggetti distribuiti (DOM), componenti (CM). (Dal testo IC: Cap. 1)

Lo standard CORBA. L’architettura OMA. Il CORBA Component Model (CCM). Il linguaggio IDL. Regole di traduzione da IDL a Java. Programmazione CORBA lato cliente e lato servente. I servizi di Naming e Trading. Distributed callback. Il servizio degli eventi. Il servizio di notifica. Studio di un caso. (Dal testo adottato IC: Capp. 2; 3; 4; 5; 6 da 6.1 a 6.6; 7; 8; 9; 12; Appendice B)

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion