LØRN case C0183 -
LØRN. SME

Erlend Wollan

Systemarkitekt

Axbit

Progressive Web Apps

I denne episoden av #LØRN snakker Silvija med Erlend Wollan og Audun Oterhals Landsvik fra Axbit om Progressive Web Apps kombinert med Event Sourcing. Axbit er et programvareselskap med spesialisering på skreddersydde løsninger, og gjennom samtalen får vi lære om hva Progressive Web Apps er. I podcasten diskuterer også Silvija, Erlend og Audun hvordan Even Sourcing fungerer, og måten teknologien tillater en full sporbarhet i datagrunnlaget på.
LØRN case C0183 -
LØRN. SME

Erlend Wollan

Systemarkitekt

Axbit

Progressive Web Apps

I denne episoden av #LØRN snakker Silvija med Erlend Wollan og Audun Oterhals Landsvik fra Axbit om Progressive Web Apps kombinert med Event Sourcing. Axbit er et programvareselskap med spesialisering på skreddersydde løsninger, og gjennom samtalen får vi lære om hva Progressive Web Apps er. I podcasten diskuterer også Silvija, Erlend og Audun hvordan Even Sourcing fungerer, og måten teknologien tillater en full sporbarhet i datagrunnlaget på.
Facebook
Twitter
LinkedIn
Email

15 min

Choose your preferred format

SS: Hei, og velkommen til Lørn. Mitt navn er Silvija Seres og jeg er i Molde. Jeg skal snakke om progressive web-applikasjoner med to flotte utviklere fra et selskap som heter Axbit, Erlend Waland og Audun Oterhals Langsvik. Velkommen.

EW & AL: Takk.

SS: Det er hyggelig å ha dere her. Kanskje vi aller først skal fortelle veldig kort hva Axbit er? Og hvem dere er?

EW: Axbit er et lite konsulentselskap med kontor i Norge og i Polen. Hovedsakelig består vi av systemutviklere og software-arkitekter. Vi er egentlig ganske fokusert på fremoverlente løsninger. Jeg har jobbet som systemutvikler i Axbit de siste fem årene og vært veldig fornøyd med det. For øyeblikket er det mange progressive web-apps i sammenheng med en annen teknologi som heter Event Sourcing. Det har vært i fokus for min del.

AL: Jeg har nettopp begynt i Axbit, så jeg har ganske kort fartstid i Axbit, men har lang med utvikling av vanlige web-applikasjoner. Da jeg begynte i Axbit, ble det også fokus på progressive web-applikasjoner, og Event Sourcing for min del også.

SS: Hjelp oss med å forstå hva det er for noe. Kan du hjelpe oss med å forstå hva en applikasjon er, hva en web-applikasjon er, og også hva en progressiv web-applikasjon er?

EW: Du har applikasjoner og apps på Android og slikt.

SS: Det er de små ikonene som gjør noe konkret for deg?

EW: Eksakt, men internett er alltid i utvikling, så det har oppstått en slags ideologi som heter progressive web-apps. Det er en ny standard, kan man si. Det har hevet seg til et visst nivå hvor webapplikasjoner eller internettsider kan oppleves som apps, eller som et ikon på en mobil. Og at de fungerer tilsvarende bra. Uten at du må besøke app-store og laste ned appene.

SS: Akkurat. Du snakket om en ideologi som har oppstått? Altså en måte å tenke om programmer på? Er det tilgjengelige biblioteker, eller hva er det som måtte til for å muliggjøre det?

AL: Webben måtte heve seg til et visst nivå. Websider må også fungere offline, for eksempel. Sånn at hvis internett ikke er tilgjengelig, så skal det fortsatt kunne fungere. Det har kommet seg dit, og mer og mer databehandling og slikt.

SS: Prosessering av data?

AL: Egentlig så er det en tilrettegjørelse for mer komplekse applikasjoner.

SS: Er disse dataene data om hvem du er, hvor du er, og sånt? Eller hva slags data er det vi snakker om?

EW: Det spørs helt på applikasjonen. I vårt tilfelle er vi fokusert på offshore, olje, energi og sånt. Et litt dypere ingeniør-domene. Der er det veldig tekniske data.

SS: Hvem i offshore industrien trenger en progressiv web-applikasjon?

