Pensa a internet come a una rete di server connessi.
Tutto ciò che è online risiede su un server remoto da qualche parte. Queste risorse vengono accessibili su richiesta. Ad esempio, quando digiti www.YouTube.com nel tuo browser, la tua richiesta viene inviata al server di YouTube. Poi, quando il tuo browser riceve una risposta, la traduce e la visualizza nel tuo browser. Quella traduzione è il lavoro di un application programming interface (API).
Un'API è un insieme di strumenti che consente ad altre applicazioni di interagire senza problemi con i sistemi software per recuperare e caricare dati da un sistema all'altro.
Le API aiutano gli sviluppatori a costruire app in modo più efficace ed efficiente. Con centinaia di API utilizzate dalle imprese tecnologiche, gli strumenti di gestione delle API hanno acquisito importanza fornendo una miriade di funzioni critiche che aiutano le aziende a gestire meglio le loro API interconnesse.
Cos'è un'API?
Le interfacce di programmazione delle applicazioni (API) rendono lo sviluppo software e l'innovazione più facili permettendo ai programmi di comunicare dati e funzioni in modo sicuro e rapido. Le API accelerano l'innovazione perché più sviluppatori possono costruire prodotti basati su dati e funzionalità esistenti.
Un' API è un messaggero che prende richieste, traduce e restituisce risposte. Quando ti siedi per ordinare in un caffè, il cameriere prende il tuo ordine, lo inoltra alla cucina e ritorna con il tuo cibo. In questo scenario, il cameriere agisce come l'API o intermediario. Traducono la tua richiesta di pancake dalle loro note scritte a mano, nel sistema informatico, ai cuochi in cucina e poi alla fine ritornano con la tua pila di pancake.
Le API stanno cambiando il modo in cui le aziende costruiscono software. Consentono agli sviluppatori di creare rapidamente applicazioni su piattaforme e reti. Una buona API fornisce una chiara definizione di come due pezzi di software dovrebbero interagire mentre nasconde gran parte della complessità coinvolta nel rendere possibile la loro comunicazione. Un'API efficace è flessibile per gestire più casi d'uso e dovrebbe essere facile da usare per gli sviluppatori di applicazioni offrendo comunque tutta la potenza richiesta dagli integratori di sistema.
Le API sono la base per prodotti e suite aziendali moderni. Dall'ecosistema degli sviluppatori di Facebook al cloud di Amazon Web Services (AWS), le API si sono trasformate in uno dei progressi tecnologici più significativi nella storia recente. Le API sono state adottate da alcune delle aziende più dirompenti a livello globale e si sono evolute da una soluzione di nicchia a uno dei progressi tecnologici più significativi nella storia recente.
Le API consentono alle applicazioni software di comunicare tra loro, capito. Ma cosa stanno dicendo? Il linguaggio e la sintassi delle API limitano ciò che puoi chiedere e ottenere indietro.
Ci sono quattro tipi di azioni API:
- GET: richiede dati da un server
- POST: invia nuove informazioni a un server
- PUT: apporta modifiche ai dati esistenti su un server
- DELETE: rimuove dati esistenti da un server
Perché le API sono importanti per le aziende?
Le API hanno gradualmente migliorato la qualità e la consegna di software e servizi. Il software personalizzato per uno scopo specifico viene sempre più frequentemente creato per fare riferimento alle API che generalmente forniscono funzionalità preziose. Questo riduce il tempo e il costo di sviluppo riducendo anche la possibilità di errori.
Le API introducono un'interfaccia digitale per mostrare i dati e le risorse aziendali di un'azienda tramite le API, con la necessaria governance e sicurezza, migliorando le relazioni con utenti, dipendenti e partner. Maggiore funzionalità e gamma di servizi aumentano il valore offerto ai consumatori e migliorano l' esperienza del cliente.
Le API offrono anche ulteriori alternative di monetizzazione, come la productizzazione dei dati con pacchetti e piani personalizzati per nuovi e attuali partner commerciali.
Come funzionano le API?
Le API consentono ai prodotti o servizi aziendali di interagire con altri prodotti e servizi senza richiedere di capire come funzionano. Questo può semplificare notevolmente lo sviluppo delle applicazioni risparmiando anche tempo e risorse. Le API consentono versatilità, facilitano la progettazione, la gestione e l'uso, e creano opportunità di innovazione quando si creano nuovi strumenti e prodotti o si mantengono quelli attuali.
Le API sono spesso considerate contratti, con la documentazione che rappresenta un accordo reciproco tra le parti. Se la parte 1 invia una richiesta remota in un formato specifico, il programma della parte 2 risponderà in modo simile.
Le API sono composte da due parti interdipendenti. La prima è un protocollo che spiega come i dati vengono condivisi tra le applicazioni, utilizzando una richiesta per l'elaborazione e la risposta dei dati richiesti. La seconda è un'interfaccia software costruita su quel requisito e disponibile per l'uso in qualche modo.
Il programma che utilizza le funzionalità e le capacità dell'API la "chiama", mentre il software che sviluppa l'API la "pubblica".

