Teknisk dokumentation

Teknisk dokumentation - Myndighetsutövning Mark och Exploatering

Här samlar vi länkar till de öppna källkodsrepon på GitHub som tillsammans bygger upp helhetslösningen, samt de API:er som lösningen integrerar med.

Webb-appen

Webb-appen ligger i samma gemensamma repo som webb-apparna för generisk ärendehantering och parkeringstillstånd. Repot innehåller flera webb-appar ("drakar") som byggs från en gemensam kodbas, och mark och exploatering är en av dem - den aktiveras genom att appen byggs med konfigurationen MEX. Frontend är byggd med Next.js/React och backend i Node.js/Express. Backend sköter inloggning via SAML mot kommunens identitetsleverantör (IdP) och all kommunikation med de underliggande API:erna via kommunens API-gateway (WSO2), där applikationen autentiserar sig med OAuth2 (client key/secret).

Liksom parkeringstillstånd bygger mark och exploatering på CaseData - ett kärn-API för myndighetsutövning - och en processmotor (Camunda) som driver ärendet genom processens fastställda steg. Utöver det använder MEX-konfigurationen avtalshantering via Contract, fastighetsinformation via Estateinfo samt fakturering via BillingPreprocessor och BillingDataCollector. Vilka API-versioner webb-appen förväntar sig framgår av README-filen i webb-appens repo (tabellen för MEX).

github.com/Sundsvallskommun/web-app-draken-public

Lösningsarkitektur

Översikt över hur webb-appen, kärn-API:erna, processmotorn, faktureringstjänsterna, master-data och externa system hänger ihop. Pilarna visar anrop. Bilden är härledd från webb-appen, API-listan och respektive API:s beskrivning av vad det i sin tur anropar.

Lösningsarkitektur för Myndighetsutövning Mark och Exploatering: webb-appen anropar kärn-API:erna CaseData, Contract, Party, Messaging, Templating, CaseStatus och Relations, faktureringstjänsterna BillingPreprocessor och BillingDataCollector samt master-data API:erna Citizen, ActiveDirectory, Employee, LegalEntity och Estateinfo. Processmotorn pw-land-and-exploitation driver ärendeprocessen i CaseData. Ansökningar kommer in via Open ePlatform, återkoppling går ut via e-post och SMS, och fakturaunderlag skickas till ekonomisystemet Raindance.
Lösningsarkitektur — från webb-app via kärn-API:er till processmotor, fakturering, master-data och externa system.

API:er som lösningen integrerar med

Webb-appen anropar ett antal API:er via API-gatewayn. Navet är CaseData, som lagrar ärenden, intressenter, utredningar och beslut, medan processmotorn pw-land-and-exploitation (byggd på Camunda) driver ärendet genom processens steg. De flesta API:er finns som öppna repon på Sundsvalls kommuns GitHub. Tabellen nedan beskriver vad varje API gör och länkar till källkoden.

API Typ Beskrivning Källkod
CaseData Kärn-API Navet i lösningen – lagrar och hanterar myndighetsärenden med intressenter, fastigheter, bilagor, utredningar, beslut, anteckningar och full ärendehistorik. api-service-case-data
Contract Kärn-API Generisk tjänst för hantering av avtal av olika typer, till exempel arrendeavtal. api-service-contract
Party Kärn-API Översätter mellan person-/organisationsnummer (legalId) och partyId. api-service-party
Messaging Kärn-API Skickar meddelanden via e-post, SMS, digital brevlåda och fysiska brev – används för återkoppling till intressenter. api-service-messaging
Templating Kärn-API Lagrar och renderar mallar till text och PDF – används bland annat för besluts- och avtalsdokument. api-service-templating
CaseStatus Kärn-API Levererar aktuell statusinformation om ärenden från underliggande system. api-service-case-status
Relations Kärn-API Lagrar relationer och kopplingar mellan ärenden och andra resurser. api-service-relations
BillingPreprocessor Kärn-API Hanterar intern och extern fakturering och skickar underlag till ekonomisystemet (Raindance). api-service-billing-preprocessor
BillingDataCollector Kärn-API Schemalägger och utför faktureringar utifrån underlag i ärendena. api-service-billing-data-collector
PwLandAndExploitation Processmotor Integrerar mot processmotorn Camunda och driver mark- och exploateringsprocesserna – innehåller processdefinitioner och affärslogik som uppdaterar ärendena i CaseData. pw-land-and-exploitation
SimulatorServer Testverktyg Simulatorserver för att testa olika svar (status, fördröjning och svarsinnehåll). api-service-simulator-server

Master-data API:er utan publikt repo

Följande API:er hanterar kommun-specifik master-data och har därför inget publikt repo. För att få dessa på plats krävs en utvecklingsinsats anpassad efter den egna kommunens källsystem.

API Beskrivning
Citizen Medborgarinformation – uppslag och grunddata om privatpersoner, till exempel folkbokföringsadress.
ActiveDirectory Användar- och behörighetsinformation från katalogtjänsten.
Employee Medarbetarinformation, till exempel uppgifter om handläggare.
LegalEntity Information om organisationer och juridiska personer.
Estateinfo Fastighets- och adressinformation, till exempel uppslag av fastighetsbeteckningar.

← Tillbaka till Myndighetsutövning Mark och Exploatering