Cubit er den eneste rendyrkede tilsynsplattformen i Norge (og som vi vet om i verden). Vårt klare fortrinn er moderne teknologi og fleksible løsninger som enkelt tilpasser seg våre kunders kontinuerlig endring i behov. Selv om vi har bygd opp en betydelig kompetanse innen de ulike tilsynsområdene er vi teknologer og designere. Det vet vi gjenspeiler seg i løsningen. 



Teknisk beskrivelse av løsningen


Cubit Brann er en skybasert multi-tenant webløsning som kjører i Azure. Løsningen er bygget på moderne rammeverk som gjør at løsningen kan brukes fra ulike enheter og operativsystemer. Løsningen krever at brukeren har en oppdatert og moderne nettleser som støtter nye standarder for webapplikasjoner.


Cubit Brann er en bygd på ASP.NET Core 2.2 med REST-grensesnitt. 


På denne måten er det enkelt å integrere eksterne tjenester/systemer mot Cubit Brann ettersom vi kan bruke samme grensesnitt som brukes internt. Frontendtjenesten er fakturaogså laget i ASP.NET Core 2.2 og GUI i en React + Redux JavaScript stack. Med designelementer fra Googles Material UI. Løsningen hostes i Azure App Service med database-clustere hos MongoDB Atlas. 


Arkitekturmessig er løsningen basert på et “midi service”-rammeverk, noe som gjør at ulike funksjonelle områder er uavhengige av hverandre og har egne databaser. Dette gjør løsningen ekstremt robust da et utfall på én tjeneste, ikke vil påvirke de andre. Det vil si at i har gått for en mellomting mellom et vanlig tradisjonelt system hvor all logikk ligger i en tjeneste, og et mikrotjeneste-rammeverk hvor alt er delt opp i minste bestanddel og da ofte består av 100-vis av tjenester for store systemer. Vi har delt opp etter funksjonelle områder og plattformen består nå av 10 tjenester som har ansvaret for hver sin del av funksjonaliteten, og hvis nødvendig også har hver sin separate datakilde/database.


Det rike REST API-et til plattformen gjør at vi kan koble oss direkte mot andre systemer hos oppdragsgiver og automatisere prosesser.



Det vil settes opp et eget preProd miljø hvor det vil være mulig å teste ut ny funksjonalitet. Cubit benytter ser også av muligheten for å skru av og på funksjonalitet for ulike brukere og tenants ved hjelp av feature switches, slik at ny funksjonalitet enkelt kan konfigureres for hvilket miljø og hvem det skal gjelde. Selve rutinene for deployment til test og produksjon er automatiserte slik at alle våre kunder alltid kjører på samme versjon av programmet.


Systemet er laget som en Single Page Application (SPA). Det vil si at vi gjør et normalt HTTP kall for å hente inn siden, og resten av datatrafikken går som AJAX kall i bakgrunnen etter hvert som brukeren navigerer og gjøre oppgaver i Cubit. Vi henter derfor inn en god del informasjon i forbindelse med innlogging som lagres i LocalStorage og dermed gjør at programmet skal fungere raskt.


Alle oppgaver/endringer som gjøres er også asynkrone, så de vil gi en indikasjon på at de er i gang, men de vil ikke låse systemet mens de er pågående.


Selve plattformen er en multi-tenant plattform, men ulike kunder er isolert med egne databaser for å ivareta datasikkerheten til kundene.



Kvalitet og sikkerhet i løsningen

Kundens forretningsprosesser er enormt viktige for Cubit. Vi har høye kvalitetskrav til all kode som slippes på plattformen, og vi bruker omfattende code review-løsning. Teamet har stor domeneforståelse, og vi regner ca. 6 mnd før en nyansatt blir ansett som “produktiv”.


