Le Application Programming Interface (API) rappresentano il modo in cui i software comunicano tra di essi. Di fatto astraggono la complessità del sistema sottostante e permettono la fruizione di servizi complessi in maniera semplice. Grazie a questa qualità, le API sono diventate l’ingrediente principale di qualsiasi applicazione moderna.
Il primo aspetto importante da valutare nella progettazione delle API è lo scopo per cui vengono realizzate e ne esistono due:
- per la integration: in questo caso le API sono realizzate per un progetto specifico e solo per l’integrazione senza alcuna possibilità di utilizzo ( o riutilizzo) esterno e futuro. E’ un approccio classico che oggi è poco saggio in quanto limita fortemente qualsiasi opportunità di sviluppo futuro.
- per la consumption: in questo caso, invece, le API sono realizzate in maniera modulare, scalabile e fornendo il riutilizzo delle funzionalità, di fatto permettendo di creare continuamente nuove esperienze grazie alla possibilità di effettuare il mix di API consumabili. E’ l’approccio moderno e che trovate usato da tantissimi provider, per es. Cloud API.
La scelta dipende dal progetto, dalle necessità di business e da molti altri aspetti ma, in linea di principio, occorre sempre orientarsi verso API consumabili perchè guardano al futuro. Contattaci subito e senza impegno per realizzare API.
Le strategie per la progettazione: REST, RPC e GraphQL
I modelli citati nel titolo sono quelli più usati e che hanno i loro pro ed i loro contro per ogni progetto. E’ necessaria un’analisi puntuale delle necessità di business per fare la scelta giusta e rimandiamo ad un futuro articolo la disamina dei casi, per il momento ti indichiamo che la strategia REST è quella che può essere ideale nella gran parte dei casi e che viene utilizzata da tutti i maggiori provider di API ed in qualsiasi scenario moderno di Web Service. Puoi approfondire GraphQL con un nostro articolo e REST e RPC in un articolo del Blog di Google. Contattaci subito e senza impegno per una consulenza.
Best Practises
Vi indichiamo di seguito alcune best practise da seguire nella progettazione di API:
- Definire le relazioni con link e non con chiavi: le API spesso raccontano relazioni e spesso rappresentano il mezzo per esporre campi di un database e relazioni tra i vari campi ed entità, il primo aspetto da considerare è quello di esprimere queste relazioni tramite Web Link. Per un approfondimento vi consigliamo la seguente lettura.
- Definire le URL in maniera che il mix di nomi e identificativi sia corretto e guardi al futuro, in particolare occorre pensare a quali dati potrebbero cambiare nel tempo e quindi non renderli permanenti nell’URL ma variabili tramite opportune costruzioni. Per un approfondimento vi consigliamo la seguente lettura.
- Stabilire il versioning: le API sono veri e propri software che seguono processi di sviluppo e miglioramento che possono far si di rendere disponibili nuove versioni della medesima API. Occorre quindi definire le modalità di versioning (nell’URL? nell’Header?nei Data?) o anche di “non versioning”, vale a dire di non far inserire la versione nella richiesta. Stabilire il versioning è spesso una cosa che si rimanda o che non si valuta nelle fasi iniziali della progettazione delle API ed invece è decisamente importante. Per un approfondimento vi consigliamo la seguente lettura.
- Risolvere gli eventuali problemi SEO: soprattutto nelle Single Page App (SPA) è necessario rendere fruibili i contenuti ai motori di ricerca ed ottimizzare le API per il SEO diventa essenziale. Per un approfondimento vi consigliamo la seguente lettura.
Contattaci subito e senza impegno per una consulenza sulla progettazione di API.
Glue Labs e le API
Realizziamo API dalla nostra nascita e grazie alle competenze specialistiche maturate in tantissimi settori e con numerosi Clienti possiamo fornirti assistenza e supporto per portare in produzione qualsiasi API. Inoltre ti forniamo formazione avanzata sulla progettazione e realizzazione di API. Contattaci subito senza impegno per maggiori informazioni.