De WSO2 API Manager is een uniek product, omdat er open source versie van beschikbaar is. Deze versie is voor iedereen gratis te downloaden en te gebruiken. Er bestaat ook een betaalde versie met productondersteuning waardoor je er zeker van bent dat je altijd werkt met de nieuwste en beste versie wat betreft veiligheid en patches. De meeste organisaties geven daarom de voorkeur aan de versie met productondersteuning, maar in deze blog bekijken we hoe je de broncode kunt downloaden en hoe je alles zelf kunt opbouwen. Daarnaast laten we zien hoe je de locatie van de open source versie van de WSO2 API Manager kunt bepalen.
We gebruiken in dit voorbeeld de WSO2 API Manager 3.1, maar de WSO2 API Manager 3.2 versie werkt vergelijkbaar.
GitHub
Alles begint bij de GitHub repository van de API Manager. GitHub is de plek waar WSO2 de broncode van alle versies en producten opslaat. De URL is eenvoudig: https://github.com/wso2
Als je de linkt https://github.com/wso2/product-apim/issues volgt en helemaal naar beneden scrolt tot onderaan de pagina, dan zie je de ‘assets’ en een gecompileerde versie van de WSO2 API Manager 3.1, met daarbij de broncode. Laten we beide downloaden en bekijken wat de verschillen zijn.
Uiteraard is er een verschil in bestandsgrootte: 420 megabyte tegenover 83,3 megabyte. Dit komt door het verschil tussen volledige broncode en gecompileerde code. Door de WSO2 API Manager te unzippen op het bureaublad, kunnen we zien hoe we de versie zelf kunnen compileren.
Als je de bestandsmap van de geünzipte broncode opent, vind je daar een zogenoemd POM-bestand. In dit bestand staan de bouwstenen van het product om je eigen API Manager te compileren. Het POM-bestand wordt gebruikt om het product op de juiste manier op te bouwen, waarbij je kunt denken aan de benodigde modules, repositories en dependencies[MV2] . Om de bouw vervolgens uit te voeren, hebben we een tool zoals Maven nodig. Theoretisch kunnen er ook andere tools kunnen gebruikt worden, maar dan zouden we het POM-bestand moeten herschrijven.
Het product opbouwen
Het bouw-commando is relatief eenvoudig:
mvn clean install -Dmaven.test.skip=true
Dit proces kost wat tijd, omdat het vanzelf alle afhankelijkheden zal downloaden en daarna automatisch de opbouw uitvoert. In totaal kan het zo’n 25 minuten duren.
Het zip-bestand kan gevonden worden onder /opt/wso2/Desktop/product-apim-3.1.0/modules/distribution/product/target
Bestandsgroottes vergelijken
De bestanden hebben dezelfde orde van grootte. Maar wat zijn de verschillen?
We [MV1] gebruiken Meld in Linux om de bestandsmappen te vergelijken.
Het verschil zit in de timestamps van het bestand zelf.
En er zijn bestanden die een timestamp in hun bestandsnaam hebben.
Het lijkt er dus op dat beide sterk op elkaar lijken, behalve in de bovengenoemde verschillen.
Het testen
Om de vers gecompileerde versie te proberen, starten we de WSO2 API Manager door gebruik te maken van het wso2server.sh script om de standaard sample API op te starten. Dit is geen echte test natuurlijk, want om een nieuwe (gedownloade of gecompileerde) versie te testen zouden we normaal gesproken een testplan volgen. Maar om te zien of het werkt, slaan we voor nu alle stappen over en starten de sample API en …
… en het werkt. Nogmaals, dit is geen diepgaande test, maar een snel bewijs van dat de manager werkt.
Als je meer zou willen weten over de WSO2 API Manager of over WSO2 Ondersteuning, laat dan gerust een reactie achter of neem contact met ons op.
Geïnteresseerd in WSO2 Ondersteuning? Vraag een offerte aan!
Contact opnemen
Gepubliceerd op 15 oktober 2020