Page Properties | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
|
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 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Alternativ 3 - pollning 1
Vi etablerar en robot som pollar efter statusförändringar och uppdaterar OeP. Status dubbellagras i OeP.
Gliffy | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Sammanfattning | Option Alternativ 1: “On demand” 1 | Option Alternativ 2: | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Pros and cons | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Estimated cost“On demand” 2 | Alternativ 3: pollning 1 | Alternativ 4: pollning 2 | Alternativ 5: eventdriven arkitektur | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pros/cons | I linje med API-strategin - framtidssäkert Ingen ytterligare utveckling i API-teamet Rättssäkert - vi vet alltid att korrekt status visas då den hämtas från källan Initialt integrationsarbete i OeP mot två APIer Om ytterligare API som håller status tillkommer krävs ytterligare en integration (låg sannolikhet dock) Om ett källsystem ligger nere kan inte status visas (vilket dock är mest rättssäkert) | I linje med API-strategin - framtidssäkert Relativ liten utveckling i API-teamet Rättssäkert - vi vet alltid att korrekt status visas då den hämtas från källan Utveckling i OeP (dock ett engångsjobb och över tid klart mindre än i alternativ 1) Om ett källsystem ligger nere kan inte status visas (vilket dock är mest rättssäkert) | Ingen påverkan på OeP Ingen ytterligare utveckling i API-teamet Status kan alltid visas (dock vet man inte om det är korrekt status - inte rättssäkert) Ej i linje med API-strategin Ytterligare en organisation att synkronisera med (RPA-teamet) Lösningar baserat på pollning av data leder i regel till komplexa och över tid svårförvaltade lösningar - ej framtidssäkert Ej 100% rättssäkert - vi vet inte om det är rätt status som ligger i OeP | Ingen påverkan på OeP Status kan alltid visas (dock vet man inte om det är korrekt status - inte rättssäkert) Ej i linje med API-strategin 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 Lösningar baserat på pollning av data leder i regel till komplexa och över tid svårförvaltade lösningar - ej framtidssäkert Ej 100% rättssäkert - vi vet inte om det är rätt status som ligger i OeP | Ingen ytterligare utveckling i API-teamet En eventdriven arkitektur byggd i moderna ramverk skulle kunna fungera som ett komplement till lösningar byggda i linje med vår API-strategi. Ytterst oklart om alla våra källsystem kan publicera event Utveckling i OeP (event-lyssnare) Oklart vem som faktiskt skall implementera och förvalta en sådan lösning (ett nytt “Eventarkitektur-team” kanske?!) Integrationssäkerhetsfrågan måste utredas Stor initial kostnad att få infrastrukturen på plats - väldigt tveksamt med nyttan i stort Ej 100% rättssäkert - vi vet inte om det är rätt status som ligger i OeP | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kostnadsestimat | API-teamet: 0 OeP:
| API-teamet:
OeP:
| API-teamet: 0 OeP: 0 RPA-teamet:
| API-teamet:
OeP: 0 | API-teamet: 0 Eventarkitektur-team:
OeP:
|
Action items
...
| |||||
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
- Jari Koponen (Unlicensed) - granska och kommentera
- Mikael Nordlander (Unlicensed) - granska och kommentera
- Jenny Stenman (Unlicensed) - granska och kommentera
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.