Capiamo cosa sono le API
Tornando sempre sul discorso delle tecnologie IoT non si può fare a meno di parlare di API (Application Program Interface). Le API possono essere considerate strumento per lo scambio di dati e la condivisione di funzionalità. In linea generale, possono essere considerate un insieme di funzioni che permettono di accedere ai servizi di un’applicazione mediante un linguaggio di programmazione. Queste funzioni possono essere diverse: potrebbero essere delle “librerie” che permettono allo sviluppatore di interagire con un determinato software, oppure possono fungere da “chiamata” di un programma verso parti di un’altra applicazione.
Quindi la loro funzione sostanzialmente è quella di migliorare o ampliare la funzionalità del proprio programma o piattaforma, attingendo alle risorse di altri sistemi che non sarebbero stati accessibili senza le API.
Ciò che rende conveniente il loro utilizzo è il fatto che non necessita dover sapere un codice o il funzionamento di una determinata applicazione, perché sono loro stesse a fungere da “convenzione” per condividere dati.
Si pensi ad esempio Google, che mette a disposizione agli sviluppatori le API di Google Maps, permettendo cosi di creare le proprie mappe personalizzate.
Proprio per la loro semplicità di utilizzo, è il motivo che si prestano benissimo per i progetti IoT, dove è richiesto per motivi di banda, risparmio energetico e velocità, una leggerezza di codice estrema.
Per farvi un esempio di utilizzo di una API, ho creato con Nodejs una piccola applicazione web dove utilizza una api messa a disposizione da Omdbapi per la ricerca di film. Sostanzialmente Omdbapi è un RESTful web service che permette di ottenere informazioni sui film, ritornando dati come l’anno di produzione, il cast, la storia, la copertina del poster ecc…
Per fare ciò l’applicazione in nodejs deve “girare” su di un server, io ho utilizzato i servizi messi a disposizione da Heroku, che avevo già utilizzato in altri progetti. Heroku è una piattaforma per costruire applicazioni con le più moderne architetture: nodejs, python, java, go, ecc.., utilizzando i container (impachettare il codece della app e le sue dipendenze) chiamati in Heroku “dynos”, che non sono altro che i mattoncini che compongono l’appilcazione. La mia che vedete sotto la potete trovare per esempio su: https://movie-search1975.herokuapp.com/.
Se volessi cercare ad esempio tutti i film che si chiamano “Breaking Bad” (ce ne solo uno! – Heisenberg docet), la API che verrà inviata a Omdbapi sarà composta cosi:
http://omdbapi.com/?s=breaking+bad&plot=full&apikey=****
Dove i 4 asterischi sono la apikey che di solito si deve possedere per usufruire del servizio. (Google ad esempio la fornisce gratuitamente solo per certi utilizzi, o con utilizzi limitati)
Quello che poi ritorna indietro è un file di tipo JSON (Javascript Object Notation) con dentro le informazioni di n. 10 film che corrispondo alla ricerca effettuata. Basterà poi estrarre i dati salienti con un parsing e riportare quei valori sulla pagina web di risposta.
Ovviamente non è graficamente accativante, ma la utilizzo solo a scopi personali, e fa il suo lavoro egregiamente!
Contattatemi pure se avete bisogno di maggiori info in merito.
LONG LIVE AND PROSPERITY