Home > ita > corsi > 2005
Networking in Java
INFAH05-05
- 2005

Preiscrizione al corso

Per motivi organizzativi si richiede la preiscrizione al corso.
Tale preiscrizione non è impegnativa e non comporta l'obbligo di partecipazione.

Livello: avanzato
Tipologia: corso hands on
Docenti: Prof. Alberto Bartoli, DEEI Università di Trieste


Descrizione Introduttiva:

E’ sempre più pressante la necessità di sviluppare applicativi in cui programmi distribuiti su più elaboratori cooperano attraverso una rete. Gli ambiti in cui può nascere questa necessità sono numerosi: integrazione di applicativi e di risorse preesistenti, presenza su web, simulazione, calcolo parallelo e così via. Il networking, pertanto, non può più essere considerato un argomento specifico e riservato agli specialisti. Deve essere considerato, al contrario, un aspetto essenziale della programmazione moderna.

Java è stato progettato sin dall’inizio con particolare attenzione al networking. Gli strumenti che mette a disposizione da questo punto di vista sono sempre più numerosi ed evoluti. In questo corso verranno presentate due tecnologie Java per il networking: RMI e servlet. Queste tecnologie sono particolarmente importanti per vari motivi. Permettono lo sviluppo di programmi distribuiti di complessità medio-alta. Semplificano l’integrazione in ambiente distribuito di applicativi preesistenti, non necessariamente scritti in Java. La loro conoscenza è un punto di partenza essenziale per la comprensione della tecnologia Java Enterpise.

La tecnologia Remote Method Invocation (RMI) permette lo sviluppo di programmi in cui gli oggetti sono distribuiti tra più macchine in rete: un oggetto che esiste in una macchina virtuale può essere invocato da oggetti che risiedono in altre macchine virtuali. RMI facilita notevolmente lo sviluppo di programmi in cui è richiesta la partecipazione di più elaboratori: il programmatore può concentrarsi sugli aspetti essenziali del problema applicativo e può prescindere totalmente dai dettagli di basso livello quali creazione e gestione delle connessioni, protocollo di comunicazione tra client e server, dispatching delle richieste, trasformazione di oggetti in sequenze di byte per la trasmissione in rete, propagazione di errori da server a client e così via.

La tecnologia servlet permette lo sviluppo di componenti Java (chiamati servlet) che realizzano un servizio del tipo request-response. Lo specifico servizio implementato da un servlet è accessibile a client eterogenei, non necessariamente scritti in Java, attraverso il protocollo HTTP. Ogni servlet esegue nel contesto di un server esistente (servlet container) che rende già disponibili numerose funzionalità: gestione delle connessioni, gestione del multithreading, autenticazione degli utenti, gestione delle autorizzazioni, sicurezza delle comunicazioni e così via.


Obiettivi e contenuti:

L’obbiettivo del corso è quello di introdurre i partecipanti alla programmazione distribuita in Java, utilizzando le tecnologie RMI e servlet.

Nel corso saranno descritti ed approfonditi gli aspetti fondamentali della tecnologia RMI: serializzazione di oggetti; creazione di oggetti accessibili in rete (oggetti remoti); creazione di server che esporta oggetti remoti; creazione di client che importa oggetti remoti; oggetti remoti con nome; oggetti remoti anonimi; oggetti remoti con stato; caricamento dinamico di classi; garbage distribuita.

Nel corso saranno descritti gli aspetti principali della tecnologia servlet, con riferimento ad un servlet container public-domain e largamente diffuso: Tomcat. Gestione delle richieste, delle risposte, delle sessioni. Sarà discussa, in particolare, la separazione tra servlet e servlet container. La nozione di componente e contenitore è infatti cruciale in tutte le architetture software per applicazioni di complessità medio-alta.

Saranno svolti numerosi esempi pratici.

Destinatari:

Laureati e Diplomati in discipline tecnico scientifiche. Tecnici con esperienza di programmazione.

Prerequisiti:

Pratica di programmazione. Conoscenza di base del linguaggio Java.

Materiale didattico:

  • Slides in formato pdf.
  • Software Development Kit Java, Documentazione API Java, Ambiente di programmazione JCreator, servlet container Tomcat (tutti disponibili gratuitamente su web).



Il pagamento si effettua con carta di credito o con bonifico bancario.



 
?