Cos’è Un API ?
API è l’acronimo inglese di Application Programming Interface.
Prima di entrare nel merito e cercare di capire cosa significhi il termine API, facciamo un passo indietro e cerchiamo di parlare di programmazione e in particolare cerchiamo di contestualizzare il tutto.
Programmare o progettare un software vuol dire pensare una serie di azioni, schematizzarle e infine implementarle per un particolare sistema operativo, macchina o calcolatore.
Il problema reale di ogni impresa che voglia snellire i propri processi interni, ottimizzare o controllare determinati flussi, è quello di trovarsi di fronte a un vasto insieme di soluzioni e un’altrettanta infinità di elementi a disposizione. A questo punto digitalizzare vuol dire scegliere e scegliere bene: ingegnerizzare un processo, ingegnerizzare un software.
Sul mercato si trovano infinite soluzioni già pronte all’uso, oppure si progettano soluzioni dedicate ad un problema specifico. Ognuna di queste ha il suo lessico, il suo slang, il proprio linguaggio e le proprie regole interne. Ognuna di queste soluzioni ottiene l’obiettivo per il quale è stata progettata a modo suo e in maniera indipendente da altri moduli.
Ora immagina una città. Un’enorme e popolosa città. Eclettica, piena di lingue, accenti, culture e lavoratori di ogni tipo. E’ semplice immaginare ciascun lavoro, all’interno della nostra ipotetica città, come una singola “operazione”. La nostra BABELE è un sistema complesso, un po’ come quello di un’impresa o di un’azienda nel 2020.
Pensiamo ad un software(programma) come potremmo pensare ad un lavoratore che svolge una determinata azione. Ci piace continuare questa, strana, metafora parlando ora di matematica e numeri. Chiunque in città per svolgere al meglio il proprio lavoro deve saper comunicare attraverso i numeri: quanto devrà essere pagato; quanto dovrà essere alta quell’antenna; quanto dovrà essere profondo quel tunnel.
Le API non sono altro che un linguaggio comune che permette a tutti i lavoratori della città di parlare una stessa lingua e permette a tutti di scambiarsi informazioni fondamentali per portare a termine il proprio processo.
Non posso installare una fibra ottica se non so, in numeri, quanto sarà profondo quel tunnel. Non potrò veicolare un messaggio per qul canale se non so quant’è la potenza necessaria all’antenna (numeri). Così il tecnico radio riesce a cablare la sua antenna e la società che installa la fibra conosce tutti i parametri (numeri) con cui va progettato l’impianto.
Un’azienda, attualmente, può avere processi gestiti da sistemi differenti, lo scopo delle API è permettere a questi processi di scambiare informazioni con un linguaggio comune.
Lo scopo del progetto ALARA è quello di creare un livello intermedio che metta in comunicazione più microservizi. Un domani ALARA potrebbe essere riscritta con un altro linguaggio operativo, senza che la catena si spezzi.
Il linguaggio comune verrà mantenuto identico, ma il risultato potrà essere ottenuto in maniera differente.
Immagina che il tecnico antennista si licenzi. Venga poi sostituito da un suo collega. Entrambi parleranno con i numeri e scambiareanno informazioni con altri tecnici necessari a concludere il flusso generale del processo.
Per qualsiasi domanda tecnica, sui vantaggi dell’impostazione RESTful API che abbiamo voluto imporre ad ALARA, restiamo a totale disposizione.