Architetture API
Le architetture API di Exenode espongono in modo governato le funzioni di un sistema aziendale: interfacce REST e GraphQL versionate, autenticate e documentate, progettate per reggere l'integrazione di servizi terzi senza riscritture.
Cosa comprende
Design del contratto
Il contratto viene definito prima del codice: risorse, versioning, codici di errore e schema OpenAPI condiviso con chi dovrà integrare il servizio.
Sviluppo REST e GraphQL
Endpoint REST idempotenti o schemi GraphQL con resolver ottimizzati, scelti in base a come il client consuma davvero i dati.
Sicurezza e accessi
Autenticazione OAuth2 o JWT, permessi per risorsa, rate limiting e tracciamento delle chiamate.
Osservabilità e versioning
Log strutturati, metriche di latenza per endpoint e una strategia di deprecazione che non rompe i client già in produzione.
Il contratto prima del codice
Un’API mal progettata non si nota subito: si paga sei mesi dopo, quando il terzo sistema che la consuma impone un cambiamento che rompe gli altri due. Per questo il primo passo non è scrivere endpoint, ma definire il contratto: quali risorse esistono, come si identificano, cosa succede quando qualcosa va storto. Lo schema OpenAPI diventa il documento su cui backend e integratori si accordano prima che esista una riga di implementazione.
REST o GraphQL: dipende dal client
REST resta la scelta più solida quando le risorse sono stabili e i consumatori sono sistemi server-to-server. GraphQL ha senso quando il client è un’interfaccia ricca che deve comporre dati eterogenei in una sola richiesta, evitando il classico problema delle chiamate a cascata. La scelta si fa guardando il profilo di consumo reale, non la moda del momento.
Cosa cambia una volta in produzione
Un’API viva ha bisogno di poter cambiare senza spezzare chi la usa. Versioning esplicito, deprecazioni annunciate con anticipo e metriche per endpoint permettono di capire quali client stanno ancora usando cosa, e di ritirare una versione solo quando i dati dicono che è sicuro farlo.
Tecnologie utilizzate
- PHP
- Node.js
- Python
- OpenAPI
- GraphQL
- PostgreSQL
- Redis
- Docker
Domande frequenti
Come gestite il versioning delle API?
Con una versione esplicita nel percorso e un periodo di sovrapposizione fra vecchia e nuova. Le metriche per endpoint dicono quando nessuno usa più la versione precedente e si può ritirarla senza rischi.
Potete esporre in API un gestionale esistente?
Sì. Si costruisce un livello di accesso davanti al sistema esistente, senza modificarlo: il gestionale continua a funzionare mentre l'API espone in modo controllato solo ciò che serve.
Altri servizi di Engineering
AI orchestration
L'AI orchestration coordina modelli linguistici, strumenti e regole di business in un flusso unico e osservabile: definisce quando invocare un modello, con quale contesto, come validarne l'output e…
Backend systems
I backend systems sono il nucleo applicativo che regge carichi di produzione: microservizi, code asincrone, gestione degli stati e strategie di resilienza progettate perché un guasto parziale non…