Cos'è una API?
- Glossario IAM
- Cos'è una API?
API è l'acronimo di Application Programming Interface (Interfaccia di programmazione di un'applicazione), ovvero un insieme di protocolli e routine che consentono a sistemi e applicazioni diverse di comunicare tra loro, senza che gli sviluppatori o gli utenti finali debbano conoscere le modalità di implementazione. Ciò consente agli sviluppatori di creare componenti software riutilizzabili.
Gli sviluppatori utilizzano spesso le API per accedere alle funzionalità fornite da un servizio o da un'applicazione esistente. Ad esempio, un'API potrebbe consentire a un'applicazione meteo di accedere ai dati meteo più recenti di un fornitore di servizi meteo. L'API specifica il formato della richiesta che l'applicazione deve utilizzare per recuperare i dati, nonché il formato dei dati che verranno forniti dal servizio meteo.
Come funzionano le API?
Le API funzionano specificando un insieme di regole e protocolli per la comunicazione tra componenti software. In genere includono specifiche per routine, strutture di dati, classi di oggetti e variabili. Ecco una panoramica di alto livello sul funzionamento delle API:
Un client fa una richiesta. Il client (cioè il sistema o l'applicazione) invia una richiesta al server API che specifica l'operazione desiderata, come "recupera dati" o "crea una nuova risorsa". La richiesta include tutti i parametri necessari e le informazioni di autenticazione.
Il server API elabora la richiesta. Il server API riceve la richiesta e la elabora, utilizzando l'applicazione e i dati sottostanti per eseguire l'operazione specificata.
Il server API restituisce una risposta. Il server API invia una risposta al client, indicando se l'operazione è andata a buon fine e, in caso affermativo, fornendo i dati pertinenti. La risposta sarà formattata secondo le specifiche dell'API.
Il client elabora la risposta. Il client riceve la risposta dall'API ed elabora i dati secondo le necessità, ad esempio visualizzandoli all'utente.
In questo modo le API consentono ai componenti software di comunicare tra loro e di scambiarsi dati e funzionalità. Le API definiscono le regole e i protocolli per la comunicazione, in modo che sistemi e applicazioni diversi possano interagire tra loro, anche se sono stati sviluppati da organizzazioni o persone diverse, su piattaforme diverse, usando linguaggi di programmazione diversi.
Quali tipi di API esistono?
Ecco i tipi di API più diffusi:
Le API aperte, note anche come API pubbliche o esterne, sono disponibili a sviluppatori e altri utenti con restrizioni minime. Per evitare usi impropri, le API pubbliche possono richiedere la registrazione, l'approvazione dell'applicazione o una chiave API.
Le API interne, note anche come API private, vengono utilizzate per condividere risorse e dati all'interno di un'azienda o tra diversi sistemi o applicazioni appartenenti alla stessa organizzazione. Le API interne sono accessibili solo agli utenti di una determinata organizzazione e sono nascoste agli utenti esterni.
Le API di partner sono simili alle API aperte, ma sono destinate all'uso da parte di un insieme specifico di partner fidati. L'accesso a queste API è generalmente limitato e richiede un'approvazione preventiva.
Le API composite combinano diversi tipi di API per affrontare casi d'uso particolarmente complessi. Consentono agli sviluppatori di recuperare dati da più fonti attraverso un'unica chiamata API, semplificando il processo di accesso ai dati.
Le API REST (Representational State Transfer APIs) utilizzano le richieste HTTP per ottenere, inserire, pubblicare e cancellare dati. REST è uno stile architettonico che utilizza meccanismi semplici, leggeri e flessibili per lo scambio di dati tra sistemi diversi. Le API REST sono solitamente utilizzate per applicazioni e servizi basati sul Web.
Le API SOAP (Simple Object Access Protocol APIs) sono un approccio ai servizi Web basato su standard che consente a sistemi diversi di comunicare su Internet. SOAP utilizza il formato XML per i messaggi e si basa su altri standard web per il trasporto, tra cui i protocolli HTTP e SMTP.
XML-RPC e JSON-RPC sono entrambe API RPC (Remote Procedure Call) che utilizzano rispettivamente XML e JSON come formati di dati. Queste API consentono ai sistemi di comunicare e invocare procedure su sistemi remoti, in genere tramite protocollo HTTP.
L'API GraphQL, sviluppata da Facebook, è un nuovo standard API per la creazione e il consumo di API. Offre un'alternativa più efficiente, potente e flessibile alle tradizionali API REST. Le API GraphQL consentono alle applicazioni client di specificare la struttura dei dati di cui hanno bisogno e al server di restituire solo i dati richiesti.
Ogni tipo di API ha i suoi punti di forza e di debolezza e si adatta meglio a casi d'uso diversi. La scelta del giusto tipo di API per un particolare progetto dipende da fattori quali le dimensioni e la complessità del progetto, il pubblico a cui è destinato e il tipo di dati a cui si vuole accedere.
Qual è un esempio di API?
Le API sono ovunque. Di seguito eccone alcuni esempi.
L'API di Google Maps consente agli sviluppatori di aggiungere le funzionalità di Google Maps ai propri siti web e applicazioni. I negozi al dettaglio utilizzano spesso l'API di Google Maps per recuperare i dati per le directory dei loro negozi online.
I negozi al dettaglio utilizzano l'API di PayPal per consentire ai propri clienti di effettuare il pagamento con PayPal.
Un altro esempio è l'API di Twitter, che consente agli sviluppatori di accedere ai dati e alle funzionalità di Twitter nelle proprie applicazioni. L'API di Twitter consente agli sviluppatori di recuperare i tweet, di pubblicarli e di eseguire altre azioni, come la ricerca di tweet e il diventare follower degli utenti.
I siti di viaggio fanno largo uso delle API per consentire ai visitatori di cercare e prenotare voli, alloggi e altri servizi legati al viaggio.