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

Pr<strong>in</strong>cipi <strong>di</strong> progettazione<br />

Rimane il problema <strong>di</strong> come <strong>di</strong>stribuire bene i processi e qu<strong>in</strong><strong>di</strong> il carico <strong>di</strong> lavoro<br />

tra client e server. Abbiamo già parlato della <strong>di</strong>visione del carico <strong>di</strong> lavoro tra le<br />

macch<strong>in</strong>e, qui lo ripren<strong>di</strong>amo per dare dei consigli su come bilanciare il carico. In<br />

figura 3.9 viene presentato uno schema <strong>di</strong> <strong>di</strong>visione del carico <strong>di</strong> lavoro (ve<strong>di</strong> cap.<br />

2.15).<br />

Figura 3.9. Le <strong>di</strong>verse sud<strong>di</strong>visioni <strong>di</strong> carico tra client e server.<br />

La <strong>di</strong>visione ideale non è sempre possibile per motivi <strong>di</strong>versi (architettura<br />

preesistente, sicurezza, ecc.) qu<strong>in</strong><strong>di</strong> si aumenterà il carico <strong>di</strong> lavoro del client o del<br />

server. Nel primo caso, il server ha solamente il compito <strong>di</strong> gestire i dati: è il caso<br />

nel quale si ha un DB-server.<br />

Per alleggerire il carico del server (che solitamente è con<strong>di</strong>viso con più client)<br />

bisogna cercare <strong>di</strong> mettere il più possibile le computazioni nel client. Questo è<br />

possibile anche nelle applicazioni web: <strong>in</strong>vece <strong>di</strong> utilizzare script server-side (ve<strong>di</strong><br />

appen<strong>di</strong>ce) ad esempio php o asp si può usare javascript che verrà eseguito nel<br />

client. Mettere il più possibile sul client significa che se non è possibile spostare<br />

una computazione, deve essere lasciata sul server, come nel caso <strong>di</strong> contesti multiuser<br />

che necessitano <strong>di</strong> dati provenienti da altri client. Si potrebbe, <strong>in</strong> questo caso,<br />

spostare la computazione nel client e fare un lookup dei dati degli altri client nel<br />

server ma sarebbe svantaggioso <strong>in</strong> term<strong>in</strong>i <strong>di</strong> prestazioni.<br />

Dopo che abbiamo <strong>in</strong>trodotto anche il concetto <strong>di</strong> logica è bene imparare a<br />

ragionare <strong>in</strong> questi term<strong>in</strong>i, un'architettura ma<strong>in</strong>frame è tale poichè la logica<br />

applicativa è presente solo nel ma<strong>in</strong>frame appunto, mentre nei client non ve n'è<br />

traccia.<br />

64

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

Saved successfully!

Ooh no, something went wrong!