Fraud Blocker Ontwikkeling Backend For Frontend tbv de DSO viewer | ZZP

Ontwikkeling Backend For Frontend tbv de DSO viewer

Logo van het Kadaster met een gestileerde blauwe letter 'K' naast het woord 'kadaster' in lichtblauwe tekst.

Aanvraagnummer: 5269
Organisatie: Kadaster
Locatie: Kadaster
Uren per week: 36
Tarief: €105 per uur
Regio: Gelderland
Startdatum: 01-01-2025
Optie tot verlenging: 1 x 3 maanden
Sluitingsdatum: 05-12-2024 23:59

LET OP! Deze opdracht is gesloten


Deel deze opdracht
  


Opdracht omschrijving

Omschrijving Beheer en Ontwikkeling IT
Waar loopt de grens tussen uw tuin en die van uw buurman? En welk vastgoed is van wie? Het Kadaster registreert van al het vastgoed (grond en gebouwen) in Nederland wie welke rechten heeft. We hebben heel veel data over alles onder, op en boven de grond en willen maximale waarde halen uit deze data. Naast onze wettelijke taak, beheert het Kadaster ook voorzieningen van andere organisaties, de Landelijke Voorzieningen. Zo beheren wij onder andere de WOZ Landelijke Voorziening en de Basisregistratie Adressen en gebouwen (BAG): alle adressen en gebouwen in Nederland, zoals bouwjaar, oppervlakte, gebruiksdoel en locatie op de kaart.

Algemeen
De uitvoering van de interne bedrijfsprocessen van het Kadaster wordt in grote mate ondersteund door geautomatiseerde informatiesystemen en gegevensbestanden. Ook de dienstverlening aan de klanten van het Kadaster wordt in grote mate ondersteund door systemen die digitale producten en diensten leveren. Goed ingerichte toegangscontrole speelt hierbij een grote rol; ‘wie mag gebruik maken van welke informatiesystemen, diensten en gegevens en om welke reden’ en ‘hoe wordt dit goed beheerd’ zijn belangrijke thema’s die mede bepalen in welke mate de belangen van het Kadaster en de klant worden geborgd en op basis waarvan voldaan kan worden aan wettelijke eisen.


Omschrijving project
Voor de OBO Kadaster zijn wij op zoek naar een full stack software engineer, ter versterking van het DSO Viewer team.

Met de Omgevingswet heeft de overheid de regels voor ruimtelijke ontwikkeling vereenvoudigd en samengevoegd, zodat het bijvoorbeeld makkelijker is om bouwprojecten te starten. De Omgevingswet is een bundeling van 26 wetten en regels over ruimtelijke ordening, wonen, infrastructuur, milieu, water en natuur. Aannemers, ondernemers, overheden en omwonenden kunnen bij één loket snel zien snel wat er mag of mogelijk is in de leefomgeving, Bij hetzelfde loket kunnen meteen vergunningen worden aangevraagd.

De DSO Viewer is de interactieve kaartcomponent in het DSO Omgevingsloket, waar gebruikers kunnen opzoeken welke omgevingsplannen gelden op een bepaalde locatie. Deze plannen zijn te bekijken in samenhang met de omgevingsplannen die in voorbereiding zijn en die in de nabije toekomst gaan gelden. Ook is het mogelijk om plannen te bekijken die in het verleden geldig waren.

De informatie is afkomstig uit twee backend applicaties, OZON en Informatiehuis Ruimte (IHR). OZON valideert, registreert en ontsluit de DSO omgevingsplannen. IHR transformeert de bestemmingsplannen van de oude ruimtelijke wetgeving uit Ruimtelijkeplannen.nl, die in een overgangsperiode nog van toepassing blijft. De informatie uit de twee backends wordt samengevoegd in de applicatie Omgevingsinformatie In Samenhang (OIS) en via de OIS API aangeboden.

De DSO viewer wordt beheerd en ontwikkeld door het Kadaster. Het Kadaster is hierbij ketenpartner in het Digitaal Stelsel van de Omgevingswet (DSO). We zijn samen met andere ontwikkelpartners georganiseerd in operationele beheerorganisaties (OBO’s). De diensten die de verschillende OBO’s ontwikkelen en beheren, vormen de operationele keten van het DSO-LV.

Opdrachtomschrijving
De DSO Viewer is een interactieve kaartviewer, die zwaar leunt op een browser side implementatie van applicatielogica. Omdat deze browser side verwerking een grote impact heeft op de prestaties van de viewer, wordt de BFF gebouwd. BFF staat voor ‘Backend For Frontend’ en moet de performance van de viewer verbeteren. Het bouwen van de BFF heeft de volgende doelen:

  • Dient als reverse proxy tussen de viewer frontend en de backend API’s
  • Aanbieden van een API om fouten in de frontend te kunnen volgen
  • Verrijken, filteren en aggregeren van data tussen de frontend en de backend API’s
  • Ontsluiten van logica die beter passend is in een backend dan in een frontend
  • Caching van data voor gebruik in de viewer

