Integreer snel en gemakkelijk met de API gateway!

Een API integratie... Hoe gaat dit precies in z'n werk? En hoe laat je applicaties van verschillende data formaten met elkaar communiceren? Lees hier de blog van Leo waarin hij je verschillende onderdelen van het onderwerp API management uitlegt en laat zien hoe dit in eMagiz werkt.

In deze blog

API management is gericht op het eenvoudig en veilig beheren van de wijze waarop API’s (Application Programming Interface) gebruikt worden binnen en buiten de organisatie. API management behelst een brede blik op API’s en ziet API’s niet enkel als een soort technologie, maar ook als een product dat beheerd moet worden en een levenscyclus heeft.

Vaak worden er een aantal vereisten aan API’s gesteld. Zo moet een API vindbaar en toegankelijk zijn in een IT landschap, er moet getest kunnen worden met representatieve data, er moet worden bepaald wie er toegang heeft tot deze data en het gebruik van de API moet kunnen worden gemonitord. Deze inrichting van deze functionaliteit geeft de organisatie controle over de data gedreven diensten die zij levert aan haar klanten. De organisatie kan hierdoor tevens inzicht verkrijgen in het gedrag van klanten en het gebruik van de aangeboden diensten. Het beheer van API’s is uiterst belangrijk voor het succes van uw digitale applicaties en diensten.

Zoals hierboven beschreven is bestaat een API en het beheer ervan uit veel processen en aspecten. In deze blog leggen we de focus op het ‘Integratie’ aspect van API management en bespreken we het transformeren van data middels een API gateway. Transformatie van data is belangrijk omdat IT-landschappen steeds gefragmenteerder worden. Dit leidt tot integratievraagstukken, waarbij applicaties vaak niet dezelfde data formaten of definities hanteren. Transformatiemogelijkheden zijn dan benodigd om applicaties met elkaar te integreren.

Datatransformatie middels een data model

eMagiz biedt een API gateway binnen haar hybride integratieplatform. Middels de API gateway is het mogelijk eenvoudig Open API Specification gebaseerde endpoints op te zetten en integratie scenarios te ondersteunen. De eMagiz API gateway ondersteunt zowel ‘Passthrough’ als ‘Transformation’ type scenarios. Passthrough scenarios zijn situaties, waarin de endpoint direct aan elkaar worden gekoppeld en er geen transformatie proces benodigd is. In een transformation type scenario is er een transformatie van data op content, protocol of formaat niveau benodigd om de endpoints met elkaar te verbinden.

Om transformaties te faciliteren maakt eMagiz vaak gebruik van een Canonical Data Model (CDM). Het CDM is een centraal data model waarin alle toegepaste entiteiten en attributen samenkomen. Door gebruik te maken van het CDM is het makkelijker om te transformaties op te zetten naar meerdere applicaties en zijn integraties beter onderhoudbaar.

Binnen eMagiz werkt een API integratie als volgt: Een API gateway kan een aanvraag (de request), hetgeen data in een bepaalde datastructuur (payload) bevat, ontvangen en vervolgens, al dan niet getransformeerd, aanbieden aan andere systemen die een andere datastructuur verwachten.

De integratie neemt het omzetten van de structuur op zich en valideert de inhoud en structuur zodat het correspondeert met de verwachting van het ontvangende systeem. Dit proces wordt herhaald wanneer het ontvangende systeem een reactie geeft op de aangeboden gegevens. Dit antwoord (de response) wordt omgezet naar de gewenste structuur, zodat het correct ontvangen kan worden en  de integratie compleet is.

Om allerlei soorten transformaties uit te kunnen voeren, maakt het platform gebruik van data gerelateerde integratie componenten, waarmee binnen het platform transformatie flows geconfigureerd kunnen worden (bekijk hier alle transformatie componenten). Veelvoorkomende componenten die in een transformatie worden ingezet zijn:

  • JSON naar XML – Transformeren van request of response body van JSON naar XML.
  • XML naar JSON – Transformeren van request of response body van XML naar JSON.
  • String manipulatie – Vind en vervang delen van een string in de request en response.
  • Maskeer URL’s in de content – Herschrijf links in de response body, zodat deze terugleiden naar een gelijkende link binnen de API Gateway.
  • Backend service – Aanpassen van backend dienst voor elke inkomende request.
  • Set body – Consistent bericht in body voor zowel inkomende als uitgaande requests.
  • Set HTTP header – Toevoegen van een waarde aan bestaande header of het toevoegen van een nieuwe header voor zowel request als response .
  • Set query string parameter – Toevoegen, vervangen of verwijderen van een request query string parameter.
  • Rewrite URL – Het omzetten van een request URL ten behoeve van een verwachte structuur voor een specifieke web service.
  • Transformatie XML met behulp van XSLT – Maak gebruik van een XSL transformatie naar XML in zowel request alsmede response body.

Een voorbeeld:

Om de waarde en het gebruik van een transformatie binnen je landschap met de API gateway  weer te geven schetsen we onderstaande use-case. De use-case betreft het verkrijgen van JSON-formaat data van externe gebruikers en het doorsturen van deze data naar andere interne systemen binnen het landschap. Deze interne systemen vereisen een XML-formaat bericht.

Om data middels de API Gateway te integreren, moet een systeem een endpoint registreren binnen de API gateway. Het endpoint betreft in dit geval een POST operatie. Deze operatie is restful opgezet, hetgeen inhoudt dat de gegevens in een JSON-formaat verstuurd en ontvangen worden.

In de eMagiz low-code flow editor is te zien dat er data binnenkomt middels een opgezet POST endpoint (bijvoorbeeld POST/orders). Nadat de data is ontvangen wordt het getransformeerd naar XML, waarna het middels een mapping omgezet wordt in een nieuwe request structuur, zodat de SOAP service aangeroepen kan worden. Het antwoord wordt vervolgens in XML gegeven, waarna er een tweede transformatie wordt gehanteerd om het XML weer om te zetten naar JSON.

Gebruikers sturen dus JSON en krijgen JSON als response, maar het integratie landschap ontvangt JSON en zet dit vervolgens om naar andere gewenste structuur, het valideert de structuur met het doelsysteem en zet deze door naar het doelsysteem. Door de mapping en bijbehorende transformatie is het dus mogelijk om succesvol gegevens te kunnen afleveren aan elk gewenst systeem binnen uw digitale landschap.

De geïllustreerde use-case is bijvoorbeeld ook toepasselijk voor legacy systemen zoals AS400, waarbij het mogelijk is om berichten binnen te krijgen in JSON-formaat en deze om te zetten naar de gewenste XML-structuur. Deze berichten worden vervolgens aangeboden aan het AS400 systeem, het systeem geeft een XML-bericht terug en deze XML-structuur wordt vervolgens weer omgezet naar een JSON-formaat en de structuur die de API-gebruiker verwacht. Dergelijke transformaties kunnen opgezet worden voor verschillende formaten of protocollen, waaronder oData, grpc, rest, soap.

Kortom, het eMagiz iPaaS platform biedt een uitgebreide gereedschapskist om transformaties binnen je eigen digitale landschap vorm te geven. Het platform is in staat om data op verschillende momenten binnen je keten te transformeren, zowel in batch als in real-time. Door het gebruik van hybride scenarios, waarin een API gateway gecombineerd kan worden met event streaming en message bus functionaliteit, is het altijd mogelijk om data te ontsluiten en naar het juiste formaat te transformeren. Hierdoor kunnen gebruikers eenvoudig en snel integraties realiseren en waarde ontlenen aan hun data.

Heb je vragen over hoe een API gateway van waarde kan zijn binnen jouw integratie landschap, of wil je graag meer weten over hybride oplossingen neem dan contact met ons op of stuur mij een berichtje op LinkedIn.

Door Leo Bekhuis, Software Engineer @ eMagiz

Twitter
LinkedIn
WhatsApp
Email