Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Carnielli Efrem: Programmazione a componenti<br />
Programmazione a componenti<br />
per svolgere un compito per cui sono stati creati. Per essere più precisi, cooperano<br />
per portare avanti le funzionalità operative <strong>di</strong> una certa applicazione, cosa che non<br />
potrebbero fare s<strong>in</strong>golarmente.<br />
La relazione viene def<strong>in</strong>ita transazionale, formata cioe’ da una serie <strong>di</strong> richieste,<br />
provenienti dal processo client, e una serie <strong>di</strong> risposte, provenienti dal processo<br />
server. Non e’ <strong>di</strong> tipo conversazionale, nel senso che non ci sono due entita’ che<br />
<strong>di</strong>alogano; e’sempre il client, entità proattiva o propositiva, che ha la capacità <strong>di</strong><br />
<strong>in</strong>iziativa <strong>di</strong> chiedere qualcosa, e sempre il server, entità detta reattiva, che non fa<br />
altro che reagire a delle richieste.<br />
Quanto appena detto è estremamente importante, perché un sistema C\S non<br />
è tale se non ha un client proattivo ed un server reattivo.<br />
Per questo la relazione tra client e server è <strong>di</strong> <strong>di</strong>pendenza perchè l’uno non ha<br />
senso <strong>di</strong> esistere senza l’altro.<br />
E’ ovvio pensare che vi sia relazione molti a 1, perché più client possono <strong>in</strong>viare<br />
richieste ad uno stesso server, ma altrettanto esistono relazioni 1 a molti e molti a<br />
molti, perché più processi server possono essere raggruppati sotto la stessa entità<br />
server <strong>in</strong> maniera logica, <strong>in</strong> modo che il client abbia l’impressione <strong>di</strong> <strong>di</strong>alogare con<br />
un unico server. Si ha qu<strong>in</strong><strong>di</strong> una virtualizzazione che verrà ripresa <strong>in</strong> seguito.<br />
La comunicazione avviene attraverso il concetto <strong>di</strong> transazione, cioè una sequenza<br />
<strong>di</strong> coppie ben def<strong>in</strong>ita del tipo:<br />
< richiesta, responso ><br />
Si usa il term<strong>in</strong>e responso al posto del più scontato risposta perché si <strong>in</strong>tende una<br />
risposta che non trasporta necessariamente dati “palpabili”, ma che potrebbe<br />
essere un esito su come sia andata una certa operazione o una conferma/consenso,<br />
come ad esempio un semplice ack.<br />
L’architettura client/server può essere schematizzata come nella figura 1.9.<br />
16