Datasikkerhet blir håndtert gjennom rollebruk med tydelige avgrensninger. Vi forvalter allerede data til over 1 million sluttkunder for våre nettkunder og andre kunder. Disse er sikret med rollebasert tilgangskontroll, samt at de overføres over HTTPS. Databasene og rapporter i PDF format ligger lagret i Microsoft Azure, og begge deler er satt opp med rollebasert tilgangsstyring. Nøkler og connection keys for å koble til disse ligger ikke tilgjengelig i kildekoden, men ligger kun tilgjengelig som innstillinger i Azure selv. Vi vil derfor ikke miste data om kildekoden skulle komme på avveie. All trafikk til og fra applikasjonen går over HTTPS. Videre finnes det ikke en enkelt database som inneholder “alt”, noe som reduserer datatap betraktelig. 


Kvaliteten sikres også gjennom “continuous development”-metodikk, noe som gjør at vi aldri produksjonssetter nok kode samtidig til å potensielt ta ned løsningen.


Vi benytter utelukkende “feature switches” for funksjonalitet som skal benyttes av et utvalg av kundene våre, slik at vi alltid kan kjøre alle kundene våre på samme versjon av løsningen. Dette gjør vedlikehold av løsningen, og dermed også kvaliteten på løsningen, vesentlig høyere. Se forøvrig bilag C SLA.



Historiske data og import fra andre kilder

I løpet av implementeringsfasen vil Cubit etablere de interne datakildene i Cubit og sette opp synkronisering av disse fra de nasjonale registrene. Matrikkelen og virksomhetsregisteret er de viktigste kildene for oppsettet av Cubit Brann. Utgangspunktet for effektivt arbeid med tilsynsobjekter er korrekte matrikkeldata og oppdaterte virksomhetsdata.


Når dette er på plass kan disse dataene berikes med historiske data fra andre kilder. Dette er data som:


  • Utførte tilsyn

  • Utførte feiinger

  • Gebyr

  • Risikovurdering

  • Historiske dokumenter


Konvertering av historisk data gjøres basert på vedlagt spesifikasjon. Kunde må sikre at data er i gjeldende formater


 Cubit har laget en del automatikk rundt dette arbeidet. Tett involvering med fagpersoner hos kunden er nødvendig for å oppnå kvalitet i dette arbeidet. Se forøvrig spesifikasjon. 


Prosessen starter med å etablere matrikkeldata for kundens område i Cubit Brann. Dette inkluderer eiere og alle bruksenheter, bygninger og eiendommer. Neste steg er å gjøre kopling til røykløp og ildsteder. Erfaringsmessig vil det være røykløp- og ildsteddata som ikke er oppdatert ved endringer i matrikkelen og som krever oppfølging for korrekt registrering. Vi anbefaler alltid kunde å gjøre en for-vask av dataen mot matrikkelen for å sikre at det blir minst mulig merarbeid for partene. 


Siste steg i prosessen er å importere historiske tilsyns- og feierapporter til dataobjektene i Cubit. 



Integrasjoner

Tilsynsplattformen til Cubit er bygget fra grunnen av med et prinsipp om at data for brukerne skal være oppdaterte fra de nasjonale registrene og kjernesystemene til kunden, som er nødvendige for å oppnå kvalitet i tilsynsarbeidet og saksbehandling. Eksempelvis oppdateres Cubit hver natt med oppdatert data fra Brønnøysundregistrene. Vi henter relevante data som er nødvendig for risikovurdering, adresser og annen basisinformasjon for virksomheter.


Av sentrale systemer som Cubit er integrert med i dag kan vi nevne:

  • Enhetsregistret i Brønnøysund

  • Sentrale Matrikkelen

  • TILDA

  • SvarUT - utsendelse av brev enten fysisk eller til elektronisk postkasse

  • Boligmappa - Innhenting av dokumentet tilknyttet boliger.

  • Kontakt og reservasjonsregisteret

  • ID-porten


Cubit har i dag integrasjoner med følgende teknologier:

  • Active Directory

  • Microsoft Graph API

  • REST-tjenester 

  • SOAP-tjenester (ikke preferert)

  • Fil integrasjoner

  • 2-veis SMS kommunikasjon

  • 2-veis epost kommunikasjon

  • JMS

  • Arkivsystemer gjennom GI standard.(NOARK 5)