Last modified: Jul 4, 2024

Architecture

Guider

Vi har delt guidene i to hovedområder basert på bruksområder. For tjenesteeiere Her finner guider om hvordan man som tjenesteier kan integrere seg med Altinn. Dette gjelder flere scenario. Gå til guider for tjenesteiere For sluttbrukersystemer Her finner du detaljerte guider hvordan man kan integrere seg mot Altinn som sluttbrukersystem Gå til guider for sluttbrukersystem »

Infrastructure components

Altinn 3 consists of three different technical solutions to make a complete application development platform. The diagram below shows an simplified overview over the infrastructure components. Infrastructure Altinn 3 is currently deployed to Microsoft Azure. This does not mean that Altinn 3 can’t be deployed to other cloud providers. Below you find details about the different cloud components used. Compute componentsCompute components gives processor power to applications and software. Network componentensAll networking infrastructure is located in Azure. »

Infrastructure management

Over time it is expected that the Altinn 3 platform would consist of hundreds of Kubernetes clusters and other cloud resources. To be able to manage and configure all these cloud resources the architecture that is selected has several capabilities enabled with help of various tools and processes. Infrastructure Configuration and management Capabilities Tools & components For all solutions of Altinn 3 (Altinn Apps, Altinn Platform and Altinn Studio) we use some common tools to configure and manage infrastructure. »

Integration & Data Transport Capabilties

In many ways you can say that Altinn is a integration hub for communication between the citizens, the businesses and the public entities in Norway. integration actors Data flows between the different actors using Altinns. Citizens receives data from the public agencies and sends data to the public agencies Business receives data from the public agencies and sends data to the public agencies Public agencies can share data with other public agencies ++ End-point enablement Applications created in Altinn Studio has build in API for communication with the different actors. »

Integration Components

Gateway Software The gateway used is Azure Application Gateway. This is responsible for forwarding traffic to Api management or direct to the different Kubernetes Clusters. Read more about Azure Application Gateway. Api Management & Gateway Sw Azure API managmenet is used as API management. This is a managed service. Read more about Azure API Management. Data Access Libraries We use various libraries to interact with different data stores. Integration Libraries We use integration libraries to interact with different external and internal components. »

JWTCookieAuthentication

JWTCookieAuthentication is a ASP.NET Core authentication service created for supporting Json Web Tokens (JWT) as bearer tokens and JWT in Cookies. It is based on JWTBearer This is created for scenarios where you have need for APIs that will be accessed from system using bearer tokens and from Single Page Applications (SPA) where you want to protect the JWT from this SPA. (XSS attacks). When JWT is put in a http only cookie it is not accessible from the SPA and can’t be stolen by malicous javascript running in the browser. »

JWT Format

JSON Web Token are an open, industry standard RFC 7519 method for representing claims securely between two parties and are choosen as the bearer of information about users and systems. The format that is choosen for JWT tokens is RSA256. This is a asymetric algorithm where the Authentication component in Altinn Platform generates tokens based on a private key in a certificate, and everyone can validate the token with the public key. »

Kubernetes

Kubernetes is choosen to orchestrate the containers in the different solutions. There are serveral Kubernetes Clusters involved. The solution uses managed Kubernetes Clusters, Azure Kubernetes Services. Setup We use Azure CLI to setup the different Kubernetes Clusters. (Altinn Studio, Altinn Apps and Altinn Platform). This include networking and node setup. Management & monitoring From the Azure Portal we can manage and montitor the Kubernetes Clusters. Nodes We can scale up and down Nodes. »

Logic Executions Components

Code Execution Server Software Application Servers For Altinn Studio, Altinn Apps and Altinn Platform we use Kestrel as the web server/ application server for .NET applications. Read more about Kestrel. For Java Applications we use Tomcat. Language Virtual Machines & Code Containers Applicatons in Altinn Studio, Altinn Apps and Altinn Platform that is based on .NET Core uses Common Language Runetime as a virual machine. Applications in Altinn Apps and Altinn Platform that is based on Java runs on Java Virtual Machine. »