Cos'è un gateway API

Cos'è un gateway API? | Come può effettivamente fornire risultati pratici

Ana NetoTechnical Leave a Comment

"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: Cos'è il "gateway API"?

Sono felice che tu l'abbia chiesto! Potreste ricordare che il termine API è apparso molto prima del World Wide Web e spero sappiate che API sta per "Application Programming Interface".

Ma più recentemente è apparso un nuovo termine: "gateway API". Suona un po' strano all'inizio, dato che il concetto di API di per sé suggerisce già un gateway. Potrebbe lasciarvi a chiedervi "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, si può anche guardare un API gateway come un reverse proxy specializzato che può far apparire diverse API come se fossero un'unica API.

Una visione a microservizi

Il termine "gateway API" è spesso usato in un contesto di 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.

Diagramma API-Gateway

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 c'è bisogno di limitarsi a una visione del gateway API per microservizi, anche se è quello che si potrebbe chiamare 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 facciataUn gateway API incapsula l'architettura interna dell'applicazione e fornisce un'API ai suoi 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

Immergiamoci in aspetti più pratici e vediamo come possiamo ottenere risultati.

Per questo useremo un gateway API specifico, il nostro gateway di integrazione chiamato Connect Bridge. Pensate a Connect Bridge come a un punto di ingresso unico che "parla" SQL. Questo significa che qualsiasi codice venga utilizzato (e si può andare per 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 ha un "traduttore" (che in realtà chiamiamo "connettore") per ogni applicazione che vogliamo raggiungere tramite l'API. Questo connettore traduce effettivamente le istruzioni SQL in chiamate API.

Usando Connect Bridge, avrete bisogno di meno codice (molto meno - la riduzione può essere di ben 90% a seconda del progetto), il codice sarà più facile da capire e testare, e ridurrete significativamente il numero di bug.

La cosa divertente è che quando lavorate con Connect Bridge, il fatto che usa SQL vi farà pensare che state lavorando con il database del sistema di destinazione, per esempio, il database di Microsoft Exchange. Ma non preoccupatevi, non è così, e l'integrità del database è al sicuro - è un gateway e accede sempre al sistema di destinazione tramite le sue API.

Connect Bridge - come funziona infografica

Passo dopo passo con Connect Bridge come gateway API

  1. Codice della vostra applicazione nuova o legacy
  2. istruzioni CRUD in SQL standard che accedono al sistema di destinazione come se fosse un database
  3. Connect Bridge traduce l'SQL in chiamate API
  4. 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.

Per esempio, diciamo che vuoi usare Java. Bene, allora potete generare una JDBC Connection String, ed ecco che avete un gateway API Java.

Volete usare Node.js? Anche questo va bene, puoi generare una Web Services Connection String e hai 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

Stringhe di connessione Connect Bridge

Prezzi Connect Bridge API Gateway

Connect Bridge è uno strumento a pagamento, con prezzi che variano in termini di numero e tipo di connettori utilizzati e il numero di utenti. Per darvi un'idea generale del costo di questo gateway API, possiamo dirvi che i prezzi partono da 150€/mese. Per maggiori dettagli sui prezzi vai 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.

  1. Richiedi un prova gratuita.
  2. Installare Connect Bridge.
  3. 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 (Accounts - Add account). Avrai bisogno delle 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.

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.

  1. Trova il connettore SharePoint e aprilo finché non vedi l'opzione Tabelle. Potrai vedere che lo schema contiene una "tabella" chiamata Site_Pages.
  2. Possiamo usare la query SELECT UniqueId, ContentType, Created, Modified, ContentVersion FROM Site_Pages LIMIT 10;
    Questo selezionerà le prime 10 voci dalla lista delle pagine del sito del 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.

Ana Neto - Consulente tecnico, Autore

Ana Neto
technical consulente presso Connecting Software

Autore:

Sono un ingegnere del software dal 1997, con un amore più recente per la scrittura e per i discorsi pubblici.  Avete domande o commenti su questo post o su Connect Bridge? Mi piacerebbe avere il vostro feedback!

 ana@connecting-software.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.