EW: Vi har et moderselskap som heter Axess. Og de tilbyr ingeniørtjenester mot offshore olje og energi. Og da må de ofte dra ut på havet. Offshore er det ikke tilgjengelighet for internett eller veldig dårlig tilkobling. Da må de ha applikasjoner som er offline tolerante, sånn at hvis internett detter ut og inn eller ikke fungerer, så fungerer allikevel applikasjonen veldig bra.

SS: Hvordan funker det? Den har jo ikke tilgang til de dataene den trenger?

EW: Du besøker denne websiden eller web-applikasjonen før du drar offshore. Så synkroniserer du dataene. Alt er sømløst for brukeren, og oppleves bare som en hver webside. Så tar du et helikopter ut, og fortsetter å bruke websiden. Det skal fungere like fint. Når den får internett tilkobling igjen, så vil systemet bli synlig for brukeren og kan da sømløst synkronisere dataene tilbake til serveren.

EW: En forutsetning for progressive web-applikasjoner i motsetning til vanlige webapplikasjoner er at du har den nye muligheten til å lagre data lokalt. På den måten kan du jobbe, lagre data og utføre inspeksjoner, som i vårt tilfelle, offshore mens du er offline. Du kan lagre data i applikasjonen, som i praksis da lagres i nettleseren. Den har mulighet til å drive lagring. Når du kommer online igjen, så vil disse dataene bli synkronisert med serveren som finnes på land et sted.

SS: Selv for en dataperson som meg, så er det vanskelig å gjøre dette praktisk tydelig og pedagogisk attraktivt. Det har noe med at vi er innmari avhengig av disse applikasjonene og det å kjenne konteksten, men den forsvinner når vi går av nettet. Og da prøver dere å lage løsninger som fortsatt noenlunde fungerer inntil en viss standard, selv om man ikke har den konteksten? Kan man overforenkle såpass mye?

EW: Ja, det er i bunn og grunn sånn det fungerer.

SS: Når kom Event Sourcing inn i bilde her?

EW: Event Sourcing er egentlig en helt annen teknologi, men vi har valgt å kombinere. Event Sourcing er en database-teknologi. Hvis sporbarhet i dataene er viktige, så kan man løse problemet på en elegant måte med Event Sourcing. Tradisjonelle database-teknologier er måter å lagre data på. Der har du kun siste tilstand av hva det måtte gjelde. Men med Event Sourcing kan du spole frem og tilbake i tid. Og det er et veldig kraftig verktøy, men veldig spesielt når det kommer til komplekse domener, som for eksempel offshore. Der er det veldig strenge krav til data.

SS: Kanskje også kritiske for liv og infrastruktur?

EW: For å kunne utføre audit, se hvordan ting oppstod, så kan du bare spole tilbake og gjøre litt detektivarbeid. Event Sourcing gjør det mye lettere.

SS: Dere snakker om toleranse for tap av data. Hvordan hjelper dere det?

EW: Det har litt med Event Sourcing og hvordan den, i kombinasjon med Progressive Web Apps fungerer sammen. Og hvordan de synkroniserer data. Applikasjonen skal være offline-tolerant. Det skal oppleves som sømløst for brukeren. Du skal ikke behøve å tenke på hvordan dataene flyr frem og tilbake, og den kombinasjonen vi har her muliggjør den opplevelsen.

AL: Hvis to offline klienter skulle jobbet sammen for eksempel, på de samme dataene, så vil alle dataene lagres og du vil ha mulighet til å spore hvilke hendelser som har skjedd. Alt i systemet vil kunne lagres, og vi vil kunne gå gjennom systemet og se hva som har skjedd og hvordan. Det er egentlig summen av alle hendelser som er siste tilstand, og du har tilgang til alt.

SS: Hvor kommer datasikkerhet inn i bildet her?

AL: Datasikkerhet inngår i alt man gjør når man utvikler applikasjoner. I vårt tilfelle, så har du et lagringssted som er internettbasert. Man må sikre dataene, og i vårt tilfelle så handler det også om hvem som har tilgang på dataene når man først er på land. Hvem er det som har tilgang på applikasjonen? Fordi da er den offline, og da har ikke vi på service-siden mulighet til å vite hvem det er som faktisk kan bruke tabletten. Noen kan bruke den uten at vi vet om det.

SS: Kan dere si et par ord om noen spennende prosjekter dere har vært med på? Og har deres geografiske lokasjon her i Molde vært en fordel?