Jouw opdracht bestaat uit twee delen uit te voeren in de periode van 01-01-2025 tot uiterlijk 31-12-2025:

  • Het aansluiten van de BFF op de backend API OIS v2
  • Het verder ontwikkelen van de BFF API voor de DSO Viewer volgens nieuwe specificaties
  • Het overbrengen van complexe applicatielogica van de viewer frontend naar de BFF

Jij bent hiervoor geschikt vanwege je ervaring met Traefik, Loki en LogQL en je kennis van de in het DSO gebruikte informatiemodellen IMRO en IMOW.

Belangrijkste technieken, methoden en tools

  • Java (21);
  • Kotlin;
  • Spring Boot 3;
  • Angular (18);
  • Typescript;
  • OpenAPI;
  • Traefik;
  • Loki, LogQL;
  • Docker, k8s, Azure;
  • Maven, Git, Tekton, ArgoCD;
  • Prometheus, Grafana.

Verantwoordelijkheden

De belangrijkste verantwoordelijkheden zijn

  • Het aansluiten van de BFF op de OIS v2 API
  • Het door ontwikkelen van de BFF API voor de DSO Viewer;
  • Het overbrengen van complexe applicatielogica van de viewer frontend naar de BFF.


De op te leveren resultaten zijn

  • De gerealiseerde aansluiting van de BFF op de OIS v2 API op 31-03-2025;
  • Oplevering van de aangepaste BFF API volgens specificaties op 31-03-2025;
  • Afgeronde migratie van de applicatielogica op 30-09-2025;
  • Goed voorbereide en gedetailleerde stories voor elke sprint;
  • Voor elk kwartaal een realistische sprintplanning;
  • Code van goede kwaliteit, geschreven op een manier dat andere ontwikkelaars dit ook begrijpen;
  • Sonar code score minimaal 3x B (Security, Reliability, Maintainability);
  • Een gedegen testdekking voor je code, minimaal 80%;
  • Documentatie van de producten, als documenten in GIT en als comments in je code.

Beschikbaarheid

De kandidaat is beschikbaar vanaf 01-01-2025 tot en met 30-09-2025 voor minimaal 36 uur per week. De inhuuropdracht kan optioneel worden verlengd met 1x 3 maanden. De opdrachtgever kan de overeenkomst eenzijdig tussentijds opzeggen met een opzegtermijn van één (1) maand. De startdatum is onder voorbehoud van een tijdige afronding van de Offerteprocedure. Dit kan ook betekenen dat de startdatum van de opdracht zal moeten worden opgeschoven. Aan de vermelde startdatum in de Offerteaanvraag kunnen zodoende geen rechten worden ontleend.


Overige eisen

Verplichte opgave van uw gewaarmerkte KVK-uittreksel. Hieruit moet de tekenbevoegdheid van de ondertekenaar van de onderhavige overeenkomst blijken.

U voegt slechts één Nederlandstalig curriculum vitae (cv) van maximaal 5 pagina's A4 toe. Uit dit cv dient te blijken dat u voldoet aan onderstaande eisen. Indien u naar oordeel van het Kadaster niet voldoet aan de gestelde eisen, of uw cv uit meer dan 5 pagina's bestaat, zal uw offerte terzijde worden gelegd en niet worden meegenomen in de beoordeling van de gunningscriteria. Verzoek om het cv in PDF formaat aan te bieden. Onderstaand de eisen waar de kandidaat aan moet voldoen. Per eis (kort) toelichten waarom de kandidaat in uw ogen aan de eis voldoet. Verwijzen naar het CV volstaat niet.

Afgeronde (bachelor) hbo-opleiding of hoger.

Minimaal 8 jaar ervaring met Java ontwikkeling.

Minimaal 5 jaar ervaring met API ontwikkeling en container technologie.

Minimaal 3 jaar ervaring met Kotlin en Angular/Typescript.

Minimaal 1 jaar ervaring met Traefik, Loki en LogQL.

Minimaal 1 jaar recente ervaring met software ontwikkeling in het DSO en met de informatiemodellen IMRO en IMOW.

Taalniveau Nederlands minimaal B2.

Door de kandidaat zélf geschreven CV en motivatie.

Competenties waar de kandidaat over dient te beschikken: • Resultaatgericht; • Helicopterview; • In staat om zelfstandig binnen een organisatie te bewegen en omgevingssensitief; • Communicatief zowel schriftelijk als mondeling sterk; • Proactief en initiatiefrijk; • Analytisch vermogen.


Gunningscriteria

Sortering
Beste prijs-kwaliteitsverhouding
Gewicht van prijs : 20 %
Gewicht van kwaliteit : 80 %
Uitleg gunningscriteria

