Applicatieontwikkelaars bouwen digitale postkamer voor Nederlandse rechtbanken

02/12/2021 #vandeinhoud IVO

Bij IVO Rechtspraak bouw je aan digitale systemen voor de Nederlandse rechtspraak. Zoals het digitaliseren van papieren (post)stromen met hoge eisen aan betrouwbaarheid en veiligheid. Als echte ‘backender’ ervaart applicatieontwikkelaar Mark van der Werf het als een omgeving die openstaat voor nieuwe technologie. “We kijken voortdurend naar elkaars ideeën. Onze ontwikkelteams willen ook écht van A tot Z verantwoordelijkheid dragen voor hun product.”

IVO Rechtspraak is een bijzondere werkgever waar mensen met juridische expertise en IT’ers nauw met elkaar samenwerken. De organisatie verricht belangrijk werk als ontwikkelaar en beheerder van digitale systemen voor de Rechtspraak. Die term staat voor alle rechtbanken, gerechtshoven en nog enkele bijzondere colleges zoals de Hoge Raad. Met de laatste technologieën (OpenShift, Azure DevOps, Splunk en Docker) pakt het projecten zo veel mogelijk agile aan, in DevOps-teams met een scrum-aanpak. En als je werkt met onder meer rechtbankdocumenten, waarin veelal zeer gevoelige informatie over betrokken personen staat, zijn privacy en security termen met een grote betekenis. Een voorbeeld is de Digitale Postkamer. Dat is een interne webapplicatie waarmee medewerkers van bijvoorbeeld een rechtbank inkomende en uitgaande berichtenstromen afhandelen en documenten opslaan die de rechtbank nodig heeft in een rechtszaak. “Dat is vaak heel gevoelige informatie, dan kun je je voorstellen dat er geen ruimte is voor het maken van fouten”, zegt Mark.

Postkamer-applicatie

Mark werkt sinds drie jaar bij IVO Rechtspraak. Binnen de organisatie werken verschillende ontwikkelteams. De afdeling van Mark werkt aan eenvoudige, digitale toegankelijkheid en advocaten. In de toekomst is het bijvoorbeeld mogelijk om met je DigId in te loggen bij een rechtbank waarmee je dan je eigen rechtbankdocumenten kunt inzien. Tot voor kort zat Mark in het team dat de Digitale Postkamer verder ontwikkelt. “Het idee achter deze applicatie is dat per zaakstroom en bepaald type recht (bijvoorbeeld jeugd- of familierecht) en per rechtbank en gerechtshof, we de berichtenstromen en de bijbehorende gerechtsdocumenten opslaan bij een rechtbank of gerechtshof. Kenmerkend voor ons werkgebied is dat elke rechtbank en hof en elke zaakstroom wel specifieke eisen heeft. Je kunt daarbij denken aan zaken waarbij er sprake kan zijn een beslaglegging op een auto of bankrekening. Bij dat soort zaken is het belangrijk is dat medewerkers herkennen dat zij bepaalde berichten met spoed moeten behandelen. Wij zorgen er dan voor dat zij dat kunnen herkennen.”

Een interne webapplicatie is een beter werkbaar systeem dan het verzenden van berichten per beveiligde mail of het per post versturen van gerechtsdocumenten. “Met de Digitale Postkamer delen teamleden een ‘inbox’, waarbij ze kunnen zien wat al gelezen is en wie wat oppakt”, aldus Mark. “Behalve dat het om een interne webapplicatie gaat, die dus niet beschikbaar is via het wereldwijde web, zijn gebruikers die inloggen op de Digitale Postkamer geautoriseerd via het Single Sign-On model. De gebruiker gaat vervolgens naar de webapplicatie en heeft daar alleen rechten op zijn of haar eigen niveau. Als je bijvoorbeeld in het team Jeugdrecht zit bij de rechtbank Gelderland, dan kun je alleen berichten en bestanden bekijken en bewerken die ook voor jou bedoeld zijn.”

Generiek maar ook flexibel

De applicatie zelf is in verschillende talen geschreven, vertelt Mark. “De frontend is gemaakt in Angular. De backend hebben we gebouwd met C# in Dotnet, met voornamelijk REST API’s en met Red Hat AMQ als systeem voor het snel afhandelen van berichten waarmee we voor ontkoppeling kunnen zorgen van de API waardoor deze beter beschikbaar is. De microservers voor de applicatie draaien in Linux-containers op OpenShift.”

