partnermenu

zoeken binnen de website

Partnerpagina PinkRoccade Local Government

PinkRoccade-logo

Performance-verbeteringen iBurgerzaken

door: Charley Gielken en Jeroen van Bussel

nieuws | 4 april 2022

Wist je dat er op de achtergrond iedere dag wordt gewerkt aan het verbeteren en optimaliseren van deze performance? Charley Gielkens, Business Engineer en Jeroen van Bussel, Architect vertellen je hieronder meer over 2 recente performanceverbeteringen binnen iBurgerzaken release 4.6: aanpassing aan gedeeltelijke datums én de upgrade van Java 11 naar Java 17.

Beeld: Shutterstock

Aanpassingen aan gedeeltelijke datums

In de wereld van computers en programmeertalen worden gegevens altijd opgeslagen als een bepaald type. Van deze type gegevens is maar een heel beperkt setje beschikbaar, waar je alles in moet zien te passen. 3 hiervan zijn relevant om uit te leggen omdat, deze aangeven waarom een gedeeltelijke datum ingewikkeld is én ruimte voor performance verbeteringen biedt. Deze 3 typen zijn:
  • Datums | Voor een computer moet een datum bestaan uit een dag (01-31), maand (01-12) en jaar (1-9999). Probeer je op één van die 3 plekken een 0 in te vullen of een te groot getal? In het beste geval gaat dat niet en in het ergste geval gaan er dingen stuk.
  • Integers | Als het getal niets achter de komma heeft.
  • Strings | Alle tekens die je met je toetsenbord weet te fabriceren, passen in elke willekeurige volgorde hier in.

De oude oplossing die we hier voor hadden omhelsde dat we de dag, maand en jaar los opsloegen als een integer. Daar mag je namelijk alle getallen instoppen die je wil. Vervolgens maakten we nog 2 versies van de datum. Eén om weer te geven op scherm en in documenten als een string, waar we netjes alle fratsen met nullen in kwijt konden. De ander om mee te rekenen, waarbij we een eventuele 0 door een 1 vervangen. En dan nog wat technische boekhouding achter de schermen om het bij te houden, wat voor hier te ver voert.

We hoeven minder te onthouden, waardoor de performance van iBurgerzaken sterk verbetert.

We stapten naar onze leverancier met de vraag om mee te denken over de verbetering. Zoals gebruikelijk stelde dat niet teleur en kwamen ze met een mooie oplossing. Door slim gebruik te maken van een combinatie van code en het modelleerplatform Blueriq, slaan we nu alleen nog één string op met daarin de datum met nullen en één ‘echte’ datum die we altijd kunnen gebruiken om te rekenen. Dit scheelt extra getalletjes en een stuk boekhouding achter de schermen. Oftewel: we hoeven minder te onthouden, waardoor de performance van iBurgerzaken sterk verbetert.

Bij veel zaken is zowel het openen als het wisselen van stap in je proces aanzienlijk versneld. Gemiddeld scheelt dit zo’n 10%. Wat je daarnaast duidelijk gaat merken is het verschil in de velden die je in moet vullen. We vragen je niet langer om een vinkje te zetten waarmee je aangeeft of een datum gedeeltelijk is. Daarnaast verandert de invoer van gedeeltelijke datums van meerdere veldjes, met verschillende instructies per veldje, naar één veld waar je gewoon 00-00-1982 in kunt typen.
We pakken het omzetten van de oude naar de nieuwe wijze stukje bij beetje op. In release 4.1 zijn we al begonnen met meest voorkomende: de geboortedatum van een natuurlijk persoon. Ondertussen hebben we er al 18 omgezet en proberen we elke release één of meer datums mee te pakken.

Upgrade van Java 11 naar Java 17

In iedere iBurgerzaken release werken we diverse technische onderdelen bij in de applicatie. Zie het als een update van alle belangrijke laatste versies die vaak zorgen voor nieuwe functionaliteiten en een betere performance. Denk daarbij aan de laatste versies van Blueriq (het framework dat onder iBurgerzaken ligt) maar ook die van onze ontwikkeltaal Java. Ook op het gebied van beveiliging blijven we uiteraard bij. Datalekken, goede virussoftware en het voorkomen van cyberaanvallen bezorgen veel ICT-deskundigen slapeloze nachten. Keer op keer blijft duidelijk hoe belangrijk het is om bij te blijven, dat werd niet zo lang geleden nog duidelijk met de vastgestelde kwetsbaarheid in de Apache Log4J (een logging component dat op Java draait).

Nog niet zo lang geleden kwam de nieuwste versie van het ontwikkelingsplatform Java uit: versie 17. In Java 17 zitten veel nieuwe features, die de ontwikkelaars van iBurgerzaken helpen om sneller te ontwikkelen. Je kan je zo voorstellen dat onze ontwikkelaars daar blij van worden, het levert daarnaast een betere code op.

Door de upgrade naar Java 17 zijn we in staat de kwaliteit van iBurgerzaken te waarborgen.

Dat betekent niet alleen dat het doet wat het functioneel moet doen, maar dat alles ook snel werkt. iBurgerzaken willen en kunnen we iedere dag nog een beetje beter maken, zodat jouw gemeente de optimale dienstverlening kan bieden. Dat betekent ook nieuwe functionaliteiten erbij bouwen, zonder dat de applicatie daar trager van wordt. We zoeken daardoor altijd naar manieren om te versnellen én tegelijkertijd uit te breiden.

Met loadtesten bekijken wie elke dag en iedere release wat de gemiddelde duur van een klik in een proces is. We simuleren als het ware dat diverse ambtenaren met allemaal verschillend werk in de applicatie werken en daarmee kijken we dan of de applicatie sneller is dan in de vorige release. Onderstaande afbeelding (klik erop om te vergroten) geef het proces huwelijk weer en de verschillende handelingen daarbinnen. Daarin is duidelijk te zien dat de handelingen zijn versneld (donkergroene staven) in release 4.6 ten opzichte van release 4.5 (lichtgroene staven).

Charley Gielkens is, Business Engineer bij PinkRoccade Publiekszaken
Jeroen van Bussel is Architect bij PinkRoccade Publiekszaken

Neem gerust contact op

Heb je na het lezen nog vragen over deze performanceverbeteringen? Neem dan gerust contact met ons op.

Reactieformulier

De met een * gemarkeerde velden zijn verplicht. U ziet eerst een voorbeeld en daarna kunt u uw bijdrage definitief plaatsen. Uw e-mailadres wordt niet op de site getoond. Reacties zonder achternaam worden verwijderd. Anoniem reageren alleen in uitzonderlijke gevallen in overleg met de redactie. U kunt bij de vormgeving van uw reactie gebruik maken van textile en er is beperkt gebruik van html mogelijk.