Cos'è un’API?


Reti aziendali e dispositivi personali comportano diverse applicazioni, la maggior parte delle quali hanno bisogno di comunicare tra loro per scambiare i dati e funzionare correttamente. Questa interazione è possibile grazie a un'API.

what_is_api

A cosa serve un'API?

L’Application Programming Interface, o API, è un’interfaccia che permette a diverse applicazioni e servizi di scambiare dati.

Grazie a un linguaggio di programmazione, le funzionalità disponibili permettono di inviare richieste di accesso ai servizi da un'applicazione all'altra. Questa tecnologia semplifica enormemente lo sviluppo delle applicazioni: con lo scambio di dati, infatti, le imprese possono disporre di tutto il necessario per il loro corretto funzionamento. Negli ultimi dieci anni l’utilizzo delle API è diventato indispensabile, al punto che senza di loro molti siti e applicazioni Web non esisterebbero.

Perché utilizzare un'API?

Il vantaggio principale di un'API consiste nel risparmio di tempo. Gli sviluppatori non hanno infatti bisogno di conoscere i dettagli del processo di deploy e sviluppo, ma utilizzano l’interfaccia semplicemente come canale di comunicazione tra più applicazioni o software.

L'API offre:

  • semplificazione dei processi, perché le informazioni relative alle applicazioni sono disponibili da un'unica interfaccia.
  • maggiore precisione delle applicazioni e delle loro funzionalità aggiuntive. Ad esempio, è possibile connettere un servizio di geolocalizzazione alla propria applicazione di noleggio di bici elettriche per trovare la più vicina alla propria posizione.
  • maggiore sicurezza dei dati in transito, possibile in particolare tramite l’utilizzo di token, firme elettroniche e crittografia TLS (Transport Layer Security).

Quali sono i diversi tipi di API?

Le API vengono definite in modo diverso sulla base di criteri quali accessibilità, uso e modalità di utilizzo da parte degli sviluppatori. In generale, si possono distinguere quattro grandi famiglie:

  • API interna o API privata: è la forma privilegiata nelle reti aziendali interne. Permette, ad esempio, di connettere il proprio software di gestione di magazzino all’ERP. Non essendo esposta al pubblico non richiede generalmente una sicurezza elevata, anche se ormai la protezione degli strumenti informatici aziendali si estende a tutti i software utilizzati.
  • API esterna o API pubblica: è aperta a tutti e può quindi essere utilizzata anche da sviluppatori terzi. Ricordiamo che, anche se il nome inglese "Open API" può generare confusione, queste interfacce non sono sempre associate a una tecnologia open source. Il principale vantaggio consiste nella possibilità di accedere a un elevato numero di linguaggi di programmazione, facilitando così l'interconnessione dei servizi. Le misure di sicurezza delle API pubbliche sono per definizione limitate e il loro utilizzo da parte delle aziende implica un’attenta riflessione relativamente all’esposizione dei dati.
  • API partner: simile a un'API interna, offre la possibilità di concedere diritti di accesso a sviluppatori e fornitori esterni selezionati. Ad esempio: se un'azienda si avvale di un'agenzia Web per il proprio sito Internet, può fornirle identificativi e autorizzazioni specifiche.
  • API composita: più complessa, dispone in genere di diverse interfacce di programmazione destinate a usi specifici. Viene spesso utilizzata come soluzione di gestione di altre API interconnesse.

Come funziona un'API?

Un'API dispone di una struttura e regole per permettere ad applicazioni e software di comunicare in modo efficace. Interviene tra l'applicazione e il server Web e agisce come un canale di trasferimento di dati intermedio tra i sistemi.

L’esecuzione prevede generalmente 4 fasi:

  1. Un'applicazione o un software effettua una richiesta, che viene trasmessa al server Web tramite l'URI (Uniform Resource Identifier).
  2. Una volta convalidata la richiesta, l'API la trasferisce al server Web (o eventualmente al programma esterno).
  3. Il server Web invia la risposta all'API.
  4. L'API restituisce le informazioni ricevute all'applicazione che le aveva richieste.

Ricordiamo che il tipo di dati trasferito dipende dal servizio Web utilizzato, ma in ogni caso le richieste e le relative risposte vengono sempre trasmesse dall'API. Il design aggiunge all’interfaccia ulteriore flessibilità, consentendo un utilizzo da parte sia di essere umani che di macchine.

