21.06.2013 Views

Nuovo Ordinamento - Ingegneria - Università degli Studi di Trento

Nuovo Ordinamento - Ingegneria - Università degli Studi di Trento

Nuovo Ordinamento - Ingegneria - Università degli Studi di Trento

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

PROGRAMMI DI INSEGNAMENTO a.a. 2002/2003<br />

PROGRAMMAZIONE DI RETI<br />

3° anno - 1° bim - 6 cre<strong>di</strong>ti<br />

Corso <strong>di</strong> Laurea in <strong>Ingegneria</strong> dell’Informazione e dell’Organizzazione<br />

Obiettivi del corso<br />

Il corso prevede <strong>di</strong> introdurre ed approfon<strong>di</strong>re, attraverso case-stu<strong>di</strong>es e sperimentazione pratica,<br />

le problematiche relative alla programmazione in rete e le conseguenze dell’avvento delle architetture<br />

<strong>di</strong>stribuite sul modo <strong>di</strong> progettazione e realizzazione <strong>di</strong> una applicazione informatica per la rete.<br />

Il mondo della programmazione ha subito una prima evoluzione negli anni ’80-’90, con l’avvento<br />

delle reti e l’introduzione del modello <strong>di</strong> sviluppo client-server. Questo ha implicato una <strong>di</strong>versa<br />

progettazione delle applicazioni, una <strong>di</strong>visione del carico <strong>di</strong> lavoro tra le componenti client e server<br />

della rete, anche alla luce della aumentata capacità <strong>di</strong> elaborazione/memorizzazione dei client. Con<br />

l’avvento <strong>di</strong> Internet il para<strong>di</strong>gma <strong>di</strong> programmazione è nuovamente cambiato, vista l’evoluzione<br />

delle architetture informatiche verso ambienti client-server <strong>di</strong> tipo <strong>di</strong>stribuito, e soprattutto sono<br />

cambiati i protocolli <strong>di</strong> comunicazione utilizzati per l’interscambio <strong>di</strong> informazioni tra client e server.<br />

Anche per chi già utilizzava un approccio client-server allo sviluppo del software, il modello<br />

tra<strong>di</strong>zionalmente utilizzato (ovvero la sud<strong>di</strong>visione in tre strati: presentazione, business logic, data<br />

storage) risulta essere insufficiente se non controproducente, o per lo meno esso va rivisto nella<br />

logica del nuovo me<strong>di</strong>a, a favore <strong>di</strong> una progettazione e realizzazione <strong>di</strong> applicativi multi-tier<br />

derivanti dall’utilizzo del Web.<br />

Siamo quin<strong>di</strong> passati ad applicazioni progettate e realizzate secondo strati software <strong>di</strong>versi (tier),<br />

<strong>di</strong>stribuiti possibilmente su computer <strong>di</strong>versi in base alle esigenze, ai carichi <strong>di</strong> rete, alla struttura<br />

dell’applicazione ecc. Questo ha aumentato notevolmente da un lato la scalabilità dell’applicazione,<br />

la sua manutenibilità, il riuso dell’applicazione e delle sue componenti, dall’altro ha però incrementato<br />

indubbiamente la complessità della sua progettazione e creazione, in quanto le modalità <strong>di</strong><br />

<strong>di</strong>visione in strati (tier) <strong>di</strong>versi, il modo con cui operare tale <strong>di</strong>visione, su quale strato caricare certe<br />

funzioni piuttosto che altre, l’attenzione alla scalabilità dell’applicazione creata, sono tutte decisioni<br />

che implicano una approfon<strong>di</strong>ta conoscenza delle problematiche <strong>di</strong> rete, dell’ambiente in cui l’applicazione<br />

verrà creata, e soprattutto una rinnovata competenza dell’analista/programmatore. La<br />

tra<strong>di</strong>zionale separazione <strong>di</strong> ruoli tra chi si occupa <strong>di</strong> problematiche <strong>di</strong> rete e chi si occupa della<br />

creazione dell’applicazione è <strong>di</strong>ventata sempre più sfumata. Il corso intende quin<strong>di</strong> fare luce su<br />

questi aspetti fornendo strumenti pratici per la realizzazione <strong>di</strong> applicazioni informatiche che si<br />

muovano in questo contesto.<br />

Il corso affronterà inoltre gli aspetti innovativi introdotti dall’avvento delle tecnologie e delle infrastrutture<br />

software per la creazione dei Web Services. Questo argomento rappresenta forse uno dei<br />

cambiamenti più ra<strong>di</strong>cali non solo nel panorama della progettazione e produzione <strong>di</strong> software, ma<br />

probabilmente anche nella logica <strong>di</strong> approccio al cliente da parte delle aziende informatiche, e <strong>di</strong><br />

servizio informatico/telematico in generale. La visione della rete come erogatore <strong>di</strong> servizi software<br />

verso i clienti o ad<strong>di</strong>rittura verso altri applicativi informatici che lo richiedano è uno <strong>degli</strong> elementi <strong>di</strong><br />

sfida (e <strong>di</strong> sopravvivenza) che il mondo della creazione <strong>di</strong> artefatti software sta ponendo a se stesso<br />

e al proprio bacino <strong>di</strong> utenza.<br />

Il corso ha quin<strong>di</strong> come obiettivo finale l’acquisizione <strong>di</strong> competenze <strong>di</strong> programmazione nel vasto<br />

ambito della creazione <strong>di</strong> applicativi <strong>di</strong>stribuiti con logica multi-tier. Per la sperimentazione <strong>di</strong> tali<br />

approcci e dei cambiamenti nella creazione <strong>di</strong> software che questo ha comportato, si è scelto <strong>di</strong><br />

233

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!