Doorzoek website

Wij helpen je graag bij het vinden van de juiste informatie

Senior Java-programmeur

City
De Bilt
Workplace type
Hybride
Deadline
April 30, 2026
Duration
6 months
Hours per week
36 week
Start date
May 15, 2025
Apply now

Application possible in 2 minutes

Functieomschrijving:

De opdrachtgever, het centrum Veiligheid (VLH) van het RIVM, verricht dagelijks metingen o.a. de stralingsdosis en nuclideconcentraties op leefniveau. Het RIVM gebruikt daarvoor verschillende soorten apparatuur die hun metingen insturen naar het centrale meetgegevensplatform RIS.

Voor de juiste interpretatie van de metingen en voor het goed onderhouden van basisinformatie die bij de metingen in het RIS horen, wil het RIVM een beheerapplicatie opzetten.

Via deze website behorende tot de beheerapplicatie kunnen geautoriseerde gebruikers basisinformatie bekijken, aanpassen of invoeren via webpagina’s. Deze informatie wordt vooral opgeslagen in databasetabellen. Informatie betreft bijvoorbeeld informatie over de locaties en de inrichting van de locaties waar apparatuur staat, informatie over de apparatuur zelf (type, datum aanschaf, kalibratiedatum), foto’s, documenten enz. De beheerapplicatie moet tevens informatie presenteren die in het configuratieregistratiesysteem staat. Deze informatie is toegankelijk via een rest-eindpunt.

In de omgeving van de beheerwebsite gebruiken verschillende applicaties de informatie uit deze beheerapplicatie. De toegang tot deze gegevens voor deze applicaties verloopt bij voorkeur via een REST-interface.

Er zijn verschillende verzamelingen met basisinformatie die beheerd moeten worden, bijvoorbeeld de te meten grootheden, de apparatuur of de meetlocaties waarop meetapparatuur geïnstalleerd is. Deze informatie moet via de beheerwebsite inzichtelijk zijn en beheerd worden.

Voor deze opdracht moet worden samengewerkt met eindgebruikers en met technische medewerkers voor bijvoorbeeld de opzet van de applicatie in Kubernetes, voor de samenwerking met het configuratieregistratiesysteem en andere systemen. Samenwerken is in dit project een belangrijke sleutel tot een goede applicatie.

Met deze offerteaanvraag beoogt het RIVM, verder aangeduid als Aanbesteder, specialistische kennis en arbeidscapaciteit te verwerven voor de ontwikkeling van een beheerapplicatie voor basisinformatie voor het meetnet voor radioactiviteit. Aanbesteder zoekt naar een: Senior Java-programmeur met ervaring met Spring-boot, microservices en Angular.

De beheerfunctie wordt als verzameling Java Spring-Boot Linux microservices ontwikkeld die in een Kubernetescluster opgenomen wordt. De services draaien zelfstandig en zijn robuust bijvoorbeeld voor tijdelijke netwerkonderbrekingen. De applicatie koppelt met de centrale gebruikersregistratie voor authenticatie en autorisatie, koppelt met de Postgres-database en/of FROST voor het beheer van de informatie en koppelt met andere applicaties voor het ophalen van informatie (bijv. met het configuratieregistratiesysteem). De website wordt gebruikt vanaf “normale” werkplekken en een rest-interface door andere applicaties.

De webapplicatie wordt opgezet als een enkele frontend met verschillende backends/micro-services voor de verschillende dataverzamelingen (dus een service voor de meetlocaties en een aparte service voor de apparatuur). De backends hebben een REST-interface zodat andere applicaties in het netwerk gegevens kunnen ophalen (niet wijzigen). De informatie wordt via deze rest-eindpunten gepresenteerd als geo+json of json. Deze resteindpunten geven in de regel niet alle informatie weer die via de beheerwebinterface zichtbaar is.

De services worden gebouwd in de GitLab-bouwstraat van RIVM/VLH.

De opdrachtnemer ontwikkelt in nauwe samenwerking met opdrachtgever de beheerfuncties. De opdrachtgever wil regelmatig testen, bijvoorbeeld of de service stabiel functioneert en of de website voldoet aan de wensen. Dit betekent dat opdrachtnemer na de initiële periode waarin een beheerfunctie ontwikkeld is, niet continu aan het project kan werken. De inzet van opdrachtnemer moet daarom met opdrachtgever afgestemd worden.

In dit project zal een aantal functies ontwikkeld worden die opgenomen worden in de beheerwebsite. Een functie zal in een aangesloten periode ontwikkeld worden, waarbij Opdrachtnemer gedurende deze periode aaneengesloten aan het project werkt. Tussen de ontwikkeling van twee functies kan een aantal weken zitten, dit zal in overleg met Opdrachtnemer ingepland worden.

  • Ontwikkeling van een beheerapplicatie voor basisinformatie voor het meetnet voor radioactiviteit.
  • Ontwikkelen van Java Spring-Boot Linux microservices voor opname in een Kubernetescluster.
  • Opzetten van een frontend (Angular) met verschillende backends/micro-services.
  • Koppelen van de applicatie met centrale gebruikersregistratie, Postgres-database/FROST en overige systemen.
  • Ontwikkelen van REST-interfaces (geo+json of json) voor informatie-ontsluiting naar andere applicaties.
  • Samenwerken met eindgebruikers en technische medewerkers (o.a. voor Kubernetes opzet).
  • Bouwen van services in de GitLab-bouwstraat van RIVM/VLH.
  • Regelmatig testen van stabiliteit en functionele wensen.
  • Aanbrengen van kleine wijzigingen en oplossen van bugs (na afronding projectfunctionaliteit).

Over de klant:

De opdrachtgever is het centrum Veiligheid (VLH) van het RIVM. Samenwerken is in dit project een belangrijke sleutel tot een goede applicatie. De inzet vindt plaats in periodes waarbij aaneengesloten aan functies wordt gewerkt, met tussenpauzes voor testen en afstemming.

Eisen:

  • Programmeerervaring in Java met Spring-Boot microservices in Linux-omgeving.
  • Gebruik van Maven (evt. Gradle), integratietesten, unittesten, Liquibase of vergelijkbaar is een basisvereiste.

Wensen:

  • Kennis van en ervaring met de verwerking en weergave van fysische gegevens (temperatuur, druk, lengte enz.).
  • Uitgebreide ervaring met de programmering van websites (Angular).
  • Ervaring met het opzetten van een goede (HATEOAS) rest-interface.
  • Fysische achtergrond is een pré.
  • Aantoonbare ervaring met samenwerking (navragen gebruikersfuncties, afstemmen planning).

Competenties:

  • Samenwerken (erg belangrijk: navragen gebruikersfuncties, geduld tonen bij wachten op anderen).
  • Puzzelen: kandidaat moet het leuk vinden om onbekende informatie uit te zoeken.

Arbeidsvoorwaarden:

Let op: deze opdracht is niet geschikt voor ZZP. Een ZZP-er kan alleen worden ingezet als hij/zij gedurende de contractperiode (inclusief verlengingen) op onze loonlijst komt te staan. Neem contact op voor meer informatie.

Apply now

Application possible in 2 minutes

Armand Koolhoven

Sales Recruiter