EW: Vi har et moderselskap som heter Axess og de har kontorer på tvers av verden, egentlig. Så vi er ofte i full fart, over alt. Enten det er Thailand eller Texas, men gjennom vårt moderselskap da.

SS: Er det rettet mot energiselskaper eller mer bredt kundegrunnlag?

AL: Vi har primært jobbet mot olje og gass. Det er primært drilling-selskap og inspeksjonsselskap som bruker denne softwaren.

SS: Og da kommer vi inn i en verden hvor folk virkelig har behov for å komme seg offline uten å stoppe jobben.

AL: Tilgangen til internett når du går rundt og inspiserer på en oljerigg er begrenset, så du vil gjerne ha en trådløs tilkobling på kontoret, men når du skal inn i et maskinrom og se etter ting som faller ned eller hva det måtte være. Da har du ingen trådløs tilkobling, og i den sammenheng er det et absolutt krav at man skal kunne jobbe med applikasjonen offline, og den skal fungere på samme måte som om du er online.

SS: Dere bør implementere den på et eller annet vis på NSB.

AL: Det er mange som har samme behovet.

SS: Men jeg tror at mange applikasjoner er avhengig av at det har kontakt med enten det ene type nett eller et annet type nett. Jeg merker det for eksempel med DSM i tunnel. Det er helt håpløst. Det er tre veier å kjøre, og så vet du ikke hvor du skal, fordi den ikke kan fortelle deg hvor du er. Så jeg tror at denne tilgjengelighets-problematikken som dere er borte i, kommer til å være utrolig vesentlig. Jo mer vi lever våre liv gjennom digitale plattformer, desto viktigere blir det å overleve når vi ikke er koblet på.

EW: Ja, og tunnel-eksempelet du ga nå er et ofte brukt eksempel. Det er viktig hvis man er en passasjer og kjører gjennom en tunnel, tar et fly, helikopter eller kommer offshore.

SS: Under vann for eksempel, eller i en gruve.

EW: Ja, og alt det der skal kunne fungere sømløst. Det er et behov for oss som vi må dekke.

SS: Det kan også være relevant i forsvar-situasjoner. Hvor skal vi med dette? Bør vi lære mer om dette, eller er det for spesielt interesserte? Er det relevant i hverdagen til folk?

EW: I forhold til webapplikasjoner, så er jo det istedenfor å måtte besøke app store, og laste ned en app for å kunne besøke et eller annet. Her besøker du en webside, og den laster automatisk opp et ikon på din mobil, og fungerer like godt. Så i forhold til hverdagslige behov, så er dette veldig god teknologi.

AL: For oss utviklere som lager programvarer, så er det viktig fordi det er en mye enklere måte å tilgjengeliggjøre nett på. Hvis du lager en app for ulike plattformer som for eksempel YR, for iPad, iPhone, Android eller hva det måtte være, så må du utvikle den applikasjonen spesifikt for den plattformen. Mens med en progressiv web-app, så lager du bare en versjon som da blir tilgjengelig på alle plattformer. Så det blir helt klart en mye lavere kostnad for å utvikle den applikasjonen.

EW: En kildekode som støtter alle devicer, i motsetning til normale applikasjoner.

AL: Så det er også helt klart en større fordel for oss programutviklere.

SS: Og vedlikehold videre.

AL: Akkurat.

SS: Jeg spurte dere om et sitat, og dere kom med et veldig fint et fra Steve Wozniak. Kan ikke dere gjenta det?

AL: “Never trust a computer that you can’t throw out the window.”

SS: Det må være litt nerdehumor.

EW: Litt nerdehumor måtte være lov, fant vi ut. Det er kanskje vanskelig å relatere den til Event Sourcing og progressive web-apps.

SS: Progressive web-apps er ikke helt hverdagshumor-materiale.

EW: Satt på spissen kan man si at vi tenker mobil og tablet først, men det blir litt på kanten.

SS: Make tablets great again. Hva skal folk huske fra denne samtalen vår?

EW: Progressive web-apps åpner opp for mer funksjonelle og kraftigere web-applikasjoner. De oppleves som native apps, men du slipper å besøke app store, og du slipper å bekymre deg for installasjoner. Selv om Event Sourcing høres veldig kraftig ut, så er det viktig å vite at det er ganske tidkrevende og komplekst å implementere. Hvis du derimot har et veldig komplekst domene, som for eksempel i offshore, olje og energi, så kan det være verdt det. Hvis dataene gir en høy konkurransefordel, så kan man også få en veldig høy return of investment.

