Skip to main content

Scoprire i vantaggi delle API

Obiettivi di apprendimento

Al completamento di questa unità, sarai in grado di:

  • Definire l'astrazione.
  • Indicare i vantaggi dell'utilizzo di un'API.
  • Spiegare i verbi HTTP e il loro utilizzo.

Mentre sta montando le sue attrezzature da palestra, la titolare del fitness club inizia a immaginare come sarebbe questo processo se non fossero disponibili le specifiche standard per l'energia elettrica. L'attrezzatura non sarebbe l'unica cosa di cui preoccuparsi. Cose come i cavi nelle pareti, i dispositivi aggiuntivi con cui è condiviso il cablaggio, il modo in cui l'elettricità è generata (parco eolico, centrale nucleare, generatore a carbone o pannelli solari), persino il luogo dove si trova la fonte di energia. Per fortuna non deve preoccuparsi dei piccoli dettagli, deve solo inserire la spina in una presa di corrente e via.

Le API offrono un livello simile di prevedibilità e affidabilità, oltre a una connettività studiata appositamente e spesso in contesto. L'integrazione con le API è facilmente ripetibile e scalabile. E, in molti casi, utilizzare le API comporta uno scambio reciproco di valore: la titolare del fitness club ottiene per i suoi tapis roulant l'energia su cui può contare e il fornitore di servizi è in grado di misurare e fatturare il consumo.

Vantaggi dell'utilizzo delle API

Le API permettono di sfruttare una pletora di opportunità. Ecco in che modo il software, i clienti, i citizen integrator, gli sviluppatori e i loro team possono trarre vantaggio dall'uso delle API.

Outsourcing

In nome della ripetibilità, tutti i dispositivi compatibili (in questo caso, l'attrezzatura da palestra) possono facilmente affidare i propri requisiti elettrici a un servizio e aspettarsi di ottenere gli stessi risultati. Allo stesso modo, le API ti permettono di affidare dati e funzionalità chiave a un'interfaccia standard prevedibile. Concentrati sulla creazione di applicazioni, servizi ed esperienze dei clienti di alto livello, non su come ottenere informazioni qualsiasi, per quanto ricche di sfumature.

Considera il modo in cui Lyft si affida all'interfaccia standard di Google Maps per importare mappatura e geolocalizzazione nella sua app mobile. La mappatura non ha mai fatto parte dell'esperienza del cliente quando si trattava di prendere un taxi o una limousine, ma i servizi di ride hailing come Lyft hanno visto l'opportunità di migliorare l'esperienza del cliente con le mappe.

Grazie all'API per Google Maps, Lyft non ha dovuto preoccuparsi di introdurre le mappe nella sua applicazione e può concentrarsi sui processi aziendali che garantiscono un'esperienza di ride sharing eccellente.

La tendenza a utilizzare le API in questo modo, ovvero per creare un'esperienza del cliente eccezionale, dovrebbe essere naturale per chi aspira a diventare Trailblazer dell'integrazione. Sarà tuo compito insegnare ad altre persone della tua organizzazione a pensare in questo modo.

Maggiore mobilità

Le apparecchiature a consumo si possono spostare facilmente da una presa all'altra. Ad esempio, in mancanza di una spina, di una presa corrispondente o di specifiche, la titolare della palestra potrebbe dover cablare le apparecchiature nelle pareti dell'edificio. Ciò significa dover rendere disponibili gli strumenti necessari, estrarre tutti i fili e collegarli tra loro. Naturalmente, sarebbe necessario avere anche qualche nozione sui fili che escono dal muro.

Grazie a un'interfaccia standard, spostare le apparecchiature è semplice (pensa all'aggiornamento del software, alla migrazione a un nuovo servizio o all'ampliamento del data center). Anche se lo schema dell'interfaccia cambia, come avviene se ci si sposta dal Nord America al Regno Unito, i dispositivi a consumo possono essere facilmente adattati, poiché gli standard sono ben definiti e documentati.

Astrazione

Se consideriamo il fitness club, la presa elettrica rappresenta un livello di astrazione rispetto al servizio sottostante, ovvero l'elettricità. Ti chiederai: "Che cos'è l'astrazione?". È un modo di nascondere i dettagli operativi di un altro sistema.

Purché il servizio fornisca 120 volt CA alla presa a muro nel modo standard, il fornitore di servizi è libero di cambiare qualsiasi cosa, dal tipo di presa fino alla fonte di alimentazione. Le eventuali modifiche non sono visibili ai dispositivi di consumo.

Il collegamento avviene tra la palestra e la fonte di energia originaria, la pala eolica. In mezzo ci sono i trasformatori e le linee elettriche.

Le API fungono da livello di astrazione tra i dati o le funzioni forniti e la logica necessaria per completare ed eseguire un'operazione all'origine. In altre parole, il software ha bisogno di sapere solo come collegarsi all'altro sistema, non come funziona l'altro sistema.

Nota

L'interfaccia in cui i sistemi comunicano tra loro rappresenta un insieme di standard concordati (simile allo standard 120 volt CA per l'elettricità) che consente alle applicazioni di richiedere un servizio per poi ricevere in risposta dati o funzionalità (come la visualizzazione di una mappa). Tutte le API hanno i propri insiemi di standard concordati, noti come contratto delle API, ovvero ciò che consente l'utilizzo dell'API nei contesti previsti.

Maggiore produttività degli sviluppatori

Quando i programmatori scrivono codice, raramente partono da zero. Le API sono progettate per prendere una base di codice esistente e utilizzarla sempre e ovunque, anziché tentare di ricreare le funzionalità. Se riutilizzare il codice esistente limita la differenziazione tra le applicazioni, un riferimento all'API (più comunemente noto come "chiamata" all'API) può fornire al programma i dati o le funzionalità previsti. Dato che le API sono in grado di gestire operazioni comuni e meno comuni, possono ridurre i tempi di sviluppo delle applicazioni da mesi, o addirittura anni, a settimane.