Uitleg gunningscriteria
Op basis van de beoordeling van het ingediende tarief (prijs) en de kwalitatieve criteria wordt de rangorde van kandidaten samengesteld. Met de drie kandidaten die hierbij het hoogst scoren wordt een verificatiegesprek gehouden. Het verificatiegesprek betreft een toetsing van de ingediende offerte. Naar aanleiding van de verduidelijking, toelichting en eventuele bewijsmiddelen die het kadaster middels het verificatiegesprek heeft verkregen, kunnen scores worden bijgesteld. Hierdoor is het mogelijk dat de rangorde binnen de drie hoogst scorenden wordt aangepast. De hoogste scorende kandidaat, na uitvoering van de verificatiegesprekken komt in aanmerking voor gunning.

De punten toekenning voor het gunningscriterium kwaliteit binnen de beoordelingssystematiek is als volgt:

Score Beoordeling
0 Geen antwoord/invulling
Omschrijving: Onderwerp of aspect is niet beschreven

1 Onvoldoende
Omschrijving: Onderwerp voldoet in zijn geheel niet

2 Matig
Omschrijving: Onderwerp of aspect is niet (volledig) behandeld of voldoet op onderdelen niet aan de wensen van het Kadaster

3 Voldoende
Omschrijving: Onderwerp of aspect is volledig behandeld en sluit aan bij de wensen van het Kadaster. Er is geen sprake van meerwaarde.

4 Goed
Omschrijving: Onderwerp of aspect is volledig behandeld, sluit aan bij de wensen van het Kadaster en bevat enkele positief onderscheidende kenmerken er is sprake van enige meerwaarde

5 Uitstekend
Omschrijving: Onderwerp of aspect is volledig behandeld, sluit aan bij de wensen van het Kadaster, bevat positief onderscheidende kenmerken en overtreft hiermee in ruime mate de verwachtingen van de opdrachtgever. Er is sprake van aanzienlijk meerwaarde.

De EMVI komt als volgt tot stand:

prijs score = ( 1 - ( ( uw prijs - laagste prijs ) / laagste prijs ) ) * 100, maar nooit lager dan 0
kwaliteit score = behaalde kwaliteitspercentage
totaal score = ( prijs score * prijs weging ) + ( kwaliteit score * kwaliteit weging )

Indien er meer informatie wordt gegeven dan gevraagd zal alleen het maximaal aantal toegestane woorden worden beoordeeld. Alle woorden vanaf het maximaal toegestane aantal zullen niet aan de beoordelaars worden doorgegeven.


Gunningscriteria Kwaliteit

30 %

U geeft een beschrijving van uw kennis van en ervaring met ontwikkeling in Java, Kotlin en Angular Typescript en API ontwikkeling en de hierbij relevante tooling (max. 300 woorden, zie ook opdrachtomschrijving en verantwoordelijkheden). Beoordeling: De mate waarin de beschrijving van uw ervaring aansluit bij de wensen van het Kadaster.

30 %

U geeft een beschrijving van uw kennis van en ervaring met container technologie en het implementeren en configureren van Traefik, Loki en LogQL als reverse proxy en voor logging, aggregatie en dashboarding (max. 300 woorden, zie ook opdrachtomschrijving en verantwoordelijkheden). Beoordeling: De mate waarin de beschrijving van uw ervaring aansluit bij de wensen van het Kadaster.

40 %

U beschrijft waarom u voldoet aan de eisen m.b.t. DSO kennis en kunde qua software ontwikkeling, standaarden, modellen en inhoudelijke kennis (max. 300 woorden, zie ook opdrachtomschrijving en verantwoordelijkheden). Beoordeling: De mate waarin de beschrijving van uw ervaring aansluit bij de wensen van het Kadaster.


Gunningscriterium Prijs

Maximaal: € 105,00

Inclusief alle kosten, exclusief BTW.

Competenties te toetsen in interviewfase

Beschrijving (uitleg)

Het verificatiegesprek betreft een toetsing van de ingediende offerte. Waarbij de nadruk ligt op de eisen en de kwalitatieve gunningscriteria.


Interviewfase

Beschrijving (uitleg)

Uitsluitend de Kandidaten die na een schriftelijke beoordeling van de Offertes in de rangorde de plaatsen 1 tot en met 3 innemen, zullen worden uitgenodigd voor een verificatiegesprek.

Indien na de schriftelijke beoordeling van de Offertes blijkt dat er meer dan drie Kandidaten in de rangorde de plaatsen 1 tot en met 3 innemen, zal de score op (sub)gunningscriterium kwaliteit van doorslaggevende betekenis zijn in het bepalen van de definitieve rangorde.

Indien ook in dat geval meer dan drie Kandidaten in de rangorde de plaatsen 1 tot en met 3 innemen, zal het (sub)gunningscriterium prijs van doorslaggevende betekenis zijn in het bepalen van de definitieve rangorde.

Indien ook in dat geval meer dan drie Kandidaten in de rangorde de plaatsen 1 tot en met 3 innemen, zullen alle betrokken Kandidaten worden uitgenodigd voor een verificatiegesprek.

De verificatiegesprekken zullen plaatsvinden op 12 december 2024 via MS Teams. Deze datum staat vast en hier wordt niet van afgeweken.