Een uitdaging voor het Postkamer-team – dat naast de genoemde applicatie ook nog werkt aan een webportaal voor bijvoorbeeld advocaten en burgers – is het bouwen van iets dat generiek genoeg is om meerdere dingen aan te kunnen, maar toch ook kan voldoen aan de specifieke wensen die rechtbanken hebben. “Ook moeten we wat betreft ontwikkeling ervoor zorgen dat we een goede DevOps werkwijze ontwikkelen waarbij je vlot alles kunt deployen. Dat houdt in dat je netjes in CI/CD pipelines werkt met automatisch deployen en testen.” Enkele teams werkten al via bovenstaande werkwijze, maar Marks team moest sommige dingen zelf nog uitzoeken. In dit team zijn verschillende rollen vertegenwoordigd, waaronder product owner, ontwikkelaars, testers, UX-designer en een Site Reliability Engineer (SRE). “We moesten pipelines inrichten en tooling uitkiezen en mensen moesten daar best aan wennen. Bijvoorbeeld testers, die hun activiteiten verlegd hebben van handmatig naar automatisch testen. Wat betreft de tooling hebben we ervoor gekozen om onze code vanuit Azure DevOps op te bouwen en te releasen.”

Meer dan code kloppen

De DevOps spreekt Mark persoonlijk het meeste aan. “Dat je niet alleen functioneel code aan het kloppen bent in dotnet, maar ook de tooling inricht in CI/CD, het realiseert in Azure Devops, het configureert binnen OpenShift en je ook met het testen te maken hebt.” De applicatieontwikkelaar vindt het daarnaast ook leuk om continu met nieuwe technologie te werken, iets wat veelvuldig voorkomt in zijn rol bij IVO Rechtspraak. “Wij maken bijvoorbeeld nu veel gebruik van Splunk als data-analyse tool. Wanneer een foutmelding van een gebruiker binnenkomt, wat van alles kan zijn, bijvoorbeeld een niet-werkende PDF-functionaliteit, dan kunnen we zelf de analyse uitvoeren aan de hand van logging en tests uitvoeren. Ook op die manier ben je problemen die te maken hebben met je product van A tot Z aan het oplossen.”

Inmiddels werkt Mark in een ander team aan de koppeling tussen ketenpartners (bijvoorbeeld de Belastingdienst en grote advocatenkantoren) van de Rechtspraak. “In dat zogenoemde koppelvlak moeten we een slag maken voor het vertalen van berichten naar de Digitale Postkamer. Mijn team is voornamelijk bezig met het inrichten van de backend, waarbij ik nog veel te maken heb met de werkzaamheden van mijn vorige team. Wij roepen bijvoorbeeld door mijn oude team onderhouden componenten aan en werken met hun REST API’s. Mijn ervaringen uit de afgelopen drie jaar neem ik mee naar mijn nieuwe team. Wij zijn bijvoorbeeld bezig met het vervangen van Jenkins door Azure DevOps.”

Leren van elkaar

Van anderen leren en inspiratie opdoen is iets wat in Marks organisatie heel gemakkelijk gaat. “Wij kijken voortdurend naar elkaars ideeën. Mijn focus ligt misschien wat meer op de backend, maar ik vind het leuk om met ‘frontenders’ mee te kijken als zij met Angular bezig zijn. Zij hebben bijvoorbeeld hun code in een mono repository staan, terwijl die van backenders in een poly repo staan. Dan ga je kijken of het misschien voor ons ook toepasbaar is om onze flow efficiënter te maken. Door regelmatig te overleggen met elkaar en te kijken naar projecten waar teams met vergelijkbare tooling werken kun je veel van elkaar leren.”

Essentieel systeem

Behalve de technologie ervaart Mark de missie van zijn organisatie als motiverend in zijn dagelijkse werkzaamheden. “Het klinkt misschien als een dooddoener, maar je werkt wel aan een systeem dat essentieel is voor Nederland. Je kunt als ontwikkelaar vergelijkbaar werk doen voor pakweg een autoverhuur-app, maar dit voelt toch anders.” Openheid voor technologische verbetering én de wil om als ontwikkelteams verantwoordelijkheid te dragen voor een product is kenmerkend voor de houding van zijn collega’s merkt Mark. “Wij willen allemaal volledig zorgen voor de beschikbaarheid van een applicatie. Als eens iets in de avond moet gebeuren, bijvoorbeeld omdat er een melding binnenkomt, dan zijn we gelijk online. Je hoeft echt niet alles meteen zelf te doen, maar bij een storing buiten kantooruren zie je collega’s online al snel de eerste analyses maken of er wordt zelfs al aan een fix gewerkt. Dat zegt wel veel over de organisatie waarin je werkt.”

Meer weten over IVO Rechtspraak of ben je benieuwd naar vacatures die aansluiten bij jouw profiel? Check het hier.