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.
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.
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
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.
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
-
Trailblazer Community: Composer MuleSoft
-
Trailhead: Principi fondamentali delle API della Piattaforma Lightning