Ce este un API gateway?

Application Programming Interface sau API este o simplă interfață care permite oricăror două aplicații să comunice între acestea. Majoritatea aplicațiilor moderne sunt făcute să folosească APIs. Odată cu expansiunea acestora, noi infrastructuri sunt necesare pentru securitate, scalabilitate și accelerarea traficului de date.

Un API gateway este un punct de acces care permite comunicarea cu alte aplicații care furnizează APIs. Acestea pot fi monolitice sau bazate pe aplicații cu microservicii.

Astăzi, marile întreprinderi moderne se bazează pe API că să furnizeze cât mai multe facilități clienților.

 

Rolul unui API gateway…

 

În general, rolul unui API gateway este de management. Acesta primește o cerere din partea unui client și îi oferă datele cerute, fără ca acesta să țină cont de lucrurile complicate de implementare a aplicației ce furnizează acel serviciu.

Un API gateway trimite apeluri API, sau requesturi, către locații specifice bazate pe cererile clienților sau în funcție de unele caracteristici. Să presupunem că dorim să vizionăm un documentar pe telefon sau televizor. Aceste două dispozitive le mai putem numi clienți. Ambii clienți se vor conecta la API gateway-ul furnizorului la care dorim să vedem documentarul, însă acestea vor avea apeluri API diferite.

 

De exemplu, versiunea de mobile poate trimite mai puține apeluri către gateway față de cele trimise de televizor. Telefoanele au o bandă mai mică de transmitere a datelor și este esențial ca apelurile API să fie potrivite pentru acest aspect, astfel încât consumul de date să fie redus, însă calitatea imaginii descrește. Pe când la un televizor conectat la un cablu de rețea putem avea transferul de date maxim admis de către furnizor. Prin urmare apelurile API sunt diferite de la dispozitiv la dispozitiv.

 

Gateway-ul de API permite uneia sau mai multor aplicații să mențină o singură legătură cu lumea exterioară sau domeniul public. Acesta se mai numește și API Domain, iar rolul său este să asigure o conexiune de la un client, de exemplu telefonul, către mai multe aplicații sau servicii. Bineînțeles, că nu este constrâns să accepte conexiunea de la un singur client. La același API Domain se pot conecta simultan telefonul, televizorul, brățara fitness, căștile wireless și multe alte dispozitive.

 

 

Facilitează interacțiunea dintre client și aplicație

 

Din perspectiva unui furnizor de servicii, un criteriu important este să îi ofere clientului său o modalitate ușoară de a interacționa cu aplicațiile sale, iar API gateway este forma prin care clientul este decuplat de partea de implementare a acestora. Când un client trimite o cerere, sau request, prin intermediul unui apel API, acesta la rândul său apelează unul sau mai multe apeluri API, în funcție de complexitatea cererii din partea clientului, care acestea au o rută stabilită până în locul de unde pot colecta datele, produc un mesaj de răspuns pentru client și țin cont de multe alte detalii de implementare.

 

 

Ceea ce face cu exactitate un gateway este mai complicat de definit. Acesta poate avea mai multe roluri, în funcție de aplicația creată. Câteva funcționalități comune pot fi autentificarea, monitorizarea, date analitice, alerte, politici, securitate, etc.

 

Având în vedere că integrarea și interconectivitatea aplicațiilor devin din ce în ce mai importante, la fel devin și API-urile. Odată ce API-urile cresc în complexitate și număr, la fel se întâmplă și cu valorile unui API gateway.

 

Te invităm să citești mai multe din articolele noastre:

3 greșeli de evitat când lucrezi de acasă

Ce mai e nou prin java?

10 librării de javaScript pe care merită să le încerci

 

 

 

Surse:

https://www.youtube.com/watch?v=hYgP0cBORVg
https://www.reblaze.com/wiki/api-security/what-is-an-api-gateway/