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

Applicazioni Client-Server e database<br />

deve essere prima sottoposto ad un precompilatore per embedded sql per Java, se<br />

il l<strong>in</strong>guaggio <strong>di</strong> programmazione ospitante è Java, per C se utilizzo C e così via.<br />

Le parti <strong>di</strong> co<strong>di</strong>ce SQL, dopo la precompilazione, vengono “tradotte” <strong>in</strong> <strong>di</strong><br />

chiamate a particolari librerie denom<strong>in</strong>ate sql – Call Level Interface (sql - CLI). Queste<br />

librerie forniscono un <strong>in</strong>sieme <strong>di</strong> strumenti pre<strong>di</strong>sposti per accedere al DBServer.<br />

Il precompilatore utilizzato viene fornito <strong>di</strong>rettamente dal Database Management<br />

System (DBMS, ve<strong>di</strong> Appen<strong>di</strong>ce) utilizzato. Perciò per accedere a ogni database si<br />

deve utilizzare il precompilatore appropriato, a causa della gestione a basso livello<br />

delle richieste.<br />

CLI<br />

Figura 6.7. CLI<br />

Oracle<br />

Le chiamate CLI sono specifiche del l<strong>in</strong>guaggio <strong>di</strong> programmazione ospitante e del<br />

DB a cui <strong>in</strong>oltro le richieste, per cui per poter utilizzare più database <strong>di</strong>versi devo<br />

utilizzare più <strong>di</strong> un precompilatore, aggiungendo complicazioni.<br />

Un’alternativa a questa configurazione è utilizzare degli standard che mi permetto<br />

no a scapito <strong>di</strong> una maggiore efficienza <strong>di</strong> poter <strong>in</strong>teragire con DB <strong>di</strong>fferenti. Tra<br />

questi standard troviamo l’ODBC e JDBC.<br />

6.6.1 ODBC e JDBC<br />

Invece <strong>di</strong> utilizzare un’architettura con <strong>di</strong>versi precompilatori per DBMS <strong>di</strong>fferenti,<br />

le librerie ODBC (open database connectivity) permettono <strong>di</strong> accedere a tutti i<br />

database, fornendo al client un’astrazione sull’architettura del particolare DBMS.<br />

In questo modo, il sorgente dalla parte del client viene scritto utilizzando<br />

<strong>di</strong>rettamente le librerie ODBC, evitando così la pre-compilazione.<br />

Ve<strong>di</strong>amo lo schema seguente che ne spiega il funzionamento:<br />

144

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

Saved successfully!

Ooh no, something went wrong!