15.06.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

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

Saved successfully!

Ooh no, something went wrong!