Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Page Properties
label

Status

Status
colourYellowGreen
titleIn progressdecided

Impact

Status
colourRed
titleHigh

Driver

Edwin Molina (Unlicensed)

Approver

Per Persson 

Contributors

Jari Koponen (Unlicensed) Jenny Stenman (Unlicensed) Mikael Nordlander (Unlicensed)

Informed

Due date

08

Outcome

Alternativ 2 - enkel lösning (vad avser felhantering och hantera rättssäkerhet) som kräver rimlig insats (möjlig att få på plats under Q2 2021) av båda parter.

Bakgrund

OeP kommer att integrera mot APIer som i sin tur skickar vidare felanmälningar och ärenden till verksamhetsspecifika system (ISYcase och ByggR t ex), och på sikt mot vårt generiska processtöd.

Det finns behov av att kunna exponera aktuell status på ett sådant ärende via OeP, och vi behöver besluta om hur detta skall implementeras.

Värt att ta i beaktande är att OeP hittills är den enda identifierade klient som inte kan hämta status vid behov från respektive API utan större ingrepp i lösningen (då beroendet till de 150-isch kommuner som använder OeP idag stökar till det) - vi tittar alltså på en lösning specifikt för OeP med låg sannolikhet för återanvändning mot andra klienter (om vi går på något annat alternativ än alternativ 1 nedan).

Alternativ

Alternativ 1 - “on-demand” 1

OeP läser status från respektive API när status efterfrågas av en intressent (“on demand”) - status för dessa ärenden dubbellagras nödvändigtvis inte i OeP.

Gliffy
imageAttachmentIdatt266502250
macroId89c8b1c1-ca8d-43be-8e0b-423e1c1633d7
baseUrlhttps://sundsvall.atlassian.net/wiki
nameoepStatus1
diagramAttachmentIdatt267419649
containerId267059202
timestamp16170922752161617103676427

Alternativ 2 - “on-demand” 2

Vi etablerar ett standardiserat status-API för all typ av status, som i sin tur hämtar statusar från respektive API. OeP läser status från detta standardiserade APIet när status efterfrågas av en intressent (“on demand”) - status för dessa ärenden dubbellagras nödvändigtvis inte i OeP.

Gliffy
imageAttachmentIdatt266731568
macroIdda91095f-67ca-4a9e-8831-53e9d97fe7f7
baseUrlhttps://sundsvall.atlassian.net/wiki
nameoepStatus2
diagramAttachmentIdatt266436731
containerId267059202
timestamp1617103846840

Alternativ 3 - pollning 1

Vi etablerar en robot som pollar efter statusförändringar och uppdaterar OeP. Status dubbellagras i OeP.

Gliffy
imageAttachmentIdatt267157525
macroId592e8045-db29-41c5-a5e4-68816a38a0bf
baseUrlhttps://sundsvall.atlassian.net/wiki
nameoepStatus4
diagramAttachmentIdatt267124804
containerId267059202
timestamp1617106427212

Alternativ 4 - pollning 2

Vi etablerar något annat, som likt roboten i alternativ 3, pollar efter status och uppdaterar OeP. Status dubbellagras i OeP.

Gliffy
imageAttachmentIdatt267190342
macroId191d16ee-05b4-492e-bf47-73a07eec60bd
baseUrlhttps://sundsvall.atlassian.net/wiki
nameoepStatus5
diagramAttachmentIdatt267550747
containerId267059202
timestamp1617106397109

Alternativ 5 - eventdriven arkitektur

Vi etablerar en generisk lösning för publicering av statusuppdateringar där OeP får konsumera en kö. Status dubbellagras i OeP.

Gliffy
imageAttachmentIdatt267124768
macroIdb41f9cff-af4f-43b2-bf8e-590282780e6d
baseUrlhttps://sundsvall.atlassian.net/wiki
nameoepStatus3
diagramAttachmentIdatt267485187
containerId267059202
timestamp16170926246131617104202358

Sammanfattning

Option Alternativ 1: “On demand” 1

Option Alternativ 2:

Description

Pros and cons

(plus)

(minus)

(plus)

(minus)

Estimated cost“On demand” 2

Alternativ 3: pollning 1

Alternativ 4: pollning 2

Alternativ 5: eventdriven arkitektur

Pros/cons

(plus) I linje med API-strategin - framtidssäkert

(plus) Ingen ytterligare utveckling i API-teamet

(plus) Rättssäkert - vi vet alltid att korrekt status visas då den hämtas från källan

