Java-specialisten bij de Rijksoverheid

Als ICT’er bij de Rijksoverheid werk je aan uiteenlopende projecten. Van een wifi-verbinding op de snelweg tot het bestrijden van cybercrime. En van het bouwen van apps voor de Belastingdienst tot het starten van een verbeterproces volgens continuous delivery bij de Dienst Uitvoering Onderwijs (DUO). Martijn Straatman, Luuk Buit en Bram van den Hout werken respectievelijk als Java-developer en architect bij de Rijksoverheid. Tijdens J-fall vertellen zij meer over continuous delivery in hun sessies: Continuous Delivery binnen DUO, Web application security voor developers: tooling en best practices en Automatisering van de delivery pipeline tijdens openingstijden van de winkel.

Martijn Straatman

Java-developer Ministerie van Onderwijs, Cultuur en Wetenschap

Iedereen die gestudeerd heeft, is wel bekend met DUO: Dienst Uitvoering Onderwijs. De uitvoeringsorganisatie van het ministerie van Onderwijs, Cultuur en Wetenschap. ICT binnen DUO is onmisbaar: studenten regelen hun zaken zelf via de online selfservice en Duo organiseert school-, staats- en inburgeringsexamens. Martijn Straatman is Java-developer bij DUO: ‘We hebben inmiddels 2500 applicatieservers draaien. Die software schreven we zelf. Daar ben ik echt trots op.’

Nieuwe applicatie

‘Ik begon bij DUO op de helpdesk, waar ik vragen beantwoordde over een softwarepakket dat DUO maakte voor scholen. Daarna werkte ik aan performance tuning van java-applicaties en databases. DUO bouwde de applicatie ‘mijnDUO’. Stel je verwacht dat er 10.000 studenten per uur inloggen, en de inlogtijd maar een halve seconde mag zijn, dan testen wij de haalbaarheid en tunen de applicatie zodanig dat de responsetijden goed genoeg zijn. Van iedereen die iets met een door de Rijksoverheid bekostigde onderwijsinstelling doet, hebben wij gegevens. Denk aan: studieresultaten, diploma’s, vroegtijdig schoolverlaten, leerplichtwet, studiefinanciering: het gaat echt om gegevens van miljoenen mensen.

Java en puppet-code

Vroeger waren ICT-projecten veel meer los van elkaar georganiseerd. Developers maakten een systeem dat na uitgebreid testen werd geïnstalleerd door beheerders. We werken nu veel meer samen in 1 team met 1 gezamenlijk doel. Zo doe ik veel Java-werk, maar schrijf ik ook de Puppet-code zodat we geautomatiseerd systemen kunnen uitrollen.

Continuous delivery We hadden vroeger best veel issues bij DUO. Als we applicaties bouwden, waren de omgevingen zodanig verschillend dat de betrouwbaarheid qua levering niet voldoende was. Het duurde te lang om een applicatie in de lucht te krijgen door verschillen in configuratie. We startten daarom een verbeterproces volgens continuous delivery en devops. Je haalt alle wijzigingen constant door de ontwikkelstraat voordat het in productie gaat en je moet er zeker van zijn dat security gewaarborgd kan worden. Ik werk aan het onderliggende platform daarvoor. Vroeger duurde het 6 weken om de hele testinfrastructuur goed werkend te krijgen, nu nog maar 6 minuten. Naast het vernieuwen van de gehele test – en productie-infrastructuur, zijn we bij DUO bezig met microservices, Spring-boot, Docker, ElasticSearch. Dus ook op dat gebied genoeg vernieuwing.

Next-next-finish

Het leukste bij DUO vind ik niet zozeer dat je met nieuwe producten te maken krijgt, maar dat je met die producten op een creatieve manier aan de slag kan. We bouwen echt iets waar DUO mee vooruit kan. We hebben voor het continuous delivery platform een selfserviceportaal geschreven in Angular, die communiceert met een Java-rest-API, die vervolgens met diverse backends communiceert We hebben daarmee een eigen  continuous delivery platform in elkaar gezet waardoor gebruikers eigen modules kunnen kiezen in het selfserviceportaal. Dan is het alleen nog maar een kwestie van next-next-finish en je eigen omgeving draait, efficiënter kan haast niet.’


Luuk Buit

Jaava-developer Belastingdienst

‘De Belastingdienst wil sneller ontwikkelen en vaker releasen’

Luuk Buit is Java-developer bij de Belastingdienst . Hij werkte eerder aan een platform voor de online aangifte van particulieren en zorgde voor een generieke ondertekenservice. Samen met collega’s maakte hij het component dat DigiD koppelt aan de Belastingdienst waar zo’n 10 tot 15 applicaties gebruik van maken.

FIOD en Douane