SS: Særlig i helse-situasjoner etter hvert. Erlen Wollan og Audun Oterhals Langsvik fra Axbit. Tusen takk for at dere kom hit og lærte oss om den kjempespennende verdenen av progressive web-applications.

Hvem er dere, og hvordan ble dere interessert i det dere holder på med?

Ble interessert i PWA – Progressive Web Apps i den forbindelse å kunne bedre utnytte mobil og tablet-plattformer, samtidig som man ville utnytte eksisterende kunnskap om webteknologi. Event Sourcing ble interessant for oss som en følge av et ønske om full sporbarhet i datagrunnlaget. Dette er særdeles gunstig for komplekse domener som olje, gass og energi.

Hva er det viktigste dere gjør på jobben?

Det viktigste vi gjør er å levere til fastsatt tid programvare som skal tilfredsstille kundens behov, samt de krav som stilles til kunden som sakkyndig virksomhet.

Hva fokuserer dere på?

Offline-toleranse i webapplikasjoner med hensyn til offshore-industrien. Sømløs datasynkronisering mellom flerfoldige brukere.

Hvorfor er det spennende?

Det er nulltoleranse for tap av data, samt at domenet er svært teknisk. Det er stort forbedringspotensiale i offshore-industrien for å modernisere de verktøy som i dag brukes til blant annet inspeksjon ved installasjoner. Bruk av PWA og webteknologi gjør det også lettere å nå ut til flere enheter, samtidig som at vedlikehold av kodebase og driftsmiljø blir forenklet. Siden det er webapplikasjoner oppleves det som en vanlig webside hvor det ikke er behov for installasjon. Det å ha full sporbarhet i datagrunnlaget tilbake i tid er et veldig kraftig verktøy som lar oss stille nye spørsmål i ettertid, samt at det lar oss enkelt utføre audit på systemet.

Hva synes du er de mest interessante kontroverser?

PWA-standarden er relativt ung, og derfor kan den tidvis oppleves som et bevegelig mål. Ulike nettlesere har støttet PWA-standarden i varierende grad. Det at Microsoft har besluttet å skifte nettlesermotor i Microsoft Edge til Chromium oppleves i så måte som en god nyhet.

Hva tror dere er relevant kunnskap for fremtiden?

Datasikkerhet, og en generell bevisstgjøring av temaet.

Hva gjør vi unikt godt i Norge av dette?

Norge har veldig høy standard med tanke på krav til HMS og arbeidsprosesser på offshore-installasjoner, og industrien er generelt sett blitt mer åpen for å ta i bruk ny teknologi.

Et favorittsitat?

Never trust a computer you can’t throw out a window.

Viktigste poeng fra vår samtale?

PWA åpner opp for utvikling av kraftigere og mer funksjonelle webklienter. Event Sourcing muliggjør full sporbarhet i datagrunnlaget.

Erlend Wollan
Systemarkitekt
Axbit
CASE ID: C0183
TEMA: SECTOR RELATED INNOVATION
DATE : 190108
DURATION : 15 min
LITERATURE:
Versioning in an Event Sourced System av Greg Young Generel materiale fra Martin Fowler og Greg Young angående temaene Event Sourcing, CQRS, Cap-Theorem, Domain-Driven Design
YOU WILL LØRN ABOUT:
Progressive Web Apps (PWA)
Event Sourcing Data
QUOTE
"Bruk av Progressive Web Apps (PWA) og webteknologi gjør det også lettere å nå ut til flere enheter, samtidig som at vedlikehold av kodebase og driftsmiljø blir forenklet. PWA åpner opp for utvikling av kraftigere og mer funksjonelle webklienter. Event sourcing muliggjør full sporbarhet i datagrunnlaget."
More Cases in topic of SECTOR RELATED INNOVATION
#C0028
SECTOR RELATED INNOVATION
Hvordan kan naturlige proteiner i kroppen bli til «supermedisin»?

Simone Mester

PhD stipendiat

UiO

#C0027
SECTOR RELATED INNOVATION
Hva er greia med BioTech og krill i Antarktis?

Lotte M. B. Skolem

Director Prod & Tech

Aker Biomarine

#C0026
SECTOR RELATED INNOVATION
Verdens mest avanserte bioraffineri

Oskar Bengtsson

Forsker

Borregaard