Questo processo prevede anche la possibilità di aggiungere misure di sicurezza. Considerando il ruolo dell'API come canale intermediario, questo è il livello ideale per definire metodi di autenticazione: è possibile ad esempio aggiungere password, verifiche dell’header HTTPS, cookies, ecc... Questi metodi vanno privilegiati nell’ambito della manipolazione di dati sensibili come dati bancari, amministrativi o privati.

Cos'è un gateway di API?

È uno strumento che permette di gestire le diverse API. La maggior parte delle API interne o private utilizzano questo servizio per ragioni legate a sicurezza e performance. Come già detto, un'API riceve richieste e invia risposte. In questo caso, però, la realtà è più complessa.

Per un’azienda è importante configurare parametri di sicurezza, monitoraggio e, se necessario, di restrizione. Se dispone di più microservizi, potrebbe essere necessario gestire simultaneamente un numero elevato di richieste. In questo caso, il gateway di API è una risorsa importante, che permetterà un migliore controllo dei flussi di dati trasmessi tra le API, ma anche tra le API e i servizi.

Storia dei protocolli di API

L'utilizzo delle API si è democratizzato nel corso degli ultimi dieci anni e il loro funzionamento si è adattato alle applicazioni più recenti. Per rispondere a queste evoluzioni, sono stati creati diversi protocolli.

  • SOAP (Simple Object Access Protocol): protocollo basato su XML che facilita il trasferimento di informazioni tra applicazioni e software che utilizzano linguaggi e ambienti diversi. Questa interazione è possibile, in particolare, grazie ai protocolli SMTP e HTTP. SOAP costituisce il protocollo API più datato.
  • XML-RPC: protocollo basato su un tipo preciso di formato XML. Sviluppato in un secondo momento rispetto a SOAP, è considerato più semplice e meno esigente in termini di consumo della banda passante.
  • JSON-RPC: protocollo con funzionamento simile a XML-RPC, ma basato sul formato di testo JSON invece che XML. Di semplice utilizzo, consente di inviare solo una risposta a richieste complesse.
  • REST: più che un vero e proprio protocollo, costituisce un insieme di regole architetturali di un'API. Per essere considerata REST, un’API deve soddisfare una serie di criteri predefiniti. In questo caso si parlerà di API RESTful. L’obiettivo di questo insieme di definizioni è facilitare la creazione e l'integrazione di applicazioni.

La maggior parte delle API odierne disponibili online sono API REST. Queste regole hanno permesso di creare API più leggere e di semplice utilizzo, particolarmente adatte ad IoT (Internet degli oggetti o, in inglese, Internet of Things) e applicazioni mobili.

API SOAP e API REST

Come prima cosa, è importante ricordare che questi due elementi sono differenti: SOAP è un protocollo, REST un'architettura. Inoltre, anche se entrambi mirano a facilitare la creazione di API, non sono vincolati alle stesse regole.

Grazie allo sviluppo di norme e standard di creazione, questi due elementi hanno permesso agli sviluppatori di semplificare lo scambio e l'utilizzo delle API. Quando l'uso delle interfacce di programmazione si è democratizzato, SOAP mirava a creare uno standard per richieste e formato di messaggio, in modo da facilitare lo scambio di dati. Questo ha permesso una migliore comunicazione tra le applicazioni nonostante l’utilizzo di linguaggi e ambienti differenti.

REST si basa invece su sei principi essenziali per la creazione dell'API, più semplici da seguire rispetto a un protocollo restrittivo. Ecco perché oggi la maggior parte delle API è essenzialmente RESTful.

API in OVHcloud

Per consentire agli utenti un margine di manovra più ampio possibile, tutti i nostri servizi sono compatibili con un'API. In questo modo, è possibile interconnetterli facilmente.

Per creare i propri progetti Web OVHcloud mette a disposizione degli utenti la sua API, uno strumento sicuro che rispetta i dati personali, come tutte le nostre altre soluzioni.

La nostra API permette di:

  • gestire le soluzioni OVHcloud (amministrazione, aggiornamento, monitoraggio)
  • creare e perfezionare le proprie applicazioni
  • automatizzare alcune operazioni e ottimizzare le funzioni

Bisogno di aiuto? Consulta la nostra guida per iniziare a utilizzare la nostra API.