Logo Delta10

Achtergrond

Technische architectuur

Overzicht van technische architectuur

Frontend, backend en classification

Signalen is opgebouwd volgens de Common Ground informatiearchitectuur- en realisatieprincipes en is opgebouwd uit componenten, waarbij data, services en interactie gescheiden zijn. Signalen kent de volgende componenten:

  • Frontend (interactielaag): Javascript applicatie voor melders + backoffice medewerkers die communiceert met de backend.
  • Backend (servicelaag): Python service die een REST API aanbiedt voor de functionaliteit in Signalen, waaronder het melden en afhandelen van meldingen. Naast de frontend koppelen ook andere externe taakafhandelsystemen via deze REST API.
  • Classification (servicelaag): Python service die een REST API aanbiedt. Deze service classificeert meldingen met behulp van een machine learning model op basis van de meldtekst en plaatst deze in de juiste categorie.

De componenten draaien op een Kubernetes omgeving en worden geïnstalleerd en up-to-date gehouden met behulp van Helm charts.

Opslag

Signalen maakt gebruik van twee typen opslag en zet hiervoor de volgende Azure PaaS diensten in:

  • PostgreSQL database (Azure Database for PostgreSQL): voor de opslag van alle relationele data, zoals
  • Blob store (Azure Storage Account): voor de opslag van bijlagen zoals foto's, CSV exports voor het datawarehouse en het machine learning model.

Afhankelijkheden

De Signalen backend maakt - naast PostgreSQL - gebruik van de volgende externe componenten:

  • Elasticsearch: voor het bijhouden van een secundaire index voor full-text search. Deze secundaire index kan ten alle tijden opnieuw opgebouwd worden op basis van de informatie uit PostgreSQL.
  • RabbitMQ: een message queue waarin achtergrondtaken worden opgeslagen die asynchroon uitgevoerd worden door de backend. Achtergrondtaken zijn onder andere het updaten van de Elasticsearch index en het versturen van een e-mail.

Deze componenten draaien ook op Kubernetes.

Single Sign On (SSO)

Gebruikers kunnen inloggen op de Signalen backoffice via Single Sign On (SSO). Signalen implementeert hiervoor het OpenID Connect protocol en heeft daarom een vertrouwensrelatie met de Identity Provider van de organisatie.

Vorige
Uitgaande e-mail met Office 365 API