‘Ik werk al een behoorlijke tijd bij de Belastingdienst en toch heb ik dat gevoel totaal niet. De Belastingdienst is zodanig groot dat ik op verschillende afdelingen aan verschillende projecten heb gewerkt. Wat mensen ook nog weleens vergeten, is dat bijvoorbeeld de fiscale inlichtingen- en opsporingsdienst –FIOD- en de Douane ook onderdeel zijn van de Belastingdienst. Bij de Douane ontwierp ik een klant-informatiesysteem om de administratieve processen te versimpelen.

Ontwikkelen en snelle release

We werken steeds meer in scrumteams en maken gebruik van devops. Van de strikte verdeling tussen ontwerpers, ontwikkelaars en testers willen we langzaamaan af. Als je sneller wil ontwikkelen en vaker wil releasen, moet je daar als organisatie ook echt op inzetten. Dat betekent wel dat je ICT’ers wil hebben die breed inzetbaar zijn. Ik ben zelf Java-ontwikkelaar. Daarnaast heb ik ook wel applicaties ontworpen en heb me veel bezig gehouden met geautomatiseerd testen.

Open source libraries en frameworks

Ik werk nu aan een project waar de Belastingdienst samenwerkt met Red Hat. We maken een tool en gebruiken daarvoor verschillende bestaande open source applicaties om een scanner te maken die een groot deel van onze eigen software, van platforms als Java, JavaScript, .NET en Xamarin, scant op het gebruik van open source libraries en frameworks. Zo komen we er tijdig achter of er iets niet goed is met deze libraries of frameworks. We zijn inmiddels zover dat een 1e eerste versie van de scanner elke nacht draait. We willen onze ontwikkelteams instructies kunnen geven hoe ze een library moeten upgraden of vervangen. Een heel mooi en nieuw project waar ik al mijn kennis kan gebruiken.’


Bram van den Hout

Architect Java ontwikkelstraat Belastingdienst

‘We richten een geautomatiseerde delivery pipeline in en onderzoeken of we die met Docker kunnen voortbrengen’

Bram van den Hout is architect en Java-specialist bij de Belastingdienst. Zijn team ontwikkelt en onderhoudt een ontwikkelstraat. Met deze gereedschapsset helpt hij ontwikkelaars met vernieuwen en tegelijkertijd standaardiseren van Java-applicaties. Hierdoor kunnen ontwikkelaars sneller en beter werken en blijft tegelijkertijd de continuïteit van de dienstverlening gewaarborgd.

Betrouwbare vernieuwingen

‘De Belastingdienst verwerkt iedere dag miljoenen gegevens van mensen zoals jij en ik en van bedrijven. Daarbij kun je denken aan het vaststellen van de motorrijtuigenbelasting en het omgaan met erfrecht. Niet voor niets staat veiligheid en betrouwbaarheid van deze gegevens bij ons voorop. Aan de andere kant willen we ook vernieuwen en zo efficiënt mogelijk werken. De combinatie van die 2 uitersten: betrouwbaarheid en vernieuwing, prikkelen mij iedere dag weer.

Java ontwikkelstraat

Ik werk als architect aan de Java ontwikkelstraat. We stellen een toolkit samen voor collega’s die Java bouwen en ontwikkelen. We bieden hierin bijvoorbeeld een integrated development environment –IDE- waarmee Java wordt ontwikkeld. Verder richten we een geautomatiseerde delivery pipeline in. We onderzoeken of we die met Docker kunnen voortbrengen. Ook bieden we faciliteiten om de softwarekwaliteit te meten. Zo helpen we ontwikkelaars verder met het voortbrengen van onderhoudbare Java-applicaties. Doen we dat niet, dan kost het meer tijd om nieuwe versies in productie te brengen.

Nieuwe releases

De ontwikkelaars bij de Belastingdienst zijn mijn klanten. In de Java ontwikkelstraat zoeken we naar de optimale manier om Java-applicaties te standaardiseren en de voortbrenging te automatiseren. Het uiteindelijke doel is dat ontwikkelaars sneller nieuwe software opgeleverd krijgen. Spotify bijvoorbeeld doet dat ontzettend snel. Die zetten binnen no-time een nieuwe release neer zonder vóóraf tot in den treure te testen. Zij hebben een testpanel voor de nieuwe features. Omdat wij continuïteit moeten waarborgen, kunnen we niet zo snel leveren, maar we proberen wel mee te gaan in die versnelling.

Ontwikkelmogelijkheden

Ik startte bij de Belastingdienst als C++-ontwikkelaar, groeide door naar Java-specialist en ben nu softwarearchitect. Daarnaast begeleid ik geregeld kennissessies. Ik geloof in kennis delen en elkaar aanvullen en versterken. Onze Java-community  is in de loop der jaren uitgegroeid tot een club van ruim 200 man. In onze kennissessies bespreken we de laatste ontwikkelingen op het gebied van Java. Kennis delen is een manier om jezelf te ontwikkelen en die krijg je bij een grote organisatie als de Belastingdienst.’