Contact: Roger Wolf - roger.wolf@topicus.nl
Opdracht
Herbouw PHP applicatie functioneel in cloud native Java (met Quarkus en HTMX) Bij Topicus Onderwijs Eduarte gebruiken we een web applicatie om alle 4x40 omgevingen in één opslag te kunnen monitoren op het gebied van beschikbaarheid, langzame requests en langlopende jobs: Requesttijden.
Deze applicatie, geschreven in PHP, scrapet de statuspagina's van onze multi-tenant kernapplicatie en parset die om de status en requesttijden te presenteren in in een HTML pagina. Deze applicatie scrapet alle servers van de geselecteerde omgeving bij elk request, ook bij meerdere gebruikers. Hierdoor is de applicatie traag en redelijk resource intensief.
De bedoeling is om deze applicatie te herschrijven met behulp van cloud native java in de vorm van Quarkus en met frontend bibliotheek HTMX. Beide zijn relatief eenvoudig in gebruik en leiden snel tot resultaten.
Een van de doelen is om de applicatie de omgevingen te laten scrapen in de achtergrond, en de resultaten te cachen. Die gecachte data kan dan gebruikt worden om de frontend te vullen. Voorbeeld gegevens ('123 - klantnaam' is een link naar de klantomgeving): 123 - Klantnaam - 2023.17.4, sha1=21011e6dcf8 Piek sessies - 192 / Live sessies - 192 Gem. request duur - 215 ms. Load average - 0,95 Jobs Running (total): 1, Jobs Queued (total): 0 Export (RUNNING) 23-10-2023 09:54:36 (85).
Als uitbreiding op de opdracht kan het mogelijk zijn om de opgehaalde statistieken in een database op te slaan om zo over tijd rapportages of grafieken in het dashboard te kunnen opleveren. Daarnaast is het de bedoeling dat de applicatie in ons monitoring landschap kan functioneren, en dus kan aangeven of de Requesttijden-applicatie nog gezond is. Tevens moet de applicatie robuust zijn, en configureerbaar.
Technische Constraints/ Wensen
- Java, Quarkus, HTMX, AJAX, CDI, JSoup, HTML parsing,
- Docker, k8s