API è l’acronimo di Application Programming Interface, che è un intermediario software che permette a due applicazioni di parlare tra loro. Ogni volta che usi un’applicazione come Facebook, invii un messaggio istantaneo o controlli il tempo sul tuo telefono, stai usando un’API.
Cos’è esattamente un’API? Impara da solo in questo utile video di MuleSoft, gli esperti di API.
Che cos’è un esempio di API?
Quando usi un’applicazione sul tuo cellulare, l’applicazione si connette a Internet e invia dati a un server. Il server poi recupera quei dati, li interpreta, esegue le azioni necessarie e li rimanda al tuo telefono. L’applicazione poi interpreta quei dati e ti presenta le informazioni che volevi in modo leggibile. Questo è ciò che è un’API – tutto questo avviene tramite API.
Per spiegarlo meglio, prendiamo un esempio familiare.
Immaginate di essere seduti al tavolo di un ristorante con un menu di scelte da ordinare. La cucina è la parte del “sistema” che preparerà il vostro ordine. Quello che manca è il collegamento critico per comunicare il vostro ordine alla cucina e consegnare il cibo al vostro tavolo. È qui che entra in gioco il cameriere o l’API. Il cameriere è il messaggero – o API – che prende la vostra richiesta o ordine e dice alla cucina – il sistema – cosa fare. Poi il cameriere ti consegna la risposta; in questo caso, è il cibo.
Qui c’è un esempio reale di API. Potreste avere familiarità con il processo di ricerca dei voli online. Proprio come il ristorante, avete una varietà di opzioni tra cui scegliere, incluse diverse città, date di partenza e di ritorno, e altro. Immaginiamo che lei stia prenotando un volo sul sito di una compagnia aerea. Scegliete una città e una data di partenza, una città e una data di ritorno, la classe di cabina e altre variabili. Per prenotare il vostro volo, interagite con il sito web della compagnia aerea per accedere al loro database e vedere se ci sono posti disponibili in quelle date e quali potrebbero essere i costi.
Tuttavia, cosa succede se non state usando il sito web della compagnia aerea–un canale che ha accesso diretto alle informazioni? Cosa succede se si utilizza un servizio di viaggio online, come Kayak o Expedia, che aggrega informazioni da un certo numero di database di compagnie aeree?
Il servizio di viaggio, in questo caso, interagisce con l’API della compagnia aerea. L’API è l’interfaccia che, come il vostro utile cameriere, può essere richiesta da quel servizio di viaggio online per ottenere informazioni dal database della compagnia aerea per prenotare posti, opzioni di bagaglio, ecc. L’API prende poi la risposta della compagnia aerea alla tua richiesta e la consegna direttamente al servizio di viaggi online, che poi ti mostra le informazioni più aggiornate e rilevanti.
Che cosa fornisce un API è anche un livello di sicurezza
I dati del tuo telefono non sono mai completamente esposti al server, e allo stesso modo il server non è mai completamente esposto al tuo telefono. Invece, ognuno comunica con piccoli pacchetti di dati, condividendo solo ciò che è necessario, come quando si ordina un take away. Tu dici al ristorante cosa vorresti mangiare, loro ti dicono cosa hanno bisogno in cambio e poi, alla fine, ottieni il tuo pasto.
Le API sono diventate così preziose che comprendono una grande parte delle entrate di molte aziende. Grandi aziende come Google, eBay, Salesforce.com, Amazon ed Expedia sono solo alcune delle aziende che fanno soldi con le loro API. Ciò a cui si riferisce l'”economia API” è questo mercato di API.
L’API moderna
Nel corso degli anni, ciò che è una “API” ha spesso descritto qualsiasi tipo di interfaccia di connettività generica per un’applicazione. Più recentemente, tuttavia, le API moderne hanno assunto alcune caratteristiche che le rendono straordinariamente preziose e utili:
- Le API moderne aderiscono a standard (tipicamente HTTP e REST), che sono sviluppatori-friendly, facilmente accessibili e comprensibili in generale
- Sono trattate più come prodotti che come codice. Sono progettati per essere consumati da un pubblico specifico (ad es, Gli sviluppatori di telefonia mobile), sono documentati, e sono versionati in modo che gli utenti possano avere certe aspettative sulla loro manutenzione e sul loro ciclo di vita.
- Perché sono molto più standardizzati, hanno una disciplina molto più forte per la sicurezza e la governance, così come sono monitorati e gestiti per le prestazioni e la scala
- Come qualsiasi altro pezzo di software prodotto, le moderne API hanno il loro ciclo di vita di sviluppo del software (SDLC) di progettazione, test, costruzione, gestione e versioning. Inoltre, le API moderne sono ben documentate per il consumo e il versioning.
Per saperne di più sulle API e su come progettare una grande API, scarica l’eBook Undisturbed REST: A Guide to Designing the Perfect API.