(minus) Initialt integrationsarbete i OeP mot två APIer

(minus) Om ytterligare API som håller status tillkommer krävs ytterligare en integration (låg sannolikhet dock)

(minus) Om ett källsystem ligger nere kan inte status visas (vilket dock är mest rättssäkert)

(plus) I linje med API-strategin - framtidssäkert

(plus) Relativ liten utveckling i API-teamet

(plus) Rättssäkert - vi vet alltid att korrekt status visas då den hämtas från källan

(minus) Utveckling i OeP (dock ett engångsjobb och över tid klart mindre än i alternativ 1)

(minus) Om ett källsystem ligger nere kan inte status visas (vilket dock är mest rättssäkert)

(plus) Ingen påverkan på OeP

(plus) Ingen ytterligare utveckling i API-teamet

(plus) Status kan alltid visas (dock vet man inte om det är korrekt status - inte rättssäkert)

(minus) Ej i linje med API-strategin

(minus) Ytterligare en organisation att synkronisera med (RPA-teamet)

(minus) Lösningar baserat på pollning av data leder i regel till komplexa och över tid svårförvaltade lösningar - ej framtidssäkert

(minus) Ej 100% rättssäkert - vi vet inte om det är rätt status som ligger i OeP

(plus) Ingen påverkan på OeP

(plus) Status kan alltid visas (dock vet man inte om det är korrekt status - inte rättssäkert)

(minus) Ej i linje med API-strategin

(minus) Oklart hur detta skall lösas inom API-teamet - det finns flera alternativ att utvärdera och kommer att kräva tid för analys och design

(minus) Lösningar baserat på pollning av data leder i regel till komplexa och över tid svårförvaltade lösningar - ej framtidssäkert

(minus) Ej 100% rättssäkert - vi vet inte om det är rätt status som ligger i OeP

(plus) Ingen ytterligare utveckling i API-teamet

(plus) En eventdriven arkitektur byggd i moderna ramverk skulle kunna fungera som ett komplement till lösningar byggda i linje med vår API-strategi.

(minus) Ytterst oklart om alla våra källsystem kan publicera event

(minus) Utveckling i OeP (event-lyssnare)

(minus) Oklart vem som faktiskt skall implementera och förvalta en sådan lösning (ett nytt “Eventarkitektur-team” kanske?!)

(minus) Integrationssäkerhetsfrågan måste utredas

(minus) Stor initial kostnad att få infrastrukturen på plats - väldigt tveksamt med nyttan i stort

(minus) Ej 100% rättssäkert - vi vet inte om det är rätt status som ligger i OeP

Kostnadsestimat

API-teamet: 0

OeP:

Status
colourYellow
titleMedium

API-teamet:

Status
colourGreen
titleSMALL

OeP:

Status
colourGreen
titleSMALL

API-teamet: 0

OeP: 0

RPA-teamet:

Status
colourGreen
titleSMALL
/
Status
colourYellow
titleMedium
/
Status
colourRed
titleLarge
?

API-teamet:

Status
colourRed
titleLarge

OeP: 0

API-teamet: 0

Eventarkitektur-team:

Status
colourRed
titleLarge

OeP:

Status
colourYellow
titleMedium

Action items

...

Red
titleLarge
?

Utvärdering

Mycket utveckling i OeP (som dessutom blir Sundsvalls-specifik) då de inte kan använda standardkomponenter för att hantera hämta status som andra API-källor. Stor insats för OeP.

OeP kan hämta status på samma sätt som andra API-källor då vi lägger en fasad mellan OeP, som levererar status på OeP-format, och våra tjänster.

“Enkel” felhantering - antingen går status hämta eller ej.

Rimlig insats för båda parter och bör vara möjlig att få på plats under Q2 2021.

Inte lämplig för RPA som långsiktig lösning - går därför bort.

Stor insats för API-teamet, framförallt för att skapa en säker, feltolerant och effektivt förvaltningsbar lösning - finns ingen möjlighet att få detta på plats förrän tidigast Q4 2021.

Dessutom mycket svårt att få rättssäkert - hur vet man att den status som presenteras är den status som faktiskt är korrekt?!

Källsystemen saknar nödvändig funktionalitet för att kunna skicka event idag,

Actions

Beslut

Alternativ 2 - enkel lösning (vad avser felhantering och hantera rättssäkerhet) som kräver rimlig insats (möjlig att få på plats under Q2 2021) av båda parter.