Last modified: May 15, 2023

Application construction components App Backend

Description of the application construction components for App Backend

In this app template the App Backend is based on ASP.NET Core and is a Web Api application.

The App Backend exposes REST-Api’s consumed by a optional App Frontend and/or external systems / mobile apps. The structure of the API’s is documented here

The diagram below show how the code is structured in different parts.

“App backend diagram”
App backend

Altinn.App.Api

The REST-APIS are implemented in different web-api-controllers and uses attribute based routing to identify the correct operation. The web-api controllers are implemented in a library called Altinn.App.Api and is published to Nuget.

The app template is configured to use this nuget package.

Altinn.App.PlatformServices

Platform services are services that are configured in startup on the app and with help of dependendency injection is available to the API controllers and other code in the app. The services are implemented in a library called Altinn.App.PlatformServices and is published to Nuget.

Altinn.App.Common

In common functionality to read configuration from the docker drive is implemnted and other common functionality. The common functionality are implemented in a library called Altinn.App.Common and is published to Nuget.

App logic

The app logic contains the custom application code that a app developer has generated/created in Altinn Studio or in third party development tools like Visual Studio Code.

Datamodel

The data model in an app is defined as an XSD. From the XSD it is generated a C# representation of that model.

In app backend all data is deserialized/serialized from/to this model when communication with frontend/external systems.

All logic in the app will typical be related to the datamodel. In the future we will support apps with multiple data models.

  • AppLogic events

    The app backend has a defined AppLogic event model that can be used by the app developer to control when logic in the app will run.

  • App Process

    Description of the process handling of App Backend