Quando gli sviluppatori assicurano questo livello di produttività, l'azienda raggiunge un'agilità senza precedenti. Come descritto nel modulo sull'integrazione basata sulle API per la trasformazione del business, grazie alle API, nuovi prodotti e modi migliori di fare business si possono realizzare in una frazione di tempo rispetto al passato.

Utilizzare i protocolli HTTP per accedere ai dati

Sebbene non esistano regole o leggi che stabiliscono esattamente il modo in cui gli sviluppatori devono collegare le loro applicazioni a un'API, sono stati definiti alcuni standard. Ad esempio, quando le applicazioni si collegano alle API su Internet, la maggior parte dei fornitori di API rende disponibili queste connessioni tramite il protocollo HTTP, altrimenti noto come World Wide Web.

Sia che si tratti di un'app sul telefono che chiama un'API, sia che si recuperi il conteggio delle calorie tramite un browser Web o si salvino le informazioni sull'allenamento usando il software dell'attrezzatura per il fitness, ci si affida a un insieme speciale di comandi HTTP chiamati verbi.

Verbi HTTP

Descrizioni

POST

Invio dei dati richiesti a un server per l'elaborazione

GET

Recupero dei dati richiesti da un server

PUT

Aggiornamento e sostituzione dei dati esistenti con i nuovi dati inviati nella richiesta

DELETE

Rimozione dei dati richiesti dal server

Nella maggior parte dei casi, il fornitore di servizi specifica un indirizzo Web speciale, noto come endpoint API, a cui il software può collegarsi utilizzando un verbo HTTP. Ecco un esempio da Fitbit.

GET https://api.fitbit.com/1/user/[user-id]/activities/date/[date].json

Tieni presente che anziché il solito "www" che ti è familiare, Fitbit utilizza "api". Qui gli sviluppatori possono usare il comando GET per restituire i dati da visualizzare nelle loro applicazioni. Nel caso di questo endpoint, la risposta prevista includerà l'ultima attività (corsa) nonché tutte le "sfide di fitness" completate di recente dall'utente.

Se un tapis roulant connesso dovesse utilizzare questa API, potrebbe visualizzare una serie di informazioni utili per l'utente. Prendiamo questo esempio di risposta ricevuta dopo aver effettuato una richiesta GET all'API Fitbit.

API

I dati API restituiti per le attività e le sfide di fitness, tra cui l'ID attività, il numero di calorie consumate, la distanza, il numero di passi e altro ancora, sono strutturati in un codice che una macchina è in grado di leggere facilmente.

Naturalmente, la risposta di cui sopra non è molto intuitiva e non verrebbe mai presentata all'utente del tapis roulant. È formattata in base a un altro standard chiamato JSON (JavaScript Object Notation), spesso utilizzato con HTTP. Sembra tutto molto tecnico, ma c'è una nuova classe di strumenti di citizen integration, come il composer MuleSoft, che semplifica per i non programmatori l'elaborazione di questi output. Ciò consente ai citizen integrator di immaginare nuovi modi di utilizzare le API e di agire sulla base di tale immaginazione per realizzare le integrazioni. Mentre i programmatori potrebbero sviluppare del codice per leggere ed elaborare la risposta precedente, i citizen integrator, come un responsabile della linea di business o un progettista di tapis roulant, utilizzano i clic.

Interfaccia del tapis roulant

Quando il tapis roulant riceve una risposta, l'utente può vedere il totale delle calorie consumate, la sua posizione rispetto alla sfida di fitness più recente e altro ancora.

L'interfaccia utente del tapis roulant utilizza i dati ricevuti dall'API Fitbit per aggiornare l'utente sul suo stato attuale.

Ora mettiti nei panni del progettista dell'interfaccia utente del tapis roulant. Hai qualche idea per un'interfaccia utente diversa? Forse puoi crearne una che sfrutta altri dati presenti nella risposta? Puoi sicuramente farlo. Questa sorta di flessibilità nell'apportare modifiche all'interfaccia utente è un esempio di uno dei vantaggi del tipo di astrazione offerto dalle API.

Nota bene: le applicazioni non sono limitate all'utilizzo di una sola API alla volta. Un'applicazione può effettuare chiamate a più API e fornitori di API. Queste applicazioni composite sono talvolta chiamate mash-up e, come una ricetta che può includere qualsiasi ingrediente, l'unico limite a quello che puoi ottenere con un mash-up è la tua immaginazione.

Grazie alle migliaia di API che gli sviluppatori di software e i non programmatori dotati di strumenti di citizen integration possono raggiungere su Internet (più di 23.000 secondo gli ultimi calcoli su ProgrammableWeb.com), il Web si è trasformato in una piattaforma programmabile altrettanto, se non più, potente rispetto a piattaforme programmabili come Windows, Mac e Linux. È come un gigantesco portaspezie a tua disposizione in qualsiasi momento. Prima inizi a ridefinire i processi aziendali e le esperienze dei clienti della tua organizzazione come mash-up creati a partire da ingredienti già pronti per l'uso, prima inizierai a utilizzare le API per trasformare il tuo business.

Risorse

Continua a imparare gratuitamente!
Registra un account per continuare.
Cosa troverai?
  • Ottieni consigli personalizzati per i tuoi obiettivi di carriera
  • Metti in pratica le tue competenze con sfide pratiche e quiz
  • Monitora e condividi i tuoi progressi con i datori di lavoro
  • Accedi a risorse di tutoraggio e opportunità di carriera