"Il termine API è apparso molto prima del World Wide Web. Più recentemente è apparso un nuovo termine: Gateway API. Suona un po' strano all'inizio, perché il concetto di API di per sé suggerisce già un gateway".
Definizione: che cos'è un “gateway API”?
Sono felice che tu me lo abbia chiesto! Forse ricorderai che il termine API è apparso molto prima del World Wide Web e spero che tu sappia che API sta per “Application Programming Interface” (interfaccia di programmazione dell'applicazione).
Ma più recentemente è apparso un nuovo termine: “gateway API”. All'inizio può sembrare un po“ strano, poiché il concetto stesso di API suggerisce già l'idea di un gateway. Ciò potrebbe lasciare con il dubbio: ”cos'è un gateway API?".
In poche parole, un gateway API è uno strumento di gestione che si trova tra un cliente e un insieme di servizi di backendognuno con la propria API.
Pertanto, il gateway API agisce come un singolo punto di ingresso per un gruppo definito di API. Il cliente, in questo caso, sarà normalmente un'applicazione utente finale.
Da un punto di vista più tecnico, è anche possibile considerare un gateway API come un proxy inverso specializzato in grado di far apparire diverse API come se fossero un'unica API.
Una visione a microservizi
Il termine “API gateway” è spesso utilizzato nel contesto dei microservizi. La granularità delle API fornite dai microservizi è spesso diversa da quella necessaria. Questo deriva semplicemente dal concetto di microservizi: ci sono diversi piccoli pezzi che fanno piccole cose diverse.
I microservizi tipicamente forniscono API a grana fine, il che significa che i clienti devono interagire con più servizi. Per esempio, un cliente che ha bisogno dei dettagli di un prodotto facilmente potrebbe aver bisogno di recuperare dati da numerosi servizi. Ecco perché un gateway API ha senso nel mondo dei microservizi.
In questo contesto e all'interno di un'architettura di microservizi, ancora l'obiettivo del gateway API è quello di presentare un unico punto di ingresso per tutti i clientima in questo caso, questo viene fatto soprattutto semplificando l'API presentata ai clienti.

Architettura del gateway API
In questo diagramma, si può vedere un gateway API si trova ai margini dei sistemi. Agisce come uno strumento di gestione o middleware che media tra un cliente e un insieme di servizi di backend.
Questi i servizi di backend possono cambiare posizione, architettura e implementazione (linguaggio, framework e altri) con un impatto minimo.
Una visione architettonica
Non è necessario limitarsi alla visione di un gateway API basato su microservizi, anche se questa è quella che potremmo definire la “visione classica di un gateway API”.
Puoi anche guardare un gateway API in un modo più architettonico e vederlo come un design pattern. Possiamo dire che il modello di gateway API è duplice, poiché corrisponde effettivamente a due classici modelli di design Gang of FourL'adattatore e la facciata.
Come un adattatorepermette la comunicazione e la collaborazione anche se le interfacce sono incompatibili.
Come un facciata, un gateway API incapsula l'architettura interna dell'applicazione e fornisce un'API ai propri clienti.
Sia nella vista microservizi che nella vista architetturale, il gateway API ha sempre un ruolo di orchestrazione e, alla fine, dovrebbe essere lì per far funzionare le cose senza problemi. Ma come si può passare dai concetti e dalle definizioni ai risultati?
Come un gateway API può fornire risultati pratici
Entriamo nel merito degli aspetti più pratici e vediamo come ottenere risultati.
Per questo useremo un gateway API specifico, il nostro gateway di integrazione chiamato Connect Bridge. Pensate a Connect Bridge come a un unico punto di accesso che “parla” SQL. Ciò significa che qualunque codice venga utilizzato (ed è possibile scegliere qualsiasi linguaggio di programmazione), comunicherà con questo gateway API come se fosse un database, attraverso le normali istruzioni CRUD: SELECT, INSERT, UPDATE, DELETE.
Connect Bridge dispone di un “traduttore” (che in realtà chiamiamo “connettore”) per ogni applicazione che vogliamo raggiungere tramite l'API. Questo connettore traduce efficacemente le istruzioni SQL in chiamate API.
Utilizzando Connect Bridge, sarà necessario meno codice (molto meno: la riduzione può arrivare fino al 90% a seconda del progetto), il codice sarà più facile da comprendere e testare e si ridurrà significativamente il numero di bug.
La cosa divertente è che quando si lavora con Connect Bridge, il fatto che utilizzi SQL fa pensare di lavorare con il database di sistema del target, ad esempio il database di Microsoft Exchange. Ma non preoccupatevi, non è così e l'integrità del database è al sicuro: si tratta di un gateway che accede sempre al sistema di destinazione tramite la sua API.

Passo dopo passo con Connect Bridge come gateway API
- Codice della vostra applicazione nuova o legacy
- istruzioni CRUD in SQL standard che accedono al sistema di destinazione come se fosse un database
- Connect Bridge traduce l'SQL in chiamate API
- Per ogni sistema di destinazione queste traduzioni sono effettivamente gestite da un connettore
Quali linguaggi di programmazione posso usare?
Una nota su quale linguaggio di programmazione potete usare con Connect Bridge. Come ho detto, potete usare praticamente qualsiasi linguaggio di programmazione.
Dovete solo assicurarvi che supporti ODBC, JDBCoppure Servizi web. Finché lo fa, siete a posto.
Ad esempio, supponiamo che tu voglia utilizzare Java. Bene, allora puoi generare una stringa di connessione JDBC e avrai a disposizione un gateway API Java.
Vuoi usare Node.js? Va bene lo stesso, puoi generare una stringa di connessione ai servizi Web e avrai il tuo gateway API Node.js.
Potrei continuare, ma penso che ormai l'abbiate capito: potete andare avanti e usare il vostro linguaggio di programmazione preferito.

Stringhe di connessione Connect Bridge
Prezzi Connect Bridge API Gateway
Connect Bridge è uno strumento a pagamento, con prezzi che variano in base al numero e al tipo di connettori utilizzati e al numero di utenti. Per darvi un'idea generale del costo di questo gateway API, possiamo dirvi che i prezzi partono da 150 € al mese. Per maggiori dettagli sui prezzi, visitate il sito qui. Vi consigliamo di provarlo voi stessi con il prova gratuita prima e in questo modo si può avere un'idea di quali saranno i guadagni di produttività.
In termini di ROI, si dovrebbe anche considerare che il gateway assicura la soluzione finale continua a funzionare anche quando il sistema di destinazione viene aggiornato senza alcun cambiamento al codice che avete scritto. Tutti i problemi saranno gestiti dal gateway.
Primi passi con il Connect Bridge
Per guidarvi attraverso i primi passi con Connect Bridge, avremo bisogno di un sistema target di esempio. Sceglieremo Microsoft SharePoint per questo, ma potrebbero essere molti altri.
- Richiedi un prova gratuita.
- Installare Connect Bridge.
- Gestite la configurazione usando Connect Bridge Management Studio:
- L'autenticazione del gateway API ha due fasi. Per connettersi a SharePoint, gli utenti devono connettersi a Connect Bridgee poi Connect Bridge ha bisogno di connettersi a SharePoint.
- Aggiungi un account per SharePoint (Account – Aggiungi account). Ti serviranno le tue credenziali SharePoint.
- O permettete all'utente Amministratore di default di usare quell'account o create un nuovo utente e permettetegli di usare l'account SharePoint.
- o Clicca sull'opzione Nuova query e poi sul Browser delle connessioni. Individua il connettore SharePoint e aprilo fino ad arrivare a DefaultConnection. Cliccate con il tasto destro su di esso e selezionate Get Connection string. Poi copia la stringa di connessione appropriata. Ti servirà per il tuo codice.
- L'autenticazione del gateway API ha due fasi. Per connettersi a SharePoint, gli utenti devono connettersi a Connect Bridgee poi Connect Bridge ha bisogno di connettersi a SharePoint.
Provare Connect Bridge
Usa l'opzione Nuova query per provare una query che otterrà i dati di cui hai bisogno da SharePoint. Qui andremo con una query di esempio, tuttavia, la query dovrebbe essere adattata a voi ciò che volete da SharePoint.
Una volta selezionata l'opzione Nuova query, apri il Browser delle connessioni.
- Trova il connettore SharePoint e aprilo fino a visualizzare l'opzione Tabelle. Potrai vedere che lo schema contiene una “tabella” denominata Site_Pages.
- Possiamo usare la query SELECT UniqueId, ContentType, Created, Modified, ContentVersion FROM Site_Pages LIMIT 10;
Questo selezionerà le prime 10 voci dall'elenco delle pagine del sito SharePoint.
Si prega di notare che anche se sembra che stiamo usando direttamente un database, non è affatto così. Connect Bridge accede solo all'API e poi presenta i dati come se provenissero da un database. Sentitevi liberi di esplorare un po' qui. Potete anche esplorare le stored procedure disponibili. Una volta che avete la vostra query, copiatela, perché ne avrete bisogno nel vostro codice.
È anche importante notare che, a questo punto, state solo provando le cose. Potete pensare al Management Studio Connect Bridge come al vostro parco giochi. Una volta che si è soddisfatti della query ottenuta, la si usa semplicemente nel proprio codice, come se si stesse accedendo ad un database. È abbastanza semplice.
Per informazioni più dettagliate, potete controllare la documentazione del gateway API che riceverete quando riceverete il vostro prova gratuita. Potete anche controllare i log del gateway API, cosa che in Connect Bridge si fa facilmente usando Connect Bridge Studio di gestione utilizzando l'opzione Administration Center - System - Logs sulla barra di navigazione.
Conclusione e conclusioni
Il concetto di gateway API potrebbe sembrare troppo teorico all'inizio, tuttavia, non è difficile visualizzare i benefici una volta che ci si concentra su uno strumento specifico come Connect Bridge.
- L'accesso è centralizzato sul gateway API, indipendentemente dal numero di sistemi di destinazione
- Non dover imparare nessuna nuova API o linguaggio di programmazione può ridurre gli errori e migliorare la produttività
- La manutenzione è anche centralizzata e isolata - è tutta sul lato del gateway API e non sul tuo codice, con compatibilità in avanti garantita per ogni sistema di destinazione da Connect Bridge stesso (e in realtà anche compatibilità all'indietro se mai ne avessi bisogno)
Se hai commenti o suggerimenti, scrivili nel modulo qui sotto e ti risponderemo al più presto.
Sull'autore

Da Ana Neto, consulente tecnico a Connecting Software.
"Sono un ingegnere informatico dal 1997, con un amore più recente per la scrittura e il public speaking". Avete domande o commenti su questo articolo? Mi piacerebbe avere il vostro feedback, lasciate un commento qui sotto!"