Ecco un processo passo-passo di come funziona un'API:
- Un programma client avvia una chiamata API per ricevere informazioni, spesso nota come richiesta.
- L'API chiama le app di terze parti o il webserver dopo aver ricevuto una richiesta valida.
- Il server risponde all'API inviando i dati richiesti.
- I dati vengono trasferiti all'app client tramite l'API.
Come usare un'API
Le API richiedono generalmente una chiave API. Consulta la documentazione dell'API per le istruzioni di accesso e i requisiti. Il modo più semplice per usare un'API è utilizzare un client online di Hypertext Transfer Protocol (HTTP) per aiutare a strutturare le richieste. Puoi anche seguire la documentazione esistente dell'API per costruire un URL per estrarre i dati all'interno del tuo browser.
In un certo senso, gli sviluppatori "si collegano" alle API per accedere a determinate risorse per gli utenti finali – alcune di esse sono persino gratuite da usare. Detto ciò, un'API fornisce solo dati selezionati che i suoi programmatori hanno reso pubblici. Se un'API includesse tutto dal programma, cosa impedirebbe al prossimo sviluppatore di copiare semplicemente il codice? Oppure, come puoi mantenere la tua promessa di sicurezza dei dati?
Un ristorante non ti darà la loro ricetta super-segreta dei pancake con un contorno di bacon. Inoltre, non condivideranno il tuo numero di carta di credito con il prossimo cliente che effettua il checkout.
Le API sono dietro le quinte, ma sono principalmente responsabili di tutta l'interattività che ci aspettiamo nel nostro mondo. Le API possono accelerare il processo di sviluppo delle app, il che può aiutare a mantenere basso il costo dell'app.
Quando usare un'API
È essenziale ricordare che gli sviluppatori usano le API di altri servizi, ma possono anche costruirle per il loro beneficio. Lascia che ti spieghi. Gli sviluppatori di Uber inizialmente si affidavano esclusivamente all'API di Google Maps per i servizi di localizzazione. Ma ora si affidano a un mix di tecnologie, incluso il loro progetto di mappatura globale da 500 milioni di dollari.
Per dirla semplicemente, se puoi trovare i dati di cui hai bisogno per la tua app o servizio altrove, dovresti provare a integrarli. Pensa a costruire la tua API se non riesci a trovare esattamente ciò che stai cercando o vedi un'opportunità in cui i tuoi dati sarebbero migliori per un caso d'uso specifico.
Come posso trovare le API?
Ci sono migliaia di API sul mercato oggi. eBay e Salesforce hanno permesso per la prima volta l'accesso alle loro web API nel 2000. Vale a dire, dovrai passare attraverso molte API diverse per trovare ciò di cui hai bisogno.
Se sai esattamente cosa stai cercando, puoi di solito fare una rapida ricerca su Google per le API popolari. Se stai ancora cercando di trovare la giusta soluzione, il software di marketplace delle API fornisce un facile "one-stop-shop" per trovare API rilevanti e implementarle.
Tipi di API
Le API sono raggruppate in quattro tipi che sono spesso utilizzati nelle applicazioni basate sul web: pubbliche, partner, private e composite.
- Le API pubbliche sono interfacce di programmazione delle applicazioni open-source a cui gli sviluppatori possono accedere utilizzando il protocollo HTTP. Conosciute anche come open API, hanno endpoint API specificati e moduli di richiesta e risposta. L'autenticazione e l'autorizzazione sono generalmente minime nelle API pubbliche. Un'azienda può monetizzare l'API pubblica addebitando una tariffa per chiamata per utilizzare l'API.
- Le API partner sono rese disponibili o fornite da partner commerciali strategici. Facilitano le interazioni business-to-business disponibili solo per sviluppatori esterni o utenti API esplicitamente selezionati e approvati. Di conseguenza, le API partner spesso forniscono protocolli di autenticazione, autorizzazione e sicurezza migliorati.
- Le API interne sono destinate esclusivamente all'uso all'interno dell'azienda per collegare sistemi e dati. Ad esempio, un'API interna può collegare i sistemi di gestione stipendi e risorse umane di un'organizzazione. Queste API private non sono visibili agli utenti esterni e generalmente presentano protocolli di sicurezza e autenticazione bassi.
- Le API composite integrano due o più API di dati o servizi per fornire una sequenza di processi connessi o interdipendenti. Questi servizi consentono agli sviluppatori di utilizzare una singola chiamata per raggiungere diversi endpoint, il che aiuta a gestire comportamenti API complessi o strettamente collegati. Le API composite sono preziose nell'architettura a microservizi perché un singolo lavoro può richiedere input da diverse fonti. Possono occasionalmente superare le singole API in termini di velocità e prestazioni.
SOAP vs. REST
Le API scambiano istruzioni e dati, il che richiede protocolli e architetture espliciti – le regole, le strutture e le limitazioni che governano il funzionamento di un'API. Quando si discute di architetture API, è comune confrontare SOAP vs. REST, due dei paradigmi API più prominenti. Sebbene i due siano spesso confrontati come mele con mele, sono essenzialmente concetti distinti che sono difficili da confrontare a un livello base.

Cos'è SOAP?
Simple object access protocol (SOAP) è un protocollo di sviluppo API sviluppato per portare stabilità e coerenza al processo di trasferimento dei dati tra applicazioni costruite utilizzando linguaggi di programmazione, strumenti e ambienti diversi.
Offre un insieme di linee guida riconosciute a livello globale che devono essere seguite da chiunque desideri garantire un'interazione client-server impeccabile. Le richieste SOAP vengono consegnate sotto forma di pacchetti. Questi pacchetti includono informazioni vitali per l'elaborazione delle richieste. I componenti principali del pacchetto SOAP sono le proprietà dell'intestazione e del corpo.
Caratteristiche di SOAP
- È scritto in XML (Extensible Markup Language), che è simile a HTML.
- SOAP consuma molta larghezza di banda per l'elaborazione dei messaggi poiché i messaggi SOAP includono molti dati.
- SOAP fornisce una gestione degli errori integrata.
Quando usare SOAP
- Progettare API private per grandi aziende. SOAP è eccellente per soluzioni commerciali poiché consente il trasferimento dei dati in modo decentralizzato e distribuito e offre diverse salvaguardie di sicurezza online.
- Per impiegare operazioni stateful. Le chiamate alle API SOAP sono stateful, il che significa che il server salva informazioni sul client e utilizza quella conoscenza su una sequenza di richieste o una catena di attività. Sebbene ciò richieda risorse server aggiuntive e larghezza di banda, è fondamentale per eseguire attività ricorrenti, come i trasferimenti bancari.
- Indipendente dal protocollo di trasporto. Poiché SOAP non dipende da un protocollo di trasporto sottostante, gli sviluppatori non devono utilizzare HTTP. A seconda del programma, possono utilizzare un protocollo di trasferimento semplice della posta (SMTP), un servizio di messaggistica Java (JMS) o un altro protocollo di trasporto.
Cos'è un'API REST?
Representational state transfer (REST) mira a risolvere le carenze di SOAP e fornire un modo più user-friendly di accedere ai servizi online. REST è una forma di modello architettonico frequentemente utilizzato nella costruzione di applicazioni moderne basate sul web.
Un'API REST può essere sia semplice che altamente sofisticata, a seconda di come è sviluppata, cosa vi è aggiunto e lo scopo per cui è progettata. Sono appropriate quando le risorse sono limitate, la sicurezza rigorosa non è essenziale, la compatibilità del client del browser è cruciale, e l'integrità dei dati e la scalabilità sono richieste.
Caratteristiche di REST
- REST riguarda la comodità, grazie ai protocolli HTTP.
- Utilizza un'interfaccia standard unica che semplifica le interazioni tra le app.
- REST utilizza JavaScript Object Notation (JSON) come formato dati anziché XML, rendendolo più compatibile con i browser con maggiore prestazioni e scalabilità.
Quando usare REST
- Costruire API pubbliche. Le API REST sono più facili da usare e adottare rispetto alle API SOAP, rendendole eccellenti per lo sviluppo di servizi web pubblici. REST manca anche di alcune delle misure di sicurezza integrate che SOAP fornisce — ma non sono richieste quando si interagisce con dati e servizi aperti.
- Sviluppare app mobili. REST è adatto per costruire app mobili poiché è leggero, efficace, senza stato e memorizzabile nella cache.
- Gestire con risorse di sistema e larghezza di banda finite. Tutte le richieste a un'API REST sono senza stato, il che significa che ogni interazione è indipendente e contiene tutti i dati necessari per completare quell'interazione. Poiché il server tratta ogni richiesta come se fosse la prima, il server non tiene traccia delle richieste precedenti. Questo riduce significativamente la quantità di memoria del server necessaria e aumenta l'efficienza poiché il server non è tenuto a intraprendere azioni aggiuntive o recuperare dati precedenti quando completa una richiesta.
SDK vs. API
Che tu stia sviluppando o migliorando la funzionalità di un sito web, un'app mobile o un'altra applicazione, hai a disposizione diversi strumenti per aiutarti a interagire con altre app e offrire esperienze utente più fluide.
Le interfacce di programmazione delle applicazioni e i kit di sviluppo software (SDK) hanno ciascuno varie responsabilità nel processo di sviluppo software. Poiché c'è così tanta sovrapposizione tra i due, può essere difficile distinguerli. Comprendere come un'API e un SDK variano e funzionano può aiutarti a determinare quale avrai bisogno per il tuo progetto.
.png)
Kit di sviluppo software (SDK)
Un SDK è una raccolta di strumenti di sviluppo software che consente agli sviluppatori di creare facilmente applicazioni software. Questo kit contiene compilatori, ambienti di runtime, documentazione, debugger e un framework o una raccolta di librerie di codice specifiche per piattaforma o linguaggio. Generalmente viene fornito anche con un'API.
Il vantaggio di un SDK è che gli sviluppatori non sono tenuti a costruire app da zero. L'invio di avvisi mobili e l'ottenimento di dati analitici sono tutte funzioni personalizzate. Di conseguenza, i programmi vengono sviluppati molto più rapidamente, risparmiando tempo e denaro all'azienda.
Interfaccia di programmazione delle applicazioni (API)
Un'API consente alla tua applicazione di comunicare con una fonte esterna utilizzando comandi semplici. Utilizzare un'API consente agli sviluppatori di aggiungere funzionalità specifiche alle loro app e accelerare il processo di sviluppo.
Le API sono più leggere degli SDK poiché non richiedono l'integrazione di un'intera libreria nell'applicazione e sono native della piattaforma software. Le API sono ideali quando vuoi solo alcune funzionalità specifiche dell'SDK piuttosto che un'esperienza completamente integrata.
Vantaggi delle API
Un'interfaccia di programmazione delle applicazioni semplifica la gestione degli strumenti attuali o la creazione di nuovi. Di seguito sono riportati alcuni dei principali vantaggi delle API:
- Collaborazione migliorata: Le API facilitano l'integrazione, consentendo a piattaforme e app disconnesse di connettersi in tempo reale. Le aziende possono utilizzare questa connettività per automatizzare i flussi di lavoro e migliorare la collaborazione sul posto di lavoro. Senza le API, molte aziende sarebbero isolate e soffrirebbero di silos informativi che compromettono la produttività e le prestazioni.
- Sicurezza migliorata: Le API offrono un ulteriore livello di protezione tra i dati aziendali e un server. La sicurezza delle API è rafforzata dall'uso di token, firme e crittografia Transport Layer Security (TLS), creando gateway API per controllare e autenticare il traffico e adottando una buona gestione delle API.
- Aumento della velocità di mercato: Le API consentono alle aziende di avere protocolli coerenti su come le app interagiscono. Questo aiuta a migliorare il flusso di lavoro consentendo loro di testare funzionalità e funzionalità in modo più efficiente. Inoltre, le API consentono mezzi standard di trasferimento dei dati e delle capacità in tutta l'organizzazione, migliorando la trasparenza.
Sfide delle API
Ci sono molte ragioni per cui le aziende utilizzerebbero un'API nel loro software. Ma ci sono anche molte ragioni per cui l'uso delle API può essere una cattiva idea.
- Sistemi separati: Ci sono diversi modelli di struttura software e API presenti, e ogni sistema ha la sua logica. Di conseguenza, ogni integrazione fornirà il proprio set di ostacoli. Quando si integrano varie piattaforme, puoi aspettarti che creare un collegamento non sarà così rapido o difficile come lo era una volta.
- Rischi di sicurezza: Le conseguenze dell'uso improprio delle API, come violazioni dei dati e perdite, possono danneggiare il marchio e i profitti di un'azienda, per non parlare del danno fatto agli utenti finali. Le tecniche di violazione dei dati stanno diventando sempre più complesse, il che implica che un'integrazione inadeguata potrebbe essere un regalo per gli utenti malevoli. Di conseguenza, mantenere la tua connessione con un altro sistema sicura richiede controllo e innovazione continua.
Esempio di API
Le API sono generalmente utilizzate per integrare il tuo servizio o proprietà app con altre applicazioni di terze parti. Perché ricostruire Twitter per accedere ai dati pubblici degli utenti quando potresti accedervi in modo sicuro altrove? L'API di Twitter consente agli sviluppatori di accedere a tutti i tipi di informazioni sui profili, come le ricerche degli utenti, le liste di blocco, i tweet in tempo reale e altro ancora – per vari casi d'uso.
Ad esempio, puoi integrare un feed di Twitter nel tuo sito web o applicazione utilizzando l'API di Twitter. Hai mai visto tweet in tempo reale sul sito web di un'azienda? C'è un'API per quello.
Alcune aziende sono costruite attorno alle API e alle loro capacità creative. Continuando con l'esempio dell'API di Twitter, i programmi di ascolto sociale e monitoraggio si integrano con le API per aggregare informazioni da più piattaforme di social media.

Fonte: Sprout Social
Sprout Social utilizza le API per aiutare a semplificare i processi sociali per i loro clienti. La loro "Smart Inbox" utilizza l'API di Twitter, così come le API di altri siti social, per raccogliere questi dati di feed tutti in un unico posto.
Se lo costruisci, verranno
L'informazione è molto richiesta. Dati aggiuntivi possono migliorare significativamente l'esperienza utente della tua app. Le integrazioni API rendono le informazioni rapidamente accessibili per gli sviluppatori che creano l'app. Questo alla fine si riversa sull'utente finale rendendo l'app più facile da usare.
Le aziende possono godere dei vantaggi della gestione delle API con un'adeguata provisioning degli utenti e garantendo che ogni funzionalità venga utilizzata al massimo del suo potenziale.

Bridget Poetker
Bridget Poetker is a former content team lead at G2. Born and raised in Chicagoland, she graduated from U of I. In her free time, you'll find Bridget in the bleachers at Wrigley Field or posted up at the nearest rooftop patio. (she/her/hers)
