“Containers bouwen in Java, dat doe je niet overal”

22/07/2020 #vandeinhoud

Back-end samenwerkingstool neerzetten
Ik ben applicatieontwikkelaar bij de afdeling Bestuur en Civiel, het grootste onderdeel van de rechtspraak in Nederland. Daar vallen rechtszaken over echtscheidingen, schuldsaneringen en handels- en arbeidsconflicten onder, maar bijvoorbeeld ook ondercuratelestellingen of asiel- en bewaringszaken. Allemaal dingen met een grote impact op het leven van mensen dus!
Op dit moment ben ik de back-end aan het bouwen van een belangrijke samenwerkingstool voor Bestuur en Civiel. Want rechters, griffiers en andere juridisch medewerkers moeten snel en makkelijk kunnen samenwerken aan zaken. Het digitaal werkdossier, zoals de samenwerkingstool heet, helpt daarbij. Daarmee is het bijvoorbeeld mogelijk om documenten eenvoudig te delen bij de voorbereiding van een rechtszaak.

Stukjes code voor de cloud ontwikkelen
We bouwen de back-end van het digitaal werkdossier met Springboot, een Java-framework waarmee je containers ontwikkelt. Containers zijn stukjes geïsoleerde code, waarin je een applicatie opknipt. Elk stukje voert een deel van de applicatie uit. Dit heet ook wel een microservice-architectuur. De containers draaien los van elkaar in de cloud. In ons geval is dat een private cloud, dus servers in ons eigen datacenter. Containers bouwen in Java gebeurt nog niet overal, dat is een nieuwe ontwikkeling.
Het mooie van containertechnologie is dat bij een hogere belasting van een applicatie de capaciteit automatisch wordt opgeschaald. Een veelgebruikte container wordt dan verschillende keren opgestart, zodat de applicatie de werkdruk beter aan kan. Dus als veel rechtbankmedewerkers er tegelijkertijd gebruik van maken, levert dat geen problemen op.

Asynchrone verwerking technisch best uitdagend
Een andere innovatieve tool is RabbitMQ. Daarmee stellen we gebruikers van het digitaal werkdossier in staat om asynchroon en dus sneller te werken. Dat is technisch best uitdagend. Je moet je voorstellen dat de verschillende partijen die bij een rechtszaak betrokken zijn iedere dag nieuwe documenten aanleveren. Het systeem leest die documenten in en laat er een bewerking op los om ze doorzoekbaar te maken. Met de open source tool Elasticsearch hebben we daarvoor een zoekmachine gebouwd.
RabbitMQ zorgt ervoor dat een gebruiker niet hoeft te wachten tot de bewerking voor de zoekmachine klaar is, maar ondertussen gewoon andere dingen in het systeem kan doen. Omgekeerd verschijnt bij het opvragen van een document meteen de eerste pagina in beeld, terwijl de rest wordt ingeladen. Je zit dus nooit tegen een zandloper aan te kijken.

DevOps helpt je te ontwikkelen
Ontwikkelaar bij IVO zijn is niet alleen interessant omdat je gebruikmaakt van de laatste tools. Je werkt bovendien in een DevOps-team. Dat wil zeggen dat je als developer verantwoordelijk bent en blijft voor de code die je hebt ontwikkeld, dus ook als die in productie is. Als er problemen zijn, moet je die zelf oplossen. Daar groei je van!

Dave Ligthart (38 jaar) studeerde hbo-informatica, gevolgd door bewegingswetenschappen. “Omdat ook in sport en bewegen technologie steeds belangrijker wordt.” Uiteindelijk ging hij toch puur in de informatica aan de slag, bij softwarebedrijf Oracle. Daar leerde hij IVO Rechtspraak kennen. “Ik zat er op een groot project, waarbij IVO heel vernieuwende dingen met Oracle deed. Erg leuk!” Nu werkt hij alweer een jaar of zes voor IVO als applicatieontwikkelaar. Ondertussen stapte hij van Oracle over naar Java-ontwikkeling. Ook daar kan hij zijn hart ophalen met innovatie.