In een eerdere blog kwamen de samples die bij de Enterprise Integrator zitten ter sprake. Dit keer gaan we het hebben over de samples die onderdeel zijn van de Getting Started functie van de Integration Studio. Wat is het voordeel van deze samples ten opzichte van de samples die bij het product zelf zitten? Daar gaan we in deze blog naar kijken.
Zoals je op deze schermafbeelding kunt zien, zijn er verschillende samples beschikbaar. Ze behandelen onderwerpen zoals error handling, working with Docker, JMS, unit testing message transformation enzovoorts.
Wat gebeurt er als we op één van deze icons klikken? Laten we de sample ‘Hello World’ bijvoorbeeld eens bekijken. Waarom nou juist deze? Gewoon, omdat dat meestal als startpunt genomen wordt.
We beginnen met de Service die ‘Hello World’ heet. Hiermee start je direct het proces waarin een project in de Integration Studio aangemaakt wordt. Binnen dat project hebben we een zogenaamde ‘composite exporter’, die ervoor zorgt dat het car-bestand weggeschreven wordt naar de Enterprise integrator. Het is een API die als naam ‘Hello World API’ draagt en bestaat uit een hele simpele payload factory in de responsmediator. Daarnaast laat het ook zien hoe je met dit voorbeeld aan de slag kunt.
Het voordeel van deze sample is dat we niet na hoeven te denken over hoe we een project creëren. Dat wil niet zeggen dat het creëren van een project enorm moeilijk is, maar als je de technologie van de Integration Studio en/of Enterprise Service Bus voor het eerst gebruikt, kan dit het wel makkelijker voor je maken. In deze vorige blog over samples heb ik uitgelegd hoe je dit soort projecten kunt creëren.
Zoals je kunt zien is de API relatief eenvoudig.
De grafische weergave geeft een goed overzicht van de flow. Als we daar meer over willen weten, dan moeten we omschakelen naar de source view.
Nogmaals, de source view laat een respons zien (in JSON) met het beroemde bericht “Hello World” en daarna wordt de respons teruggegeven aan de client.
Als je dit op de enterprise integrator wil runnen, zal die geïnstalleerd moeten zijn. Over het algemeen betekent dat het installeren van JDK 8 of 11, Java_home instellen, de Java installatie als pad toevoegen en het WSO2 product in een map unzippen.
Integration Studio om de enterprise integrator te lanceren
De Integration studio kan gebruikt worden voor de lancering van een Enterprise ntegrator versie. Het voordeel van deze setup is dat de berichten van de console in dezelfde omgeving komen als waar je de tools hebt.
In de samples van de Integration Studio wordt ook precies beschreven hoe je ze in deze omgeving runt. Na de installatie die ik zojuist noemde, kun je op de ‘Add server’ button klikken op het tabblad ‘Getting started’ om de server aan de configuration toe te voegen.
Kies vervolgens voor de juiste versie van de Enterprise Integrator, klik op de knop ‘Next’ en vul de locatie in waar je de Enterprise Integrator geïnstalleerd hebt. In dit geval is het in een submap van de computer op Windows geïnstalleerd. Bij het verwijzen naar deze map zul je er op moeten letten dat de Integration Studio weet waar de benodigde configuraties te vinden zijn om de het product te kunnen starten.
Nadat je dit gedaan hebt, kun je zien dat de server beschikbaar is. De server zit echter in een ander tabblad dan de properties en console tabs, iets wat ik persoonlijk onhandig vind. Ga naar de het tabblad ‘Server’, klik en houd de linkermuisknop ingedrukt om het server-tabblad naar de Properties Console en HTTP-client onderaan het scherm te verslepen. Klik met de rechtermuisknop op Enterprise Integrator server en klik in het menu op ‘Start’. Nu zou het door moeten schakelen naar de console, als dat niet automatisch gebeurt, bekijk dan de informatie die getoond wordt over de opstartprocedure. WSO2 products geven altijd log informatie waarin staat of het opstarten gelukt is, of niet!
Als je ziet dat de management URL op je scherm te zien krijgt, dan weet je dat het product klaar is voor gebruik. Als je de opstartprocedure niet veranderd hebt, zal er ook een browserscherm met de management URL geopend worden, zodat je kunt inloggen op het product.
Met de admin inloggegevens kun je het product als superuser gebruiken en kun je bijna ieder aspect van het product aanpassen. Onthoud dat dit een kant-en-klare installatie is die een zelfondertekende en standaard keystore heeft. Vanwege die verregaande rechten die de admin heeft zal de keystore natuurlijk gewijzigd moeten worden en hetzelfde geldt voor het wachtwoord van de admin user.
We zullen nu de composite exporter, of eigenlijk het onderliggende car-bestand, aan de Enterprise Integrator toe moeten voegen. Dit doen we onder andere door een ‘Context aware’-optie toe te voegen en te verwijderen, die beschikbaar is door rechts te klikken op de Enterprise Integrator 6.6.0.
Als alles goed gaat, ik zou niet weten waarom niet, krijg je nu een berichtje op de console te zien dat de ‘API deployed’ is.
[2021-06-28 13:21:33,889] INFO {org.wso2.carbon.mediation.dependency.mgt.DependencyTracker} - API : HelloWorld was added to the Synapse configuration successfully - [ Deployed From Artifact Container: MyProjectCompositeExporter ]
[2021-06-28 13:21:33,890] INFO {org.apache.synapse.deployers.APIDeployer} - API named 'HelloWorld' has been deployed from file : C:\Users\rob\Desktop\WSO2\wso2ei-6.6.0\tmp\carbonapps\-1234\1624879293853MyProjectCompositeExporter_1.0.0-SNAPSHOT.car\HelloWorld_1.0.0\HelloWorld-1.0.0.xml
[2021-06-28 13:21:33,891] INFO {org.wso2.carbon.application.deployer.internal.ApplicationManager} - Successfully Deployed Carbon Application : MyProjectCompositeExporter_1.0.0-SNAPSHOT {super-tenant}
Dit houdt in dat de API nu klaar is voor gebruik en we hem op verschillende manieren aan kunnen roepen. We hebben de keuze uit Soap UI, Postman, Advanced Rest Client, Curl of zelfs een eenvoudige browser. De reden dat het ook vanuit een browser kan is te vinden in het feit dat we een get-commando gebruiken om informatie op te halen en dat vereist niet dat er een payload verzonden moet kunnen worden. We definiëren dan ook geen parameters voor deze API als we http://localhost:8280/HelloWorld intypen.
We zien de respons in JSON in de browser. Door op ‘Raw data’ en ‘Headers’ te klikken krijgen we meer informatie over het aanroepen van de API.
Conclusie
Er zijn een aantal samples inbegrepen in de Integration Studio omgeving die makkelijk te gebruiken zijn, zelfs zonder al te veel kennis van de Enterprise Integrator en/of de Integration Studio. Daarom zijn ze uitermate geschikt voor nieuwe gebruikers. Het bovenstaande voorbeeld lijkt heel simpel, maar de andere samples zijn uitgebreider en helpen je de principes van de producten doorgronden en wellicht kun je delen ervan aanpassen en gebruiken voor wat jij nodig hebt.