Call Level Interface
# Call Level Interface

Call Level Interface (CLI) è uno standard software definito in ISO/IEC 9075-3:2003. Esso definisce come un programma debba interfacciarsi a un database management system (DBMS) a "livello di chiamata", come dice il nome stesso, e gestire i risultati delle interrogazioni SQL, o query, effettuate.

## Caratteristiche

Ogni database viene fornito con un'API attraverso la quale le applicazioni vi accedono. In origine si trattava di librerie proprietarie, perlopiù in linguaggio C, che costringevano ad una pressoché totale riscrittura del codice in caso di passaggio a un database diverso, vista anche la regolare presenza di leggere ma significative differenze nell'implementazione di SQL nei diversi database.

Tra le più diffuse e conosciute implementazioni dello standard CLI vi sono ODBC e JDBC. ODBC 3.x include funzionalità di entrambi gli standard, ISO e X/Open, e garantisce sia che applicazioni scritte secondo tali specifiche funzionino con un driver ODBC 3.x sia che un driver scritto secondo tali specifiche funzioni con un'applicazione ODBC 3.x, ove vengano compilati con i suoi header file e "linkati" alle librerie ODBC.

## Storia

Agli inizi degli anni novanta il SQL Access Group produsse un'API che si proponeva di fornire una modalità di accesso universale ai database e che fu commercializzata da Microsoft come ODBC (Open DataBase Connectivity). Le specifiche furono sottoposte ai comitati di standardizzazione ISO e ANSI nel 1993.

Il risultato fu SQL/CLI come aggiunta al SQL standard edizione 1992 (SQL-92). Fu completato come ISO standard ISO/IEC 9075-3:1995. Attualmente si sta lavorando al supporto a SQL:1999 (o SQL3, la quarta revisione del SQL, mentre la più recente è la sesta, SQL:2008).

Alla fine del 1994 il controllo su CLI fu trasferito a X/Open, un'associazione internazionale no-profit fondata nel 1984. Lo standard entrò così a far parte di un progetto più ampio, denominato Common Application Environment, che si propone di fornire gli strumenti per un'ampia portabilità dei programmi e degli ambienti di sviluppo attraverso l'adozione e l'adattamento di standard ufficiali o di fatto (cioè soluzioni già ampiamente diffuse).

Nel 1995 The Open Group (associazione che riunisce X/Open e Open Software Foundation) ha pubblicato le definizioni dell'API CLI e i binding per i linguaggi